FFmpeg:关于filter_complex命令

HJ *_*Kim 2 ffmpeg

我用这个命令。

ffmpeg -i Input.mp4 -i logo.png -c:v h264_nvenc -filter_complex "[0:v]scale=-1:720[video];[1:v][video]scale2ref=(iw/ih)*ih/8/sar:ih/8[wm][base];[base][wm]overlay=10:10" output.mp4

但是,这是什么意思?

scale2ref=(iw/ih)*ih/8/sar:ih/8

Rol*_*ier 5

要理解该-filter_complex语言,有必要阅读ffmpeg 文档的这一小章

您也可以将过滤器描述放入文件中并使用-filter_complex_script <file>.

将过滤器与函数进行比较。参数之间用 分隔:。仅按位置value,否则字典样式name=value。要启动参数列表,您=也可以使用 。

实际数据通过标签传递[<inlabel>]<filter>[<outlabel>]。在过滤器链(由 分隔,)内,标签不是必需的。链由 分隔;

ffmpeg -filters | grep scale2ref

scale2ref将为您提供过滤器 ( )的输入和输出通道VV->VV,即 2 个视频,输入和输出。

ffmpeg -help filter=scale2ref为您提供有关过滤器参数的信息。参数的顺序不是那么明显,因为在本例中w后面跟着width。但wwidth是一样的。所以实际的顺序是width,height输出。

(iw/ih)*ih/8/sar:ih/8是这样width=(iw/ih)*ih/8/sar:height=ih/8

要了解过滤器预定义/预设哪些变量,您需要查看 文档,甚至更好地查看 源代码