1

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

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

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

4

1 回答 1

3

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

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

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

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

如果您想以编程方式执行此操作,只需阅读源代码即可查看我列出的特定选项如何影响 AVCodecContext 结构

于 2012-10-17T12:24:25.373 回答