静的な背景と透明度がマージされた一連の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オプションを使用してビデオ作成を取得しました。入力スリットをパイプでつなぎ、その上に画像を適用し、2つの分割フィードをオーバーレイしました!おそらく最も効率的な方法ではありません...しかし、それはうまくいきました!
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