「回転」フィルターを使用してアニメーション化した後、ビデオに複数の画像をオーバーレイしようとしています。アニメーションを少し任意にするために回転フィルターでtパラメーターを使用しているので、入力ビデオにループとしてフラグを立てる必要がありました(-loopフラグを使用)。問題は、単一のオーバーレイのみを実行すると、期待どおりの結果が得られることですが、2番目のオーバーレイがコマンドに含まれると、突然終了し、空の出力ビデオが生成されます。以下は私が使用しているコマンドです:
ffmpeg -y -i template.mp4 -loop 1 -i Image_1.jpg -i Image_2.jpg -filter_complex " \
[1:v]scale=186:136[scaled1]; \
[scaled1]format=rgba,colorchannelmixer=aa=0.7[transp1]; \
[transp1]rotate=20*sin(2*PI/(t-9)):c=0xFFFFFF00:ow=250:oh=250,fade=in:st=1:d=5[ANIM_F1]; \
[2:v]scale=136:186[scaled2]; \
[scaled2]format=rgba,colorchannelmixer=aa=0.7[transp2]; \
[transp2]rotate=20*cos(2*PI/(t-9)):c=0xFFFFFF00:ow=250:oh=250,fade=in:st=1:d=5[ANIM_F2]; \
[0][ANIM_F1] overlay=x=1:y=190:shortest=1:enable='between(t,5,15)'[PHASE1]; \
[PHASE1][ANIM_F2] overlay=x=480:y=380:shortest=1:enable='between(t,10,20)'[out]" \
-map [out] output.mp4
このセクションで、
-i template.mp4 -loop 1 -i Image_1.jpg -i Image_2.jpg
ビデオはループされておらず、最初の画像はループされており、2番目の画像はループされていません。2番目の画像はループされていないため、回転フィルターまたはオーバーレイフィルターには1つのフレームしかありません。ビデオが20秒より長いと仮定すると、2番目の画像をループする必要があります。
-i template.mp4 -loop 1 -i Image_1.jpg -loop 1 -i Image_2.jpg
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加