ffmpeg的有一个-quality带有选项编码VP9时设置best,good和realtime.如何将这些选项会影响其他可用的编码选项(例如,-speed,-slices,-frame-parallel,等...)?我在某个地方阅读-best并且-good -speed 0会给出相同的质量,后者要快得多.对我来说,这听起来像质量设置只是更改其他选项(如-speed),就好像它们只是预设,人们可以手动获得相同的结果.这是真的,还是质量设置会影响我无法通过其他选项更改的内容?
经过一些在线搜索和一些挖掘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
Run Code Online (Sandbox Code Playgroud)
默认设置为"最佳".
| 归档时间: |
|
| 查看次数: |
2247 次 |
| 最近记录: |