我看过许多 2-pass 编码示例,它们经常在第一遍使用 -an 开关。这似乎是因为在第一次通过时,只有视频数据被采样用于第二次通过的日志文件,以创建更有效的编码。我在回答这个问题时再次注意到这个开关,我想知道在 2 遍编码的第一遍中使用这个开关是否有任何影响。
我看过许多 2-pass 编码示例,它们经常在第一遍使用 -an 开关。这似乎是因为在第一次通过时,只有视频数据被采样用于第二次通过的日志文件,以创建更有效的编码。我在回答这个问题时再次注意到这个开关,我想知道在 2 遍编码的第一遍中使用这个开关是否有任何影响。
有什么影响吗?
是的。使用 -an 开关会导致 ffmpeg 跳过处理音频流。
有什么积极的好处吗?
是的,处理时间明显减少。我用了 60 秒的 mp4 源剪辑进行测试并发出了命令
time ffmpeg -i input.mp4 -y -an -c:v libvpx -quality best -b:v 225k -qmin 10 -qmax 42 -maxrate 300k -bufsize 1000k -threads 4 -pass 1 -f webm /dev/null
我获得了以下输出:
输出文件为空,未编码任何内容
然后重命名生成的日志文件 an.log 以便稍后进行比较。
我在没有 -an 开关的情况下再次运行命令,如
time ffmpeg -i input.mp4 -y -c:v libvpx -quality best -b:v 225k -qmin 10 -qmax 42 -maxrate 300k -bufsize 1000k -threads 4 -pass 1 -f webm /dev/null
结果输出是:
所以看起来使用 -an 运行第一遍会快一点
第一次通过日志文件有任何更改吗? 不。正如预期的那样,日志文件与
diff
在它们上运行所证明的相同。