Question

J'ai cherché partout un utilitaire Linux qui me permettrait de télécharger des flux rtmp. Pas de vidéo FLV mais des flux MP3. Les emplacements des flux que je souhaite télécharger sont dans ce format.

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

Quelqu'un connaît-il un tel outil en ligne de commande? Ou même quelque chose proche de ce que je demande?

Je ne veux pas d'applications logicielles complètes et ce serait formidable si cela fonctionnait sous Linux via Shell ou quelque chose du genre.

Merci à tous

Était-ce utile?

La solution

Si vous avez mplayer ou vlc compilé avec un accès RTMP, procédez comme suit.

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

Ceci générera un ./ stream.dump .

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

Ceci générera un ./ output.mpg . Vous devrez le démultiplier pour extraire uniquement le flux audio.

Autres conseils

Je pense que le paysage a un peu changé depuis l’époque de certaines des réponses précédentes. Au moins selon la page wikipedia rtmp . Il semblerait que la spécification du protocole rtmp soit ouverte au public. Pour ce faire, vous pouvez utiliser 2 outils pour accomplir ce que l’affiche originale demandait, rtmpdump et ffmpeg . Voici ce que j'ai fait pour télécharger un flux rtmp qui envoyait un podcast audio.

étape 1 - téléchargez le flux

J'ai utilisé l'outil rtmpdump pour accomplir cela. Comme si:

% 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

étape 2: convertissez le fichier flv en mp3

OK, vous disposez maintenant d'une copie locale du flux, fichier.flv . Vous pouvez utiliser ffmpeg pour interroger davantage le fichier et extraire uniquement la partie 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

À partir de la sortie ci-dessus, nous pouvons voir que le fichier.flv contient un seul flux, uniquement de l'audio, et qu'il est au format mp3, et qu'il s'agit d'un seul canal. Pour l'extraire dans un fichier mp3 approprié, vous pouvez utiliser à nouveau 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%

La commande ci-dessus va copier le flux audio dans un fichier, fichier.mp3 . Vous pourriez aussi l'avoir extrait dans un fichier wav comme suit:

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

Cette page a été utile pour déterminer comment convertir le fichier flv vers d'autres formats.

Cette question est ancienne, mais cela peut aider d'autres utilisateurs avec ce doute.
Pour télécharger directement, sans conversion, il y a deux options ( l'auteur des deux programmes est le même et le comportement est le même ):

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

Et si vous souhaitez télécharger et convertir la vidéo en même temps, le meilleur moyen consiste à utiliser ffmpeg:

ffmpeg -i rtmp://server/live/streamName -acodec copy -vcodec copy dump.mp4
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top