我需要制作翻转视频并添加 2 个水印,但我的脚本由于某种原因不起作用(该脚本只是翻转视频,但不应用水印)。
ffmpeg -i input.mp4 -i watermark.png -i watermark2.png -filter_complex "hflip;[1:v]scale=iw*0.5:-1[top];[2:v]scale=iw*0.1:-1[top2];[0:v][top]overlay=x=(W-w)/40:y=(H-h)/40[tmp];[tmp][top2]overlay=5:H-h-5" -preset superfast output.mp4
答案1
我们必须hflip
用临时名称(如[v0]
)存储的输出,然后将其用作overlay
过滤器的输入:
ffmpeg -y -i input.mp4 -i watermark.png -i watermark2.png -filter_complex "[0:v]hflip[v0];[1:v]scale=iw*0.5:-1[top];[2:v]scale=iw*0.1:-1[top2];[v0][top]overlay=x=(W-w)/40:y=(H-h)/40[tmp];[tmp][top2]overlay=5:H-h-5" -preset superfast output.mp4
在原始命令中,hflip;
由于没有输出接收器,因此将其映射到输出视频。
默认情况下,FFmpeg 将第一个没有接收器的视频映射到输出。
[0:v]hflip[v0]
- 水平翻转第一个输入的视频,并将结果存储在中[v0]
。[v0][top]overlay...
- 覆盖[top]
于其顶部[v0]
。