我正在寻找使用一组具有与静态背景合并的透明度的 png 图像创建视频。
经过大量挖掘后,我似乎使用过滤器库绝对有可能。
我最初的不包括背景的视频制作是:
ffmpeg -y -qscale 1 -r 1 -b 9600 -loop -i bg.png -i frame_%d.png -s hd720 testvid.mp4
使用-vf
我可以将背景应用为叠加层:
ffmpeg -y -qscale 1 -r 1 -b 9600 -i frame_%d.png -vf "movie=bg.png [wm];[in][wm] overlay=0:0 [out]" -s hd720 testvid.mp4
然而问题是它在输入上覆盖了背景。根据libacfilter,我可以拆分输入并使用它的内容。我想知道是否可以以某种方式更改叠加顺序?
非常感谢任何帮助!
更新1:
我正在尝试使以下过滤器工作,但我得到的电影没有背景:
ffmpeg -y -qscale 1 -r 1 -b 9600 -i frame_%d.png -vf "movie=bg.png [bg]; [in] split [T1], fifo, [bg] overlay=0:0, [T2] overlay=0:0 [out]; [T1] fifo [T2]" -s hd720 testvid.mp4
更新 2:
使用 -vf 选项制作视频。只需通过管道将输入狭缝应用到其上并覆盖两个分流!可能不是最有效的方法……但它奏效了!
ffmpeg -y -r 1 -b 9600 -i frame_%d.png -vf "movie=bg.png, scale=1280:720:0:0 [bg]; [in] format=rgb32, split [T1], fifo, [bg] overlay=0:0, [T2] overlay=0:0 [out]; [T1] fifo [T2]" -s hd720 testvid.mp4