スポンサーリンク

FFmpegで動画の手振れ補正をするバッチファイル

スポンサーリンク
スポンサーリンク

windowsで使えるvid.stabに対応したffmpegは https://ffmpeg.zeranoe.com/builds/ からダウンロードする。
メモ帳で以下を記載しstab.batという名前で保存する。保存の際は文字コードを「ANSI」あるいは「Shift-JIS」形式にして保存すればよい(「Unicode」や「UTF-8」形式は不可)

stab.batのアイコンに動画ファイルをドラッグアンドドロップすればok。複数動画ファイルをドラッグアンドドロップしてもok。

@echo off
setlocal enabledelayedexpansion
cd /d "%~dp0"
cd ..
:loop
if "%~1" == "" goto end
ffmpeg -i "%~1" -vf vidstabdetect -an -f null -
ffmpeg -i "%~1" -vf vidstabtransform -y "%~dpn1-stab.mp4"
:finish
echo .
shift
goto loop
:end

ダウンロードしたものを解凍したら、binフォルダにパスを通す

スポンサーリンク

binフォルダにパスを通す パスを通すとは?

パスを通すという意味が分かりませんでした。なので、自分用のメモ書き

解凍したものはffmpeg-20200802-b48397e-win64-staticというフォルダ名です。

今回はすぐわかる場所、Cドライブ直下に入れています。

ffmpeg cドライブ直下

ffmpeg-20200802-b48397e-win64-staticフォルダ内はこのような感じでbinフォルダ内にffmpegが入っています。

ffmpeg-20200802-b48397e-win64-staticフォルダ内

binフォルダ内

ffmpeg binフォルダ内

スタートボタンを押してプログラムとファイルの検索窓に「システムの詳細設定」と入れる

環境変数をクリックすると

下部の「システム環境変数」欄から「Path」を選択し、ここをダブルクリックするか、「編集」ボタンを押す

新規を押して、ffmpeg本体がある場所

C:\ffmpeg-20200802-b48397e-win64-static

を入力でok。これがパスを通す作業。

上記のバッチファイルだとデフォルト設定のため、shakiness=5となります。10まで設定できるため10に設定したのが下記

@echo off
setlocal enabledelayedexpansion
cd /d "%~dp0"
cd ..
:loop
if "%~1" == "" goto end
ffmpeg -i "%~1" -vf vidstabdetect=shakiness=10 -f null -
ffmpeg -i "%~1" -vf vidstabtransform -y "%~dpn1-stab.mp4"
:finish
echo .
shift
goto loop
:end

vidstabdetect -an

vidstabdetect=shakiness=10
と書き換えただけです。

vid.stab ffmpeg

デフォルトだとshakiness=5

vid.stab ffmpeg

shakiness=10のときの画面表示