前回の回答の時から風景が少し変わったと思います。少なくともrtmp wikipedia pageによる。 rtmpプロトコル仕様は公開されているようです。その目的のために、2つのツールを使用して、元のポスターが尋ねていたもの、rtmpdump
とffmpeg
を達成することができます。ここでは、オーディオポッドキャストを送信していたrtmpストリームをダウンロードしました。
ステップ#1 - ストリームをダウンロード
私はこれを達成するためのツールrtmpdumpを使用。
% rtmpdump -r rtmp://url/to/some/file.mp3 -o /path/to/file.flv
RTMPDump v2.3
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
INFO: Connected...
Starting download at: 0.000 kB
28358.553 kB/3561.61 sec
Download complete
ステップ#2 - mp3にFLVファイルを変換
OK、今あなたは、ストリームのローカルコピーを持って、file.flv:そうのように。 ffmpeg
を使用してファイルをさらに調べたり、オーディオ部分だけを抽出したりすることができます。
% ffmpeg -i file.flv
....
[flv @ 0x25f6670]max_analyze_duration reached
[flv @ 0x25f6670]Estimating duration from bitrate, this may be inaccurate
Input #0, flv, from 'file.flv':
Duration: 00:59:21.61, start: 0.000000, bitrate: 64 kb/s
Stream #0.0: Audio: mp3, 44100 Hz, 1 channels, s16, 64 kb/s
我々は
file.flvは、単一ストリーム、オーディオだけが含まれていることを見ることができます上記の出力から
、それはmp3形式でだし、それは単一のチャンネルです。う
% ffmpeg -i file.flv -vn -acodec copy file.mp3
....
[flv @ 0x22a6670]max_analyze_duration reached
[flv @ 0x22a6670]Estimating duration from bitrate, this may be inaccurate
Input #0, flv, from 'file.flv':
Duration: 00:59:21.61, start: 0.000000, bitrate: 64 kb/s
Stream #0.0: Audio: mp3, 44100 Hz, 1 channels, s16, 64 kb/s
Output #0, mp3, to 'file.mp3':
Metadata:
TSSE : Lavf52.64.2
Stream #0.0: Audio: libmp3lame, 44100 Hz, 1 channels, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
size= 27826kB time=3561.66 bitrate= 64.0kbits/s
video:0kB audio:27826kB global headers:0kB muxing overhead 0.000116%
ファイルにコピーオーディオストリームを、file.mp3を上記のコマンドを:あなたは再びffmpeg
を使用することができ、適切なmp3ファイルにそれを抽出します。また、そのようにwavファイルにそれを抽出している可能性:
ffmpeg -i file.flv -vn -acodec pcm_s16le -ar 44100 -ac 2 file.wav
このpageは、他の形式にFLVファイルを変換する方法を決定する上で有用でした。
グレート、ありがとう!私はmplayerをインストールしましたが、rtmpサポートを追加または含める方法がわかりません。インストールに使用できるコマンドはありますか?インストーラとしてFedora 10、yumを使用しています。 – Abs
実際、メインラインのmplayerはRTMPをサポートしていないようです。自分でmplayerをパッチしてコンパイルしない限り、代わりにVLCを使うことをお勧めします。 – ephemient