Date de publication: le lundi 27 août 2007 à 13h28
Dernière modification: par Pascal BOYER le mardi 28 décembre 2010 à 12h52
« Article précédent: Dailymotion: télécharger les vidéos
Mplayer : télécharger ou enregistrer un flux diffusé via le protocole pnm://
Il arrive que certaines radios vous propose d'écouter leurs émissions diffusées via le protocole pnm de Realmedia.
France Culture, par exemple, utilise ce protocole propriétaire pour la diffusion de ses émissions archivées. Lorsque vous vous placez dans la rubrique Archives et sélectionnez une émission, s'affiche alors quelque chose comme ça:
Il vous faut ensuite faire un clic-droit sur l'icône Ecouter pour enregistrer le fichier cible:
Pour l'émission prise en exemple, le contenu de ce fichier est le suivant:
pnm://son.radio-france.fr/chaines/itema/10582/10582_26022008_2008C10582S0057.rm
Mplayer ne reconnaissant pas le protocole pnm://, l'astuce consiste à le remplacer par le protocole de streaming temps-réel développé par l' IETF et publié en 1998 en tant que RFC 2326: RTSP ou Real Time Streaming Protocol
La ligne de commande permettant d'enregistrer le fichier audio de l'émission est donc:
mplayer -dumpstream -dumpfile DelinquanceEnColBlanc.rm rtsp://son.radio-france.fr/chaines/itema/10582/10582_26022008_2008C10582S0057.rm
MPlayer dev-SVN-r25315 CPU: Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz (Family: 6, Model: 15, Stepping: 11) CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. Can't open joystick device /dev/input/js0: No such file or directory Can't init input joystick mplayer: could not connect to socket mplayer: Connection refused Failed to open LIRC support. You will not be able to use your remote control. Playing rtsp://son.radio-france.fr/chaines/itema/10582/10582_11032008_2008C10582S0071.rm. Resolving son.radio-france.fr for AF_INET... Connecting to server son.radio-france.fr[195.154.101.20]: 554... Cache size set to 640 KBytes
Il n'y a plus qu'à attendre (environ le temps que dure l'émission) que la commande vous rende la main:
realrtsp: Stream EOF detected Core dumped ;) Exiting... (End of file)
Le fichier téléchargé se nomme donc DelinquanceEnColBlanc.rm et vous pouvez le transformer (l'encoder) dans un autre format (.wav, .mp3 ou .ogg : voir plus bas dans l'article).
Mplayer : télécharger ou enregistrer les fichiers Real Media ( .rm) ou Real Audio Metadata ( .ram)
Voici, par exemple, la page d'archives des émissions de Jean-Pierre COFFE " permettez-moi de vous présenter..." diffusées au cours de l'été 2007 sur France Inter: page d'archives
Sur cette page, en face de chaque date il y a un lien sur lequel on clique. Le haut de la page qui s'affiche alors ressemble à ceci:
Fig. 1: Haut de la page de présentation de l'émission d'une date donnée.
Puis on récupère l'adresse du fichier real audio à télécharger:
Fig. 2: Cliquer droit sur l'icône surligné en magenta pour enregistrer l'adresse du fichier real audio
Ensuite, on édite le fichier de configuration de mplayer pour y ajouter une ligne servant à définir le codec audio à utiliser:
vi ~/.mplayer/config
afm = "realaud"
Mplayer : enregistrer le fichier Real Media ( .rm) ou Real Audio Metadata ( .ram) sur le disque dur
La commande est la suivante:
mplayer -dumpstream -dumpfile Les_vins_roses_20070705.rm -playlist /
http://www.radiofrance.fr/_c/php/listen.php?file=/chaines/france-inter01/chroniques2/permettre/permettre20070705.rm
MPlayer dev-SVN-rUNKNOWN-4.1.3 (C) 2000-2007 MPlayer Team CPU: AMD Athlon(tm) XP 2600+ (Family: 6, Model: 10, Stepping: 0) CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0 Compiled with runtime CPU detection. Resolving www.radiofrance.fr for AF_INET6... Couldn't resolve name for AF_INET6: www.radiofrance.fr Resolving www.radiofrance.fr for AF_INET... Connecting to server www.radiofrance.fr[62.210.65.157]: 80... Cache size set to 320 KBytes Can't open joystick device /dev/input/js0: No such file or directory Can't init input joystick mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing rtsp://son.radio-france.fr/chaines/france-inter01/chroniques2/permettre/permettre20070705.rm. Resolving son.radio-france.fr for AF_INET6... Couldn't resolve name for AF_INET6: son.radio-france.fr Resolving son.radio-france.fr for AF_INET... Connecting to server son.radio-france.fr[195.154.101.20]: 554... Cache size set to 320 KBytes realrtsp: Stream EOF detected Core dumped ;) Exiting... (End of file)
Tant que le fichier n'est pas complètement téléchargé, la sortie s'arrête à la ligne:
Cache size set to 320 KBytes
:
Le téléchargement prend plusieurs minutes (vraisemblablement autant de temps que dure le contenu du fichier).
Dans la ligne de commande que nous avons lancé précédemment, l'adresse HTTP est celle récupérée sur le site de France Inter comme indiqué sur la figure 2.
Une fois le téléchargement du fichier .rm terminé, on dispose du fichier suivant:
ls -la *.rm
Les_vins_roses_20070705.rm
Mplayer : lire le fichier Real Media ou Real Audio Metadata
Pour lire le fichier téléchargé, on lance la commande suivante:
mplayer Les_vins_roses_20070705.rm
MPlayer dev-SVN-rUNKNOWN-4.1.3 (C) 2000-2007 MPlayer Team CPU: AMD Athlon(tm) XP 2600+ (Family: 6, Model: 10, Stepping: 0) CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0 Compiled with runtime CPU detection. Can't open joystick device /dev/input/js0: No such file or directory Can't init input joystick mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing Les_vins_roses_20070705.rm. REAL file format detected. Stream description: Audio Stream Stream mimetype: audio/x-pn-realaudio [real] Audio stream found, -aid 0 Clip info: name: Permettez-moi copyright: Radio France =============================================== Trying to force audio codec driver family realaud... Opening audio decoder: [realaud] RealAudio decoder AUDIO: 22050 Hz, 1 ch, s16le, 20.7 kbit/5.86% (ratio: 2583->44100) Selected audio codec: [ra10cook] afm: realaud (RealPlayer 10 COOK audio) =============================================== AO: [alsa] 22050Hz 1ch s16le (2 bytes per sample) Video: no video Starting playback... A: 5.7 (05.7) of 792.0 (13:12.0) 1.2%
:
La ligne ajoutée au fichier de configuration engendre l'affichage, dans le message ci-dessus, de la ligne suivante (vers le bas):
Selected audio codec: [ra10cook] afm: realaud (RealPlayer 10 COOK audio)
Il est très important de sélectionner ce codec car sinon, par défaut, lorsqu'on lit le fichier .rm la vitesse de lecture n'est pas bonne et l'écoute plus que difficile.
Convertir ou encoder le fichier Real Media ( .rm) ou Real Audio Metadata ( .ram) au format ogg
Mplayer : convertir le format .rm ou .ram au format wav
L'encodage direct au format ogg étant impossible, il faut en passer par un format intermédiaire, wav par exemple:
:
Dans la commande ci-dessous, l'option -vo doit être supprimée lorsqu'il s'agit d'un simple fichier audio (sans vidéo)
mplayer -ao pcm:file=Les_vins_roses_20070705.wav -vo null Les_vins_roses_20070705.rm
MPlayer dev-SVN-rUNKNOWN-4.1.3 (C) 2000-2007 MPlayer Team CPU: AMD Athlon(tm) XP 2600+ (Family: 6, Model: 10, Stepping: 0) CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0 Compiled with runtime CPU detection. Can't open joystick device /dev/input/js0: No such file or directory Can't init input joystick mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing Les_vins_roses_20070705.rm. REAL file format detected. Stream description: Audio Stream Stream mimetype: audio/x-pn-realaudio [real] Audio stream found, -aid 0 Clip info: name: Permettez-moi copyright: Radio France ========================================================================== Trying to force audio codec driver family realaud... Opening audio decoder: [realaud] RealAudio decoder AUDIO: 22050 Hz, 1 ch, s16le, 20.7 kbit/5.86% (ratio: 2583->44100) Selected audio codec: [ra10cook] afm: realaud (RealPlayer 10 COOK audio) ========================================================================== [AO PCM] File: Les_vins_roses_20070705.wav (WAVE) PCM: Samplerate: 22050Hz Channels: Mono Format s16le [AO PCM] Info: Faster dumping is achieved with -vc null -vo null -ao pcm:fast [AO PCM] Info: To write WAVE files use -ao pcm:waveheader (default). AO: [pcm] 22050Hz 1ch s16le (2 bytes per sample) Video: no video Starting playback... A: 698.0 (11:37.9) of 697.0 (11:37.0) 0.8% Exiting... (End of file)
Convertir le format .wav au format ogg
oggenc Les_vins_roses_20070705.wav
Opening with wav module: WAV file reader
Encoding "Les_vins_roses_20070705.wav" to
"Les_vins_roses_20070705.ogg"
at quality 3,00
[100,0%] [ 0m00s remaining] /
Done encoding file "Les_vins_roses_20070705.ogg"
File length: 11m 37,0s
Elapsed time: 0m 38,8s
Rate: 17,9799
Average bitrate: 39,1 kb/s
:
Pour convertir l'ensemble des fichiers .wav d'un répertoire au format ogg, il suffit tout simplement de lancer cette commande directement à partir du répertoire:
oggenc *.wav
Convertir le format .wav au format mp3
lame -b 128 -h fichierOriginal.wav fichierFinal.mp3
LAME 3.97 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE, SSE2
polyphase lowpass filter disabled
Encoding Biotechnologie_LesLobbiesPesent–ilsSurLesResultatsDeLaRecherche.wav
to Biotechnologie_LesLobbiesPesent–ilsSurLesResultatsDeLaRecherche.mp3
Encoding as 22.05 kHz 128 kbps single-ch MPEG-2 Layer III (2.8x) qval=2
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
128802/128802(100%)| 1:28/ 1:28| 2:22/ 2:22| 37.963x| 0:00
---------------------------------------------------------------------
kbps mono % long switch short %
128.0 100.0 92.7 4.4 2.9
Writing LAME Tag...done
ReplayGain: +0.2dB
Encoder un fichier .wma au format ogg
Tout d'abord, il est nécessaire d'encoder le fichier .wma au format intermédiaire .wav
Pour cela, on utilise cette commande:
mplayer -ao pcm -aofile monfichier.wav monfichier.wma
Pour les versions récentes de mplayer (1:1.0.rc2svn20090412-0.0), la commande ci-dessus doit être:
mplayer -ao pcm:file=monfichier.wav monfichier.wma
Mplayer et le protocole mms
:
mms ( Multimedia messaging service) est un protocole de streaming propriétaire de microsoft. Ce protocole sert donc à diffuser sur le web du contenu multimédia (son et vidéo).
La plupart du temps, ce protocole sert à la diffusion de fichiers .wma ( Windows Media Audio)
Enregister un fichier wma
Supposons que vous souhaitiez enregistrer la lecture par son auteur de la très instructive Lettre aux éducateurs .
Sur la page donnée en lien ci-dessus, il faut commencer par récupérer le lien associé à l'icône des fichiers multimédia de microsoft (à gauche du signe MP3 et sous le lien Imprimer).
Pour récupérer ce lien il faut faire un clic-droit sur l'icône puis choisir l'option Copier l'adresse du lien dans le menu contextuel qui s'affiche.
En l'occurrence, cette adresse est:
mms://vipmms9.yacast.net/elysee/2007/07-09-04-0076.wma
Ceci fait, voici la commande qui permet d'enregistrer le flux en local, c'est à dire sur votre disque dur:
mplayer -nocache mms://vipmms9.yacast.net/elysee/2007/07-09-04-0076.wma "-dumpstream"
MPlayer 1.0rc2-4.2.3 (C) 2000-2007 MPlayer Team CPU: Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz (Family: 6, Model: 15, Stepping: 11) CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. Can't open joystick device /dev/input/js0: No such file or directory Can't init input joystick mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing mms://vipmms9.yacast.net/elysee/2007/07-09-04-0076.wma. STREAM_ASF, URL: mms://vipmms9.yacast.net/elysee/2007/07-09-04-0076.wma Resolving vipmms9.yacast.net for AF_INET... Connecting to server vipmms9.yacast.net[193.201.103.107]: 1755... Connected file object, packet length = 2261 (2261) unknown object unknown object unknown object stream object, stream ID: 1 unknown object data object mmst packet_length = 2261 Cache size set to 0 KBytes Stream not seekable!
Un fichier nommé stream.dump est alors enregistré dans le répertoire à partir duquel est lancé la commande.















