【ffmpeg】強力な手ぶれ補正フィルタ vid.stab の使い方

公式サイト
vid.stab - Transcode video stabilization plugin

vid.stab(Video Stabilization)は linux や ffmpeg のフィルタとして使える手ぶれ補正機能。1パス目に解析して、その解析ログから2パス目で手ぶれを補正する。手振ぶれはもちろんのこと、定点カメラでバイクや自転車に備え付けて撮影した時の画面の揺れにも大きな効果がある。解析と実際に補正するのに2回エンコードするので生放送用途では使えない。

vid.stab フィルタが使える ffmpeg は以下から保存。
Dropbox - ffmpeg_vidstab.zip

ファイル構成は
ffmpeg.exe:実行ファイル
ここに動画をD&D.bat:これに動画を D&D することで自動手ぶれ補正エンコード、テキストエディタで編集可能
ffmpeg手入力.bat:これを実行すると ffmpeg のコマンドをコピペからでも実行できる、テキストエディタで編集不要

ここに動画をD&D.bat でエラーが出る場合はエンコードオプション最後の拡張子(コンテナ名)を音声エンコーダーに合わせることでエラーを回避できる。一般的には .mkv でエラーはなくなる。

2013/06/16以降から、vid.stab が使えるようになりました。
FFmpegダウンロード お気に入りの動画を携帯で見よう

2013/11/13 確認より Zeranoe FFmpeg でも使えるようになりました。
Zeranoe FFmpeg - Builds

効果の具合は公式のサンプル動画を参照

ffmpeg での使い方


1パス目は解析するためのものなので動画を出力する必要はない。
このコマンドを実行し終わると「transforms.trf」という解析ログ(テキスト)が出力される。

ffmpeg -i infile -vf vidstabdetect -an -f null -

2パス目で解析ログから補正する。

ffmpeg -i infile -vf vidstabtransform -vcodec libx264 -acodec copy outfile.mp4

これで規定値を使って補正することができる。一つづつ再生しても違いがよくわからないかもしれないので動画編集ソフトで横に並べると違いがわかる。

フィルタの設定方法


1パス目の解析に使う vidstabdetect の使い方。規定値の例

-vf vidstabdetect=result=transforms.trf:shakiness=5:accuracy=9:stepsize=6
:mincontrast=0.25:tripod=0:show=0


FFmpeg documentation : : vidstabdetect

  • result
    出力される解析ログのファイル名とパスの指定:規定値は transforms.trf
  • shakiness
    どれだけ映像が振れているかの設定:規定値は 5
    値が大きいほど大きく振れている:1 から 10 まで
  • accuracy
    どれだけ振れを検出するかの精度:規定値は 15
    値が大きいほど精度が高い:1 から 15 まで
  • stepsize
    何ピクセル単位で調べるか:規定値は 6
    値が小さいほど精度が高い:1 から 6 まで
  • mincontrast
    最小コントラスト比:規定値は 0.3
    大きな値は振れを検出しなくなる:0 から 1 までの小数点を含む値
  • tripod
    tripod(三脚)モード:規定値は 0
    持ち歩く時ではなく三脚を使った場合の振れを補正する:1 で有効化
  • show
    ログファイルの出力タイプ指定:規定値は 0
    普通用途なら変更しない:0 から 2 までの整数値


2パス目の解析結果から実際の補正を行う vidstabtransform の使い方。規定値の例

-vf vidstabtransform=input=transforms.trf:smoothing=10:maxshift=-1
:maxangle=-1:crop=keep:invert=0:relative=1:zoom=0:interpol=bilinear:tripod:0


このほかに同時に unsharp フィルタの適応も推奨している。

-vf vidstabtransform=input=transforms.trf:smoothing=10:maxshift=-1
:maxangle=-1:crop=keep:invert=0:relative=1:zoom=0:interpol=bilinear :tripod:0,unsharp



  • input
    読み込む解析ログのファイル名とパスの指定:規定値は transforms.trf
  • smoothing
    振れを調べる先読みフレーム数:規定値は 10
    現在のフレームと、指定した値の前後フレームを参照する
    大きな値ほどなめらかになるが、制限がある(詳細はよくわからない)
  • optalgo
    アルゴリズムの指定:規定値は gauss
    • gauss
      カメラの動きをローパス(ハイカット)でフィルタしてガウス処理を行う
    • avg
      カメラの動きを平均化する
  • maxshift
    最大何ピクセルのフレームを対象とするか:規定値は -1(制限なし)
    変更しなくても良い
  • maxangle
    ラジアン単位の最大角度:規定値は -1(制限なし)
    変更しなくても良い
  • crop
    補正により映像のない境界をどうするか
    • keep(規定値)
      周りの情報で埋め合わせる
    • black
      黒色で表示する
  • invert
    揺れを反転するかどうか:規定値は 0
    変更しなくても良い
  • relative
    揺れの参照フレームを相対参照するか、絶対参加するか:規定値は 1(相対参照)
    0 は絶対参照
  • zoom
    何パーセント拡大するか:規定値は 0
    揺れが大きい場合に補正により情報がない映像が増え、それを回避するために拡大することで補正映像を表示させないようにできる
  • optzoom
    上の zoom を使うと最適な拡大範囲に調整する:規定値は 1
    • 0
      使わない
    • 1
      固定ズーム。激しく揺れていると枠が見えることもある
    • 2
      可変ズーム。枠が見えなくなる。この下の zoomspeed を参照
  • zoomspeed
    最大何パーセント、ズーム(拡大)するか:規定値は .025
    大きい値ほどより拡大される:0 から 5 まで
  • interpol
    補完処理のアルゴリズム
    • no
      処理を行わない
    • linear
      横方向の linear 処理を行う
    • bilinear(規定値)
      縦と横の bilinear 処理を行う
    • bicubic
      縦と横の cubic 処理(bicubic)を行う(低速度)
  • tripod
    tripod(三脚)モード:規定値は 0
    vidstabdetect で tripod を使ったときに併用する
    1 にすると relative=0:smoothing=0 になる


バッチファイルの仕様


バッチファイル(ここに動画をD&D.bat)に動画を D&D することで自動でエンコードしてくれる。
適宜エンコードする時間とエンコーダ、エンコード設定を変える。
読み込み開始時間の指定は入力ファイル(-i)の前に -ss 秒
読み込み開始時間からの動画時間の指定は入力ファイル(-i)の後ろに -t 秒
例:ffmpeg -ss 10 -i %1 -t 10

@ECHO OFF

ffmpeg -i %1 -vf vidstabdetect -an -f null - && ffmpeg -i %1 -vf vidstabtransform -vcodec libx264 -acodec copy %~n1_encoded.mp4
:EXIT



libx264 の設定:libx264のオプション
可逆圧縮の Utvideo も使える、この場合は出力コンテナを .mkv に変える:-vcodec utvideo

libx264 の2パスエンコードもできる。

ffmpeg -i infile -vf vidstabdetect -vcodec libx264 -b:v 1800k -pass 1 -an -f null -
ffmpeg -i infile -vf vidstabtransform -vcodec libx264 -b:v 1800k -pass 2 -acodec copy 2pass.mp4


ffmpeg へのインストール方法は Zeranoe FFmpeg • View topic - vid.stab, vid.stabのコンパイル&インストール お気に入りの動画を携帯で見よう を参照。
関連記事

この記事へのコメント

-2015/09/04 (金) 10:49:39

SJ4000の動画に使ってみました。コマンドラインで万人向けではないですが、フリーでできる手ぶれ補正では文句無く最強の方法だと思います。余計な中間フォーマットへの変換なしで最終エンコードまでいけるのが素晴らしい。xvidへ出力したかったのでとても助かりました。ありがとうございます。

管理人のみ通知 :

トラックバック


ニコニコチャンネル始めました
ニコラボチャンネル
スポンサード リンク
THE IDOLM@STER THE@TER ACTIVITIES 03
THE IDOLM@STER THE@TER ACTIVITIES 03

Fate/EXTELLA REGALIA BOX for PlayStation (R) 4 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS4
Fate/EXTELLA REGALIA BOX for PlayStation (R) 4 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS4

妖怪ウォッチ くったりぬいぐるみだニャン ジバニャン
妖怪ウォッチ くったりぬいぐるみだニャン ジバニャン

Fate/EXTELLA VELBER BOX 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS4
Fate/EXTELLA VELBER BOX 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS4

Fate/EXTELLA REGALIA BOX for PlayStation (R) Vita 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS Vita
Fate/EXTELLA REGALIA BOX for PlayStation (R) Vita 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS Vita

【早期購入特典あり】初音ミクシンフォニー~Miku Symphony 2016~オーケストラ ライブ CD(初音ミクシンフォニー描き下ろしクリアファイル付き(ランダム配布))
【早期購入特典あり】初音ミクシンフォニー~Miku Symphony 2016~オーケストラ ライブ CD(初音ミクシンフォニー描き下ろしクリアファイル付き(ランダム配布))

「うたわれるもの 偽りの仮面&二人の白皇」歌集(初回限定盤)
「うたわれるもの 偽りの仮面&二人の白皇」歌集(初回限定盤)

TVアニメ『ラブライブ!サンシャイン!!』挿入歌シングル「想いよひとつになれ/MIRAI TICKET」
TVアニメ『ラブライブ!サンシャイン!!』挿入歌シングル「想いよひとつになれ/MIRAI TICKET」

『刀剣乱舞-花丸-』 歌詠集 其の三 特装盤
『刀剣乱舞-花丸-』 歌詠集 其の三 特装盤

本好きの下剋上~司書になるためには手段を選んでいられません~第一部 「本がないなら作ればいい3」
本好きの下剋上~司書になるためには手段を選んでいられません~第一部 「本がないなら作ればいい3」

新着記事と追記・編集記事
スポンサード リンク
ブログ内検索
プロフィール

Author:ロベルト
お問い合わせはこちらまで
robelt2525[at]gmail.com

中の人 @nico_lab
ブログ更新用 @blo_nico_lab

詳しいプロフィールはこちら

カテゴリ
アクセスの多い記事
記事アーカイブ

最新コメント
リンク
ニコニコ静画
アニメカテゴリ毎時ランキング
免責事項
当ブログはリンクフリーです。記事によりトラブルが生じた場合でも、当ブログ管理人は一切の責任を負いません。 当ブログに記載されている情報の正誤や利用は、ご自身の判断でお願いします。 紹介したアプリケーションに関する問い合わせは作者に問い合わせてください。ニコニコ動画に関する質問はまずは公式掲示板、2ch、各Q&Aサイトを参照ください。
ブログの読者になる(RSS)
アクセス数