私は2つのビデオを持っており、そのうちの1つはもう1つにオーバーレイされています。オーバーレイされるものはほんの数秒の長さであり、メインビデオの再生中にループし続けたいと思います。考えられることはすべて試しましたが、ffmpeg
では何も機能しないようです。
-例:
「main_video」までに「video_bg_overlay」を自動ループさせる方法?
ムービーフィルターのループオプションは、ループされた拡張機能の新しいタイムスタンプを設定しないため、手動で行う必要があります。
ffmpeg -i "main_video" -af "pan=stereo|c0=FL|c1=FR,volume=1.5" \
-vf "movie=video_bg_overlay.mp4:loop=0,setpts=N/FRAME_RATE/TB,hue=s=0[bg];[in]scale=iw/2:-1,pad=iw+20:ih+20:10:10:color=yellow[m]; [bg][m]overlay=shortest=1:x=(W-w)/2:y=(H-h)/2[out]" \
-c:v libx264 Out_video
使用 -stream_loop
オプション:
ffmpeg -stream_loop -1 -i bg.mp4 -i main.mp4 -filter_complex "[0][1]overlay=shortest=1[v]" -map "[v]" -map 1:a -c:a copy output.mp4