C FFMPEG中如何在不改变视频质量的情况下降低码率

C FFMPEG中如何在不改变视频质量的情况下降低码率,c,encoding,ffmpeg,C,Encoding,Ffmpeg,我正在使用FFC库。我正在使用修改过的示例对视频进行编码。当我控制比特率(如1080 x 720-比特率680k)时,视频质量会逐帧降低。但同一图像我使用FFMPEG命令行工具对同一比特率680k图像进行编码,图像质量不变 相同图像和比特率编码视频质量降低的原因是什么?使用C API进行编码的原因是什么?命令行工具没有改变质量的原因是什么 我使用: 命令行参数: ffmpeg-framerate 5图像%d.jpg-c:v libx264-b:v 64k-pix\u fmt yuv420p o

我正在使用FFC库。我正在使用修改过的示例对视频进行编码。当我控制比特率(如1080 x 720-比特率680k)时,视频质量会逐帧降低。但同一图像我使用FFMPEG命令行工具对同一比特率680k图像进行编码,图像质量不变

相同图像和比特率编码视频质量降低的原因是什么?使用C API进行编码的原因是什么?命令行工具没有改变质量的原因是什么

我使用:

命令行参数:

  • ffmpeg-framerate 5图像%d.jpg-c:v libx264-b:v 64k-pix\u fmt yuv420p out.mp4
Muxing.c(已修改)编解码器设置:

  • fps=5
  • CODEC_ID=H264(libx264)
  • Pixel_fmt=yuv420
  • 图像解码器=MJPEG
  • 比特率=64000
在muxing.c中,视频大小相同,但质量逐帧降低 但同样的比特率视频质量是完美的


请提供如何使用FFMPEG C API在不改变质量的情况下降低比特率。

您能否发布代码示例,因为我认为您应该指定编码配置文件。或者,您可以跟踪FFMPEG命令行工具如何使用libavcodec/libavformat API,并将其与您自己的方法进行比较。请查看[H264指南]()。我想区别在于量化因子和libx264的预设。