ffmpeg使用-lavfi或-filter_complex时的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ffmpeg使用-lavfi或-filter_complex时的区别相关的知识,希望对你有一定的参考价值。

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

ffmpeg: 如何将16: 9的水平视频转换为9: 16的垂直视频,上下两边背景模糊。

一个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

结果是一样的,也没有发现perf的变化。

使用这两种标志时有什么不同吗?

答案

FFmpeg文件:

-定义一个复杂的滤波图,即一个具有任意数量的输入和输出的滤波图。相当于 -filter_complex.

以上是关于ffmpeg使用-lavfi或-filter_complex时的区别的主要内容,如果未能解决你的问题,请参考以下文章

视频特效-使用ffmpeg滤镜

视频特效-使用ffmpeg滤镜

视频特效-使用ffmpeg滤镜

ffmpeg命令行示例

ffmpeg显卡快速压制单/双语字幕视频

ffmpeg显卡快速压制单/双语字幕视频