[Windows]ffmpegとbatファイルで快適ドラッグ&ドロップ変換

2013/3/15にFFmpeg1.2がリリースされました。
ちょうどAni-ZONE Frontierのライブ準備で動画変換する必要があったので、ありがたく使わせてもらったところです。

で。

内部的にこのFFmpegを使った各種GUI変換ソフトはたくさんあるのだけど、ちょいちょいオプションが変わったり、搭載しているバージョンが古くて変換できないものがあるなど、結局は直接設定を書いたほうが幸せになれることが。

ただし、いちいちMS-DOSのコマンドラインからやるのは面倒なので、こんな風に

mp3変換とか
mp3変換とか

変換用のバッチファイルを作っておいて、エクスプローラ上でドラッグアンドドロップしてやれば楽チンですね。ということで

まずはFFmpegをダウンロード

http://ffmpeg.zeranoe.com/builds/

使ってるOSの32/64bitに注意してStaticを落とせばよかです。

変換用バッチファイルを作成

新規テキストファイルを作って、この内容を書いて、拡張子を,batで保存するだけです。
FFmpegを絶対パス指定しているので、どこにバッチファイルを保存しても大丈夫。
ついでに、出力はデスクトップに変換元ファイルと同じファイル名で出てきます。

肝心の変換設定は6行目。
サンプルは何か(音声・動画)からmp3形式に音声だけ取り出すものです。

※FFmpegの保存先にあわせて、「C:\Users\xxxx\Desktop\ffmpeg\bin\ffmpeg.exe」を読み替えてください。

@ECHO OFF

:FILEDROP
ECHO ファイル受け取り
cd C:\Users\xxxx\Desktop
:REPEAT
C:\Users\xxxx\Desktop\ffmpeg\bin\ffmpeg.exe -i %1 "%~n1.mp3"
if "%~2"=="" GOTO EXIT
shift
GOTO REPEAT
:EXIT
pause

※2013/3/30 追記 ファイルの複数ドラッグ&ドロップに対応しました。

変換設定を色々変えてみる

例1)640x480の画質そこそこmp4作成
C:\Users\xxxx\Desktop\ffmpeg\bin\ffmpeg.exe -i %1 -r 30 -b 10000k -s 640x480 -vcodec mpeg4 "%~n1.mp4"

例2)320x240の画質まあまあ携帯プレビュー用mp4作成(ファイル名の後ろに320x240つけて出力する)

C:\Users\xxxxx\Desktop\ffmpeg\bin\ffmpeg.exe -i %1 -r 30 -b 700k -s 320x240 -vcodec mpeg4 "%~n1_320x240.mp4"

h.264使うのはそもそもコーデック導入が面倒だったので見なかったことにした。

変換できる形式は?

たくさんあるので、デスクトップにテキストファイルで保存してみるが吉
cd C:\Users\xxxx\Desktop
C:\Users\xxxx\Desktop\ffmpeg\bin\ffmpeg.exe -formats > ffmpeg_formats.txt

使えるコーデックは?

デスクトップにテキストファイルで(ry
cd C:\Users\xxxx\Desktop
C:\Users\xxxx\Desktop\ffmpeg\bin\ffmpeg.exe -formats > ffmpeg_codecs.txt

その他オプションは?

 
C:\Users\xxxx\Desktop\ffmpeg\bin\ffmpeg.exe -help

詳しい使い方は参考URL参照。 (「最新」とありますが、これを書いてる時点では2011年06月の情報です。古いですが、基本的に変わってない所もあるので)
参考URL:http://mobilehackerz.jp/archive/wiki/index.php?%BA%C7%BF%B7FFmpeg