ffserver 的 AVOptionVideo cpu-used 选项有什么作用?

Cor*_*ryG 3 ffmpeg

我在任何地方都找不到它,但是我看到的大多数 ffserver 配置文件都包含它 - 这是做什么的:

AVOptionVideo cpu-used 0
Run Code Online (Sandbox Code Playgroud)

slh*_*hck 6

这是一个选项,libvpx编码器(谷歌的WebM的编码器)。这是一个特定于编解码器的选项,据我所知没有在任何其他编码器中使用。

-cpu-used 0 似乎是一个很好的默认设置,所以也许这就是人们将它包含在他们的配置中的原因。

-cpu-used只能在-quality设置选项时使用。因此,您可以将其与-quality good或一起使用-quality rt。有关选项列表,请运行ffmpeg -h full并查看该libvpx部分。

以下是设置值的方法。

-quality good

-cpu-used值的范围从0到5。这组编码器的行为相对于速度。

来自VP8 文档

设置--cpu-used=1--cpu-used=2将进一步显着提高编码速度,但将开始对质量产生更明显的影响,并且还可能开始影响数据速率控制的准确性。

将值设置为 4 或 5 将关闭“速率失真优化”,这对质量有很大影响,但也会大大加快编码器的速度。

禁用率失真优化会真正影响质量,因此除非绝对必要,否则不应设置此项。

-quality rt

在这种模式下,CPU/质量权衡由编码器选择。CPU 使用率计算如下:

目标 CPU 利用率 = (100*(16-cpu-used)/16)%

您可以-cpu-used在此处设置0–15。