4

ffmpeg 在使用选项、和-quality对 VP9 进行编码时有一个设置。这些选项如何影响其他可用的编码选项(例如、、等...)?我在某处读过,会给出大致相同的质量,但后者要快得多。对我来说,这听起来像是质量设置只是更改了其他选项(例如),就好像它们只是预设一样,并且可以手动实现相同的结果。这是真的,还是质量设置会影响我无法使用其他选项更改的内容?bestgoodrealtime-speed-slices-frame-parallel-best-good -speed 0-speed

4

1 回答 1

7

经过更多的在线搜索和一些 libvpx 代码的挖掘,我想我已经弄清楚了。看来ffmpeg-quality命令和命令是一样的-deadline。这些命令不直接影响其他选项,而只是确定允许编码器在任何特定帧上花费的时间量。正如vpx_encoder.hlibvpx 代码中的文件中所述:

编码器支持软实时期限的概念。给定期限参数的非零值,编码器将做出“尽力而为”保证在给定时间片到期之前返回。暗示限制可用的编码时间会降低输出质量。通过指定“0”的最后期限,可以给编码器无限的时间来生成可能的最佳帧。这个截止日期取代了 VPX 的“最佳质量、高质量、实时”概念。希望将这些以前的设置映射到新的基于期限的系统的应用程序可以使用符号#VPX_DL_REALTIME、#VPX_DL_GOOD_QUALITY 和#VPX_DL_BEST_QUALITY。

预设质量的值在此文件中定义为:

- BEST     =       0 Microseconds = Infinite
- GOOD     = 1000000 Microseconds = 1 Second
- REALTIME =       1 Microsecond

默认设置为最佳。

于 2015-05-26T19:20:47.040 回答