web-dev-qa-db-ja.com

ffmpegでビデオオーバーレイをループする

私は2つのビデオを持っており、そのうちの1つはもう1つにオーバーレイされています。オーバーレイされるものはほんの数秒の長さであり、メインビデオの再生中にループし続けたいと思います。考えられることはすべて試しましたが、ffmpegでは何も機能しないようです。

Loop video background -例:

  1. 「main_video」長時間56:00:00
  2. 「video_bg_overlay」長時間00:00:30

「main_video」までに「video_bg_overlay」を自動ループさせる方法

4
Ffmpeg fans

ムービーフィルターのループオプションは、ループされた拡張機能の新しいタイムスタンプを設定しないため、手動で行う必要があります。

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
5
Gyan

使用 -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
1
llogan