Domanda

Ho cercato dappertutto per trovare un'utilità linux che mi permetterà di scaricare flussi rtmp. Non video flv ma flussi MP3. La posizione degli stream che voglio scaricare sono in questo formato.

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

Qualcuno sa di un simile strumento da riga di comando? O anche qualcosa di simile a quello che sto chiedendo?

Non voglio applicazioni software complete e sarebbe fantastico se funzionasse su Linux tramite Shell o qualcosa del genere.

Grazie a tutti

È stato utile?

Soluzione

Una delle seguenti operazioni dovrebbe essere eseguita se mplayer o vlc è compilato con accesso RTMP.

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

Questo genererà un ./stream.dump .

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

Questo genererà un ./output.mpg . Dovrai demuxarlo per estrarre solo il flusso audio.

Altri suggerimenti

Penso che il panorama sia cambiato un po 'dal tempo di alcune delle risposte precedenti. Almeno secondo la rtmp pagina wikipedia . Sembrerebbe che la specifica del protocollo rtmp sia aperta al pubblico. A tal fine puoi utilizzare 2 strumenti per realizzare ciò che il poster originale chiedeva, rtmpdump e ffmpeg . Ecco cosa ho fatto per scaricare un flusso rtmp che stava inviando un podcast audio.

passaggio 1: scarica lo stream

Ho usato lo strumento rtmpdump per raggiungere questo obiettivo. In questo modo:

% 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

passaggio 2: converti il ??file flv in mp3

OK, quindi ora hai una copia locale dello stream, file.flv . Puoi usare ffmpeg per interrogare ulteriormente il file e anche per estrarre solo la parte audio.

% 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

Dall'output precedente possiamo vedere che il file.flv contiene un singolo stream, solo audio, ed è in formato mp3, ed è un singolo canale. Per estrarlo in un file mp3 appropriato puoi usare di nuovo ffmpeg :

% 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%

Il comando precedente copia il flusso audio in un file, file.mp3 . Potresti anche averlo estratto in un file wav in questo modo:

ffmpeg -i file.flv -vn -acodec pcm_s16le -ar 44100 -ac 2 file.wav

Questa pagina è stata utile per determinare come convertire il file flv in altri formati.

Questa domanda è vecchia ma questo può aiutare altri utenti con questo dubbio.
Per scaricare direttamente, senza alcuna conversione, esistono due opzioni ( l'autore di entrambi i programmi è lo stesso e il comportamento è lo stesso ):

  • RTMPDump . Esempio: rtmpdump -r " rtmp: //host.com/dir/file.flv" -o nomefile.flv
  • flvstreamer . Esempio: flvstreamer -r " rtmp: //od.flash.plus.es/ondemand/14314/plus/plustv/PO770632.flv" -o salida.flv

E se vuoi scaricare e convertire il video contemporaneamente, il modo migliore è usare ffmpeg:

ffmpeg -i rtmp://server/live/streamName -acodec copy -vcodec copy dump.mp4
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top