ffmpeg でフレーム補間する minterpolate


ffmpeg 3.2 でリリース予定のビデオフィルタ。前後フレームから中間フレームを作り出す minterpolate フィルタの使い方。無料でフレーム補完する方法には AviSynth+MvTools が一般的だが、もっと手軽に1コマンドでフレーム補完した動画を作ることができる。

基本コマンド

かなり負荷が高く、シングルスレッドしか働かないので出力解像度を小さくしないと ffplay ではプレビューがまともに動かない。

30fps の動画を 60fps にフレーム補完する
ffmpeg -i input -vf minterpolate=fps=60:mi_mode=mci:mc_mode=obmc:me_mode=bilat:me=epzs:mb_size=16:search_param=32:vsbmc=0:scd=fdiff:scd_threshold=5 output
ffmpeg -i input -vf minterpolate=60:2:0:1:8:16:32:0:1:5 output

公式ドキュメント:FFmpeg Filters Documentation : minterpolate

基本コマンド

フレームレートを設定する以外に変更しない方が無難。

  • fps[video_rate]
    出力フレームレート。元の映像より少なくするとフレームを減らし、多くすると mi_mode に沿ってフレームを増やす
  • mi_mode[int]
    モーション補間モード

    • 0, dup:重複フレーム
    • 1, blend:前後フレームを平均する
    • 2, mci:フレーム補完。既定値
  • mc_mode[int]
    モーション補正モード

    • 0, obmc:Overlapped block motion compensation。既定値
    • 1, aobmc:Adaptive overlapped block motion compensation
  • me_mode[int]
    モーション推定モード

    • 0, bidir:前後フレームから推定
    • 1, bilat:bilateral motion estimation。既定値
  • me[int]
    モーション推定のアルゴリズム

    • 1, esa:Exhaustive search algorithm。一番重たい
    • 2, tss:Three step search algorithm
    • 3, tdls:Two dimensional logarithmic search algorithm
    • 4, ntss:New three step search algorithm
    • 5, fss:Four step search algorithm
    • 6, ds:Diamond search algorithm
    • 7, hexbs:Hexagon-based search algorithm
    • 8, epzs:Enhanced predictive zonal search algorithm。一番軽い。既定値
    • 9, umh:Uneven multi-hexagon search algorithm
  • mb_size[int]
    マクロブロックサイズの指定。出力解像度の約数に合わせる。小さい値の方が動きの小さいモーション補間には効果的だが、本来映像に無いはずの部分に補間が入ることがある
    既定値:16
    範囲:4 から 16 まで
  • search_param[int]
    モーション推定の探索パラメーター
    既定値:32
    範囲:4 から INT_MAX まで
  • vsmbc[int]
    可変サイズの(マクロ)ブロックのモーション補間をするかの指定。有効にすると境界のぼけが少なくなる
    既定値:0(無効)
    範囲:0 から 1 まで
  • scd[int]
    シーンチェンジ検出モード

    • 0, none:検出しない
    • 1, fdiff:検出する。既定値
  • scd_threshold[double]
    シーンチェンジ検出モードの閾値
    既定値:5
    範囲:0 から 100 まで

初期設定でフレームレートを2倍の 60fps に補完し、解像度を2倍にしている

1.5GB制限のアカウントから投稿しているので ZenzaWatch で観るとオリジナルのフレーム補完した映像が観られるはず。フラッシュ上でも再エンコードはされているが 60fps で観られる。きれいにフレーム補完できるわけではなく本来ないはずの部分に映像が載っていたり、映像が薄れたりしている。

コメントを残す

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

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