我在这里有点困惑,无法找到以下问题的答案。是否可以在.png
的单个命令行中将2 Libavfilter
个文件加水印到视频中?
我正在使用此命令行,但我尝试获取第二个PNG图像的所有内容都失败了。
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]" outputvideo.flv
答案 0 :(得分:7)
这当然是可能的,应该看起来像:
ffmpeg –i in.avi -vf "movie=logo1.png [logo1]; movie=logo2.png [logo2]; \
[in][logo1] overlay [tmp]; [tmp][logo2] overlay=50:50" out.flv
两个徽标文件都被读入。一个被覆盖在0,0。然后下一个覆盖在第一个覆盖滤波器输出的50,50处。
使用更新版本的FFmpeg,这个命令可以稍微简单地完成:
ffmpeg -i in.avi -i logo1.png -i logo2.png -filter_complex "overlay [tmp]; \
[tmp] overlay=50:50" out.flv
第一个叠加命令覆盖前两个输入(in.avi和logo1.png),第二个叠加命令自动使用第三个输入(logo2.png)作为其第二个输入。