iExtractMP3で音声抽出できないFLVへの対処

FLVファイルの中には、iExtractMP3で音声抽出できないものがあるみたい。
パターン:

  1. FLV形式だが、音声ストリームがMP3ではない(例えばAAC
  2. NMMで作成された、フラッシュビデオではないFLVファイル(SWF形式?)

代替方法:

  1. 前者なら、ffmpegを使う。
  2. 後者なら、SWFTOOLSをインストールしてswfextractを使う。

ここでは、ffmpegを使う方法を書いときます。

  1. ソースからビルドすべきなんだろうけど、メンドイのでここらから貰ってくるとか、iSquintのようにffmpegを含むパッケージから取り出すとかして、ビルド済みのバイナリを入手し、/usr/local/bin あたりに入れる。
  2. ターミナルでffmpegコマンドを利用する。


$ ffmpeg -i 元ファイル.flv ←とりあえず中身を確認してみる
FFmpeg version SVN-r8638, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --cross-compile --arch=i686 --enable-static --disable-shared --enable-gpl --disable-vhook --disable-ffserver --disable-ffplay --enable-amr_nb --enable-amr_wb --enable-amr_if2 --enable-pp --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libdts --enable-liba52 --enable-libogg --enable-libvorbis --enable-libtheora --enable-xvid --enable-x264
libavutil version: 49.4.0
libavcodec version: 51.40.2
libavformat version: 51.11.0
built on Apr 7 2007 18:02:53, gcc: 4.0.1 (Apple Computer, Inc. build 5367)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '元ファイル.flv':
Duration: 00:05:53.4, start: 0.000000, bitrate: 603 kb/s
Stream #0.0(und): Video: h264, yuv420p, 512x314, 29.97 fps(r)
Stream #0.1(und): Audio: aac, 48000 Hz, stereo ←音声ストリームはAAC形式だな
Must supply at least one output file

$ ffmpeg -i 元ファイル.flv -vn -acodec copy 抽出先.m4a ←抽出先の拡張子にM4Aを指定して実行

抽出先の拡張子によって出力結果が異なるので注意。例えば.aacにしちゃうと、確かにAAC形式のオーディオファイルができるけど、それだと(そのままでも、拡張子をm4aに変えても)iTunesにインポートできません。

うまくいったら、次からDrag'n'Dropで実行できるようにしておきましょう。既成フリーウェアならMPEG Exporter TNGというffmpegフロントエンドが便利です。