2009-06-21 10 views
18

私はどこでもrtmpストリームをダウンロードできるLinuxユーティリティを探しました。 FLVビデオではなくMP3ストリームです。ダウンロードしたいストリームの場所はこの形式です。RTMP:このようなlinuxコマンドラインツールはありますか?

rtmp://live.site.com/loc/45/std_fc74a6b7f79c70a5f60.mp3 

誰でもこのようなコマンドラインツールについて知っていますか?あるいは私が求めているものに近い何か?

私は完全なソフトウェアアプリケーションを望んでいません。シェルなどを介してLinux上で動作していれば素晴らしいでしょう。あなたがmplayerまたはRTMPアクセスしてコンパイルvlcを持っている場合

おかげで、次のすべての

答えて

23

一つは、行う必要があります。

 
mplayer -dumpstream rtmp://live.site.com/loc/45/std_fc74a6b7f79c70a5f60.mp3 

これにより、./stream.dumpが生成されます。

 
vlc -I dummy rtmp://live.site.com/loc/45/std_fc74a6b7f79c70a5f60.mp3 \ 
    --sout file/ts:output.mpg vlc://quit 

これにより、./output.mpgが生成されます。オーディオストリームだけを抽出するには、それを逆多重化しなければなりません。

+0

グレート、ありがとう!私はmplayerをインストールしましたが、rtmpサポートを追加または含める方法がわかりません。インストールに使用できるコマンドはありますか?インストーラとしてFedora 10、yumを使用しています。 – Abs

+0

実際、メインラインのmplayerはRTMPをサポートしていないようです。自分でmplayerをパッチしてコンパイルしない限り、代わりにVLCを使うことをお勧めします。 – ephemient

11

前回の回答の時から風景が少し変わったと思います。少なくともrtmp wikipedia pageによる。 rtmpプロトコル仕様は公開されているようです。その目的のために、2つのツールを使用して、元のポスターが尋ねていたもの、rtmpdumpffmpegを達成することができます。ここでは、オーディオポッドキャストを送信していた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ファイルを変換する方法を決定する上で有用でした。

10

この質問は古いですが、これはこの疑いのある他のユーザーに役立ちます。

  • RTMPDump:変換せずに、直接ダウンロードするに
    は、二つの選択肢(両方のプログラムの作者が同じで、動作は同じである)があります。例:rtmpdump -r "rtmp://host.com/dir/file.flv" -o filename.flv
  • flvstreamer例:flvstreamer -r "rtmp://od.flash.plus.es/ondemand/14314/plus/plustv/PO770632.flv" -o salida.flv

そして、あなたは、同時にビデオをダウンロードし、変換したい場合は、最良の方法は、使用ffmpegのである:

ffmpeg -i rtmp://server/live/streamName -acodec copy -vcodec copy dump.mp4 
+0

ありがとう、上記のソリューションよりはるかに優れています。 – idmean

関連する問題