FFmpeg – ドラッグアンドドロップでエンコード

FFMPEG, 管理者blog

FFmpegをインストールしたものの、オプション設定が多すぎて、どのように設定すればよいかわからない。設定は分かるが1ファイルずつコマンドでエンコードするのは面倒だ。そんなときは、以下のようなバッチファイルを作ると、動画ファイルをドラッグ・アンド・ドロップするだけでエンコードできるので便利です。

※このバッチを使うためには、「Windowsパソコン」をご利用頂く必要があります。また、動画の圧縮(FFmpegのセットアップとエンコード手順)に従って、ffmpegを実行パス上に配置しておく必要があります。

以下のように動画を.batにドラッグするだけでエンコードできます。
複数のファイルを纏めてドラッグできます。また、エンコード後のファイル名は元のファイル名に従って自動設定されます。

エンコード用のバッチファイル

3パターン用意しましたので、用途に合わせてご利用下さい。2番目、3番目のバッチはサイズ変更まで行える優れものですが、元映像の縦横比によっては高さが奇数となり、エンコードできない場合があります。

サイズそのままで容量を削減(↓クリックでダウンロード)
https://quizgenerator.net/wp-content/uploads/bat/ffmpeg-noresize.bat

learningBOXの標準画質まで容量を削減-幅640(同上)
https://quizgenerator.net/wp-content/uploads/bat/ffmpeg-640.bat

learningBOXの高画質動画プランまで容量を削減-幅1280(同上)
https://quizgenerator.net/wp-content/uploads/bat/ffmpeg-1280.bat

バッチファイルの解説

以下のコードはffmpeg-1280.batのものです。ffmepgから始まる行が本体です。
-vf scale=1280:-2
* 映像のサイズを指定しています。幅は1280、高さは自動です。-2を指定すると2の倍数になるように調整されます。
-crf 22
* 画質の設定です。大きな値ほど画質が悪くなります(容量は減ります)
-r 30
* フレームレートの指定です。大きな値を指定するとなめらかな動画になります(容量は増えます)
-ac 1
* オーディオのモノラル化の指定です。モノラルで良い場合はこの指定をすると容量が減ります。

ECHO OFF
 
:REPEAT
ffmpeg.exe -i %1 -vcodec libx264 -vf scale=1280:-2 -crf 22 -r 30 -y -ac 1 "%~n1.w1280.mp4"

if "%~2"=="" GOTO EXIT
shift
GOTO REPEAT
:EXIT
pause

改訂履歴

  • 2018.1.19 初版公開
  • 2018.4.2 高さ指定を-1から-2に変更/映像サイズによってエラーになる場合があったので-2に変更しました