-an 开关是否会加速 2 次 ffmpeg 编码的第一次传递?

-an 开关是否会加速 2 次 ffmpeg 编码的第一次传递?

我见过许多 2 遍编码示例,它们经常在第一遍中使用 -an 开关。这似乎是因为在第一遍中,只对第二遍使用的日志文件采样视频数据,以创建更高效​​的编码。我在回答时再次注意到了这个开关这个问题我想知道在 2 次编码的第一遍中使用此开关是否会产生任何影响。

答案1

有什麼效果嗎?

是的。使用 -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

我获得了以下输出:

frame= 1799 fps=174 q=0.0 Lsize=       0kB time=00:00:00.00 bitrate=N/A    
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

输出文件为空,未编码任何内容

real    0m10.477s
user    0m12.972s
sys 0m0.188s

然后将生成的日志文件重命名为 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

输出结果为:

frame= 1799 fps=165 q=0.0 Lsize=     505kB time=00:01:00.01 bitrate=  68.9kbits/s    
video:0kB audio:483kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 4.367473%

    real    0m11.088s
    user    0m13.792s
    sys 0m0.156s

因此,使用 -an 运行第一遍似乎要快一点

第一遍日志文件有任何变化吗?diff不。正如预期的那样,日志文件与运行结果 相同。

相关内容