FFMPEG API:如何使用无损h264编码?

时间:2012-05-01 23:23:38

标签: ffmpeg h.264

使用h264无损编码需要什么设置?我不是在谈论ffmpeg命令行工具,而是关于c api。

我设法使用有损h264编码视频,但我不知道如何将编码器设置为无损。?

我在MSVC ++中编码并使用预编译库。在网上我找到了一些.ffpreset文件(例如libx264-lossless_max.ffpreset),它们似乎不是我使用的预编译版本的一部分(至少它们不在presets文件夹中)。我不确定ffpreset文件是否以某种方式编译到库中,或者它们是否可以以某种方式加载到编码器中?如果是这样,我将如何使用这样的预设文件?

1 个答案:

答案 0 :(得分:3)

您需要设置恒定质量模式,并将所需质量设置为0。 在x264命令行中,这是x264 --crf 0。

  

- crf基于质量的VBR(0-51,0 =无损)[23.0]

在ffmpeg命令行中,这类似地完成了

  

要获得恒定质量(但可变比特率),请使用该选项   当'n'介于1(优质)和31(最差)之间时,'-qscale n'   质量)。

如果你想以编程方式执行此操作,只需阅读源代码以了解我所遇到的特定选项如何影响AVCodecContext结构