Enregistrer la radio : vsound
17 Sep. 2006
- Auteur : nikko
- Responsable : TrustRobot
- Score ( voter ) :



- Connexes : Même auteur | Même responsable | Historique
1. Installation :
Vsound est dépendant de Sox.-
Premièrement :Installation à partir de paquetages :
Des paquets sont fournis par les distributions suivantes debian, gentoo, et Mandriva :
-
Pour Debian :# apt-get install vsound
-
Pour Gentoo :# emerge vsound
-
Pour Mandriva :# urpmi vsound
# rpm -Uvh vsound-0.5-1rh7x.i386.rpm -
Pour Debian :
-
Deuxièmement : Installation à partir des sources :
Assurez-vous d'avoir installé sox (fourni par toutes bonnes distros). Vous pouvez le vérifier de la façon suivante selon votre distribution :
-
Pour les distributions à base de RPM :rpm -qa | grep sox
-
Pour debian :dpkg -l | grep sox
-
Pour slackware :su ls /var/log/packages/ | grep sox exit
$ tar xzvf vsound-0.5.tar.gz $ cd vsound-0.5 $ ./configure $ make $ su # make install # exit -
Pour les distributions à base de RPM :
2. Utilisation :
Le principe de vsound est assez simple, on passe en paramètre le nom de l'application dont on veut intercepter la sortie audio, et comme options intéressantes le taux d'échantillonage du fichier wav à produire, ou le nom du fichier de sortie. Exemple :
$ vsound --file=ouifm.wav mplayer -afm acm mms://vipbu.yacast.fr/encoderouifm
Les options :
- -f, --file=Nom_de_Fichier : nom du fichier en sortie
- -d, --dspout : sortie simultanée vers un fichier et /dev/dsp (la carte son en gros). Peut être nécessaire pour certains programmes
- -r, --resample : rééchentillonage du fichier (attention à ne pas rééchentilloner vers le même taux, sinon ça plante. Par exemple, ne pas mettre -r 44100 pour un fichier avi dont le son est déjà à 44,1 kHz)
- -s, --stdout : envoi du fichier intermédiaire (au format Sun AU) vers la sortie standard (permet de faire un pipe vers oggenc par ex)
- -t : nécessaire pour realplayer
- -n, --no-convert : enregistrement du fichier au format Sun AU
- -k, --keep-temps : conservation des fichiers temporaires
- -v, --verbose : mode verbeux
- -h, --help : affichage des options
2.1 Enregistrement dans un .wav : 1ére méthode
Vous pouvez passer à vsound le nom de l'appli à lancer avec comme paramètre le flux ou le fichier à jouer :
$ vsound -v -d -r 44100 --file=~/sons/wav/ouifm.wav mplayer -afm acm mms://vipbu.yacast.fr/encoderouifm
ou
$ vsound -v -d --file=concert.wav xine rustneversleeps.avi
Pour realplayer il faut utiliser l'option timing delay (-t):
$ vsound -v -d -t --file=lenoir.wav realplay http://www.tv-radio.com/ondemand/france_inter/LENOIR/LENOIR.ram
À la fermeture du programme appelé, vsound encode le fichier intermédiaire en .wav.
2.2 Enregistrement dans un .wav 2ème méthode
Vous pouvez aussi passer à vsound le nom de l'appli à lancer sans paramètre :
$ vsound -v -d -r 44100 --file=~/sons/wav/fip.wav xmms
puis appeler le flux ou le fichier comme expliqué dans le tutoriel sur la radio.
À la fermeture du programme appelé, vsound encode le fichier intermédiaire en .wav.
2.3 Encodage ogg en temps réel :
On va demander à vsound d'envoyer le son vers la sortie standard que l'on va rediriger par une pipe vers oggenc:
$ vsound -v -s xine rustneversleeps.avi | oggenc
3. Utilisation différée :
Mettons que vous vouliez enregistrer votre émission préférée sur une webradio, mais que vous ne serez pas devant votre ordinateur au moment crucial. On va utiliser at pour lancer vsound et arréter l'enregistrement. Si vous ne connaissez pas la commande at, je vous conseille ce tuto.-
Principe :
On appelle le "shell" at pour l'heure de début, on tape la commande et on sort de at (CTRL+D) :
$ at 21:00 at>vsound -v -d -r 44100 --file=~/sons/wav/lenoir.wav mplayer -afm acm http://ogg.tv-radio.fr:1441/encoderfinter.ogg at> ^D $Pour la fin, ma solution est un peu bourrin :$ at 22:00 at>killall mplayer at> ^D $
-
Problème des applications graphiques :
at est daemon qui va lancer une commande avec les droits de celui qui a planifié la tâche. Mais les applis graphiques ne sauront pas où s'afficher, même si vous avez lancé un serveur X. Il faut leur préciser un display, ou n'utiliser que des applis console(trplayer à la place de realplayer par ex) ;-).
Pour faire cela on va autoriser les Display au niveau du serveur X :
- dans /etc/X11/xinit/xserverrc , virer "-nolisten tcp"
- lancer "xhost +" au demarrage de X
$ vsound -v -d -r 44100 --file=~/sons/wav/fip.wav xmms --display localhost:0
4. Sources d'informations :
Les deux discussions à l'origine du tutoriel : Des pages sur vsound:- Mirroir du site officiel
- Une présentation et des paquets de vsound
- Une astuce de linuxfr.org
- Une page en français qui m'a fait connaître vsound