使用 -lavfi 或 -filter_complex 时的 ffmpeg 差异

ffmpeg difference when using -lavfi or -filter_complex

我最近开始使用ffmpeg。我一直只使用 -filter_complex 标志来应用过滤器。我偶然发现了这个 SO 问题:

一个 ffmpeg 维护者使用 -lavfi 标志回答了它:

ffmpeg -i input.mp4 -lavfi "[0:v]scale=iw:2*trunc(iw*16/18),boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,setsar=1" output.mp4

我试图将 -lavfi 标志更改为 -filter_complex:

ffmpeg -i input.mp4 -filter_complex "[0:v]scale=iw:2*trunc(iw*16/18),boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,setsar=1" output.mp4

结果是一样的,没有注意到性能变化。

使用这两个标志有区别吗?

来自FFmpeg documentation

-lavfi filtergraph (global) Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or outputs. Equivalent to -filter_complex.