Je pense que le paysage a changé un peu depuis l'époque de certaines des réponses précédentes. Au moins selon le rtmp wikipedia page. Il semblerait que la spécification du protocole rtmp soit ouverte au public. À cette fin, 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écharger le flux
J'ai utilisé l'outil rtmpdump pour y parvenir. 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 - convertir le fichier flv en mp3
OK, maintenant que vous avez une copie locale du flux, file.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
De la sortie ci-dessus, nous pouvons voir que le file.flv contient un seul flux, juste audio, et il est en format mp3, et il est un seul canal. Pour extraire un fichier mp3 approprié, vous pouvez utiliser ffmpeg
à nouveau:
% 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 copier le flux audio dans un fichier, file.mp3. Vous pouvez également avoir extrait dans un fichier wav comme ceci:
ffmpeg -i file.flv -vn -acodec pcm_s16le -ar 44100 -ac 2 file.wav
Cette page est utile pour déterminer comment convertir le fichier flv vers d'autres formats.
Grand, merci! J'ai installé mplayer mais je ne suis pas sûr de savoir comment ajouter ou inclure le support rtmp. Y at-il une commande que je peux utiliser pour l'installer. J'utilise Fedora 10, yum en tant qu'installateur. – Abs
Hmm, en fait, il semble que mplayer Mainline n'a pas de support RTMP. A moins que vous ne souhaitiez essayer de patcher et de compiler mplayer vous-même, je suggère d'utiliser VLC à la place. – ephemient