: O. Yuanying

FLVファイルからmp3を抽出

Macで音質を劣化したり再エンコードなしにflvファイルからmp3を抽出できないものかと色々検索してみたところ、ffmpegを使えばいいことが判明。

ffmpegのインストール

MacPortsがインストールしてあれば、sudo port install ffmpegでオk。

[yuanying@Magnus cache]$sudo port install ffmpeg
Password:
--->  Fetching ffmpeg
--->  Verifying checksum(s) for ffmpeg
--->  Extracting ffmpeg
--->  Configuring ffmpeg
--->  Building ffmpeg with target all
--->  Staging ffmpeg into destroot
--->  Installing ffmpeg 0.4.9-pre1_2+darwin_9
--->  Activating ffmpeg 0.4.9-pre1_2+darwin_9
--->  Cleaning ffmpeg

mp3の抽出

-acodec copyオプションをつけることで、再変換せず抽出できる模様。

ffmpeg -i ファイル名.flv -acodec copy ファイル名.mp3

早速やってみる。

[yuanying@Magnus cache]$ffmpeg -i sm1886358_【鏡音リン】リンカーネーション【オリジナルソング】第2段.flv -acodec copy rinca.mp3
FFmpeg version SVN-r9102, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --prefix=/opt/local --prefix=/opt/local --disable-vhook --mandir=/opt/local/share/man --enable-shared --enable-pthreads --disable-mmx
  libavutil version: 49.4.0
  libavcodec version: 51.40.4
  libavformat version: 51.12.1
  built on Jan  8 2008 10:43:12, gcc: 4.0.1 (Apple Inc. build 5465)

Seems stream 0 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 30.00 (30/1)
Input #0, flv, from 'sm1886358_【鏡音リン】リンカーネーション【オリジナルソング】第2段.flv':
  Duration: 00:03:22.2, start: 0.000000, bitrate: 64 kb/s
  Stream #0.0: Video: vp6f, yuv420p, 320x240, 30.00 fps(r)
  Stream #0.1: Audio: mp3, 44100 Hz, stereo, 64 kb/s
Output #0, mp2, to 'rinca.mp3':
  Stream #0.0: Audio: 0x0000, 44100 Hz, stereo, 64 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
Press [q] to stop encoding
size=    1580kB time=202.3 bitrate=  64.0kbits/s    
video:0kB audio:1580kB global headers:0kB muxing overhead 0.001978%

おーすばらしい。

NicoCacheと併せて使えばニコニコ動画の好きな曲を抽出しまくりですね!

ついでに宣伝

いちいちffmepgのコマンドなんて覚えてらんねーよって方を対象に、MacでFLVからMP3を抽出するだけのソフトを作りました。内部でffmpegを呼び出してもよかったんですけど、それはそれで大仰な気がしたので別にロジックを書きました。

参考