ffmpegを使うとMP4などの動画ファイルから、簡単にMP3に変換することができます。コマンドラインから以下のような感じでコマンド一発でできます。
ffmpeg -i input.mp4 -ab 128 output.mp3
Windowsの場合、Ffmpegを梱包したバッチファイル、「MP4toMP3.bat」を作りました。以下よりダウンロードして使うことができます。バッチファイルに、動画ファイルをドラッグ・アンド・ドロップするだけで、MP3ファイルを作成します。
Mac OS Xなら、以下の感じで、Homebrewを使ってffmpegをインストールできます。
brew install ffmpeg
こちらは、ターミナルから上記のコマンドを入力すると手軽に変換できます。
結局のところ、コマンドラインを呼び出すだけなのですが、PHPで変換スクリプトを作ってみました。
#!/usr/bin/php
<?php
if (count($argv) <= 1) {
echo "[USES] mp4to3.php a.mp4 b.mp4 c.mp4 ...";
exit;
}
foreach ($argv as $f) {
$output = preg_replace("/\.mp4$/", ".mp3", $f);
$cmd = "ffmpeg -i $f -ab 128 $output";
echo "----------------------------------\n";
echo "+ [input ] $f\n";
echo "| [output] $output\n";
echo exec($cmd);
}