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

FFMPEG API:如何使用无损h264编码?,ffmpeg,h.264,Ffmpeg,H.264,使用h264无损编码需要哪些设置?我说的不是ffmpeg命令行工具,而是c api 我设法用有损h264编码视频,但我不知道如何将编码器设置为无损 我用MSVC++编写代码并使用预编译库。我在网上找到了一些.ffpreset文件(例如libx264-lossless_max.ffpreset),它们似乎不是我使用的预编译版本的一部分(至少它们不在presets文件夹中)。我不确定ffpreset文件是否以某种方式编译到库中,或者是否可以以某种方式加载到编码器中?如果是这样,我将如何使用这样的预设

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

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


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

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

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

在ffmpeg命令行中,类似地执行此操作

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


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

除了传递--crf 0: