miyapiのひとりごと

blogこと始め。コンピュータと映画、そしてお酒の好きなmiyapiが気ままに書きつづる日記。。。

Linux: *.flv から *.mp3 に変換

2012-05-02 09:29:49 | Weblog
今回のお題は、
Youtube でおなじみの FLVフォーマット( Flush Video )から音声を抽出して、mp3ファイルに出力する方法である。

変換コマンドは意外なほどに簡単。

$ ffmpeg -i InputFile.flv Output.mp3

デフォルトのサンプリングレートは 64K だが、気になる場合は適当に指定することもできる。

$ ffmpeg -i InputFile.flv -ab 128K Output.mp3

ところが、ffmpge によるmp3変換には意外な落とし穴がある。
筆者はちょっとだけハマってしまった(^^;)。要点は以下の通り。

----------------------------------------------------
- ffmpeg はコンパイル時にオプションが必要
( ./configure --enable-libmp3lame )

- lame は ver 3.99 が必要

----------------------------------------------------

【ffmpeg は再コンパイルが必要】
普通にコンパイルしたffmpegだと何故かエラーになる。

$ ffmpeg -i InputFile.flv Output.mp3
・・・・中略・・・
> Encoder (codec id 86017) not found for output stream #0.0

ご存じの通り、ffmpeg は lame のライブラリを使ってmp3エンコードをするのだが、必要な libmp3lame は既にインストールされているのにもかかわらず「エンコーダが無い」とはどういうことか(*_*)。

小一時間調べてみた結果、ffmpeg から libmp3lame を使うには、コンパイル時にオプションを指定しておかねばならないことが判明。

$./configure --enable-libmp3lame


ということで、気をとり直して再コンパイルした。
だが、またしても落とし穴があった(;_;)。


【Lame は Ver3.99が必要】

ffmpeg の再コンパイルが終わり、再度チャレンジ。。
今度はmp3変換が順調に進むのだが、変換の最後の最後でエラー(;_;)。

$ ffmpeg -i InputFile.flv Output.mp3
・・・・中略・・・
> output buffer too small

バッファが足りない(?_?)、なんじゃこりゃ?
困ったときの Google 先生。とりあえずググッて見ると、以下のブログ記事を発見。



どうやら 筆者が使っていたバージョンのlame ( ver 2.98 )にはバグがあったらしい。。。

というわけで、毎度お馴染みの SourceForge から新しい lame を拾ってきてインストールし直した。最新バージョンは 3.99である。



というわけで、再度 flv --> mp3 変換を試みる。。
やった(^_^)v 無事成功である!!

これで youtubeからダウンロードした音楽をmp3プレーヤで聴ける(^^;)。

---------------------------------------------------------
$ ffmpeg -i InputFile.flv Output.mp3

Output #0, mp3, to 'Output.mp3':
Metadata:
TSSE : Lavf52.64.2
Stream #0.0: Audio: libmp3lame, 22050 Hz, stereo, s16, 64 kb/s
Stream mapping:
Stream #0.1 -> #0.0
Press [q] to stop encoding
size= 6830kB time=874.21 bitrate= 64.0kbits/s
video:0kB audio:6830kB global headers:0kB muxing overhead 0.000472%

$
---------------------------------------------------------

最新の画像もっと見る

1 コメント

コメント日が  古い順  |   新しい順
方法を紹介してくれてありがとう! (FLV MP3 変換)
2018-12-23 23:19:12
最近はLinuxを使い始めたから、やってみます。この変換方法もWindowsやMacに適用すればいいですが
返信する

コメントを投稿