一部のフィルタ(現在では blend, convolve, libvmaf, lut3d, overlay, psnr, ssim) で設定できる動画時間が異なるファイルの挙動設定を行う framesync の設定方法。以前は個別のフィルタ毎に設定していたがこれのおかげで設定内容が統一された。

公式ドキュメント:FFmpeg Filters Documentation : Options for filters with several inputs (framesync)

記事にしているフィルタ
Windows の ffmpeg で生放送する方法 : overlay
YUV RGB を比較計算する blend
2つの映像の画質評価をする SSIM

オプション

  • eof_action[int] 2ファイル目が終了したときの1ファイル目の挙動指定
    • repeat, 0
      最終フレームを繰り返す
      既定値
    • endall, 1
      両方のファイルを最後まで読み込む
    • pass, 2
      1ファイル目が終了したら2ファイル目に切り替える
  • shortest[boolean]
    時間の短いファイルが最後まで読み込んだら終了する
    既定値:0
  • repeatlast[boolean]
    1ファイル目が最後まで読み込んだら終了する
    既定値:1

コマンド例

以下の overlay フィルタは2ファイル目が映像に載る。
ファイル名はその動画時間(秒)。

2ファイル目を最後まで読み込む
ffmpeg -re -i 5.mp4 -re -i 10.mp4 -filter_complex overlay=eof_action=0 -f sdl -
2コマンドとも開始5秒で止まる
ffmpeg -re -i 5.mp4 -re -i 10.mp4 -filter_complex overlay=eof_action=1 -f sdl -
ffmpeg -re -i 5.mp4 -re -i 10.mp4 -filter_complex overlay=eof_action=2 -f sdl -

5秒まで映像が動きそれ以降は最終フレームが5秒続く
ffmpeg -re -i 10.mp4 -re -i 5.mp4 -filter_complex overlay=eof_action=0 -f sdl -
5秒で止まる
ffmpeg -re -i 10.mp4 -re -i 5.mp4 -filter_complex overlay=eof_action=1 -f sdl -
5秒まで読み込み終わると1ファイル目に切り替えてさらに5秒続く
ffmpeg -re -i 10.mp4 -re -i 5.mp4 -filter_complex overlay=eof_action=2 -f sdl -

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)