Dominique Meeùs
Dernière modification le
retour au sommaire Linux
Le paquet mimms
donne un utilitaire en ligne de commande
très simple pour capturer les flux (stream) mms
. La commande mimms
mms://serveur/chemin/chanson.mp3
capture le flux et l’enregistre, par défaut,
dans le fichier chanson.mp3
sur le disque. (Si on ne précise pas la cible,
c’est simplement le même nom que sur le serveur.)
Quand on regarde une vidéo en streaming, par exemple sur YouTube, le fichier s’enregistre dans le répertoire
/tmp
sous un nom cabalistique et il y reste quand le film est fini jusqu’à
ce qu’on lance une autre vidéo ou qu’on quitte la page. Si avant sa disparition on le
copie pour le mettre ailleurs, on a une copie du film sans avoir eu besoin du moindre
logiciel de capture. (On peut donner au fichier un nom plus parlant.)
Totem est une interface utilisateur pour l’un ou l’autre des
programmes gstreamer
et xine
. Ubuntu a choisi
gstreamer
qui est le plus prometteur, le plus dans le vent. (Au début, il
était surtout prometteur, comme d’autres logiciels sous Linux peuvent l’être.
Maintenant, en plus, il fonctionne assez bien.
Le problème est de pouvoir rendre des formats non-libres, ce qu’Ubuntu ne propose pas par défaut. Avant de vous affoler et d’installer VLC, Mplayer et que sais-je encore, sachez qu’il y a des solutions dans Totem.
Je suis pour s’en tenir à gstreamer
et à
l’installation de paquets debian par synaptic
ou apt
.
S’assurer que tous les plugins sont installés (voir dans Synaptic tout ce qui est
relatif à gstreamer
).
Dans le temps, il fallait disposer du plugin
gstreamer-pitfdll
qui permet d’exécuter du code dll
. Il
fallait en plus installer le paquet w32codecs
à partir de dépôts un peu
marginaux, comme ceux du Penguin Liberation
Front, en ajoutant une des déclarations suivantes (pour Ubuntu 5.10) :
deb http://packages.freecontrib.org/ubuntu/plf/ breezy free non-free
deb ftp://ftp.free.fr/pub/Distributions_Linux/plf/ubuntu/plf/ breezy free
non-free
Rien de tout cela ne semble encore nécessaire.
Certains préfèrent xine
. (C’est la solution que j’ai
utilisée avant de trouver les plugins pour gstreamer
.) On ne peut pas
avoir les deux. Remplacez le paquet totem-gstreamer
par
totem-xine
. (Attention, il faut quand même assez de codecs : dans
Totem Édition
, Préférences
, Général
:
Ajouter des greffons supplémentaires
. Décomprimez-y le fichier
http://www4.mplayerhq.hu/MPlayer/releases/codecs/all-20050216.tar.bz2.
Bon, d’accord, la date 20050216 peut changer tous les jours. Voyez
all
=all codecs for Linux x86 (Win32 .dll and Linux .so)
sur
la page
http://www4.mplayerhq.hu/homepage/design7/codecs.html.)
Il m’est arrivé après certaines mises à jour que le volume se remette
à zéro et en sourdine à chaque démarrage. Il semble que ce soit la faute de Pulseaudio.
Trouvé sur un forum la recommandation de fermer toutes les applications, d’effacer tout
le dossier ~/.pulse
et de redémarrer. On peut trouver ça brutal, mais ça
ne semble pas faire de dégât et ça donne le résultat voulu de conserver le niveau de
volume d’une session à l’autre.
On peut voir des renseignements sur sa carte son par cat
/proc/asound/cards
. Explorer /proc/asound
avec ls
et
cat
.
Les cartes son ont des tas de dispositifs différents peu documentés
et les résultats sont assez imprévisibles. Il vaut mieux utiliser
alsamixer
dans un terminal. Avec une application GUI, on n’est pas sûr que
tout soit affiché (voir ci-dessous pour le Contrôleur de volume de Gnome et
l’enregistrement). D’ailleurs, alsamixer
est déjà semi-graphique.
Avant de paniquer, d’installer toutes sortes de paquets supplémentaires et de
toucher à tous les fichiers de configuration, il faut vérifier que les différents
dispositifs qui doivent l’être sont activés et qu’il y a un volume
raisonnable ; par exemple, pour avoir du son il ne suffit pas qu’il y ait du
volume général, il faut aussi du volume PCM.
Dans Ubuntu 8.10, alsamixer
affiche la
« carte » PulseAudio par défaut, où il faut règler un volume suffisant en
lecture et en enregistrement. Pour avoir la première carte matérielle, il faut faire
alsamixer -c 0
.
Dans alsamixer
, on se déplace avec Tab
entre Playback
, Capture
, All
. On passe d’un
dispositif à l’autre avec les flèches latérales, on change les réglages avec les
flèches haut et bas ou par de plus grands incréments par Page Up, Page Down, on active
ou désactive un dispositif de lecture (Playback) avec la touche M (mute), on met un
dispositif d’enregistrement (Capture) en mode capture ou non avec la barre
d’espacement. On quitte avec Esc
.
Avec ma carte son actuelle HDA Intel intégrée sur la carte mère
chipset Realtek ALC662, rev1, l’enregistrement est impossible si on active avec
alsamixer -c 0
dans Channel
, l’option 6ch
au
lieu de 2ch
. C’est dans les options de lecture (Playback), mais ça influe
sur l’enregistrement ! Pour écouter, Front
est indispensable.
Front Mic
peut être mute, ainsi que Surround
,
Center
et LFE
. Je suppose que Line
vise l’entrée
d’une source extérieure et CD
l’écoute d’un CD par un petit câble direct
entre lecteur de CD et carte son, ce qui n’est pas le cas chez moi où on entend les CD
avec CD
mute.
Avec mon ancienne carte son (nForce2 de NVidia, chipset
Realtek ALC655), pour parler au micro, il fallait que Micro et Capture soient activés
en mode capture, pas Mix. (Le volume du micro n’intervient que sur le retour dans mon
casque, pas sur l’enregistrement ni pour mes interlocuteurs en VOIP.) Dans Édition,
Préférences du Contrôleur de volume (gnome-volume-control
) pour Alsa
mixer, il faut afficher non seulement Micro mais aussi Enregistrement. (Préférer la
commande alsamixer
, voir ci-dessus). J’ai perdu du temps à chipoter avec
Skype alors qu’Enregistrement était simplement désactivé. Afficher aussi LFE qui
devrait être désactivé (dit-on, je ne sais plus qui, où ni pourquoi).
Sous Ubuntu 8.10, le dispositif par defaut est PulseAudio. Dans Skype
2.0.0.72, dans les option du son, Default device
ne donne rien. (Je
remarque que le bouton Faire un essai sonore
teste le choix du champ
Sonnerie
.) Avec le choix pulse
pour les champs Son
sortant
et Sonnerie
, on a du son. Le Default device
dans le champ Son entrant
a pour effet qu’un appel de test avorte avec le
message Problème avec le périphérique de capture audio
. Avec
pulse
, la communication n’est pas refusée mais ça ne marche pas et le
rendu de l’enregistremnt est de durée nulle (les deux bibs se succèdent immédiatement).
Chez moi, ça ne marche qu’avec HDA Intel (hw:Intel,0)
comme son entrant,
et pulse
convient en sortie. C’est probablement ce choix en sortie qui
permet de téléphoner même si on écoute un CD. (Je veux dire que c’est techniquement
possible. Il y a bien sûr intérêt à mettre le CD en pause pour suivre la
conversation.)
À partir de 1.3.x, Skype supporte ALSA et le passage par
aoss
n’est plus nécessaire.
Pour le son, Skype s’adressait à l’ancien OSS, l’entrée et la
sortie du son se faisant par /dev/dsp
. Il arrivait que Skype refuse
d’appeler (sans explications claires), peut-être parce que le système son était ou
paraissait occupé. Le paquet alsa-oss
fournit la commande
aoss
qui permet de lancer un programme en le redirigeant vers ALSA. Si je
fais aoss skype
, Skype démarre et accepte de faire des appels, seulement
je n’ai pas de son ! Il faut encore éditer (ou même créer) un fichier
/etc/asound.conf
ou ~/.asoundrc
. J’ai écrit mon ~/.asoundrc
selon les recommandations de Lorenzo Colitti. Cela étant fait, la commande
ALSA_OSS_PCM_DEVICE="skype" aoss skype --disable-dbus
donne un Skype qui
n’est plus à la merci d’un système son occupé.
Un lanceur Gnome n’accepte pas cette phrase. J’ai donc écrit
un script
#!/bin/bash
ALSA_OSS_PCM_DEVICE="skype" aoss skype --disable-dbus
#
et c’est ce script que je lançais avec le lanceur, au lieu de
/usr/bin/skype
.
Avec les premières versions de Skype, on pouvait avoir le problème suivant :
Vous faites un appel Skype. À la fin, l’autre raccroche.
Parfois Skype le détecte et l’appel est terminé. Vous pouvez alors faire un autre
appel. Parfois non, ou bien vous voulez prendre l’initiative, et vous raccochez avec le
bouton rouge. Skype vous chante alors le /usr/share/skype/sound/hangup.wav
et omet de libérer le dispositif de son. Si vous voulez faire un nouvel appel, le son
est occupé et Skype vous dit qu’il est impossible d’appeler. Il faut alors quitter
Skype (pas seulement fermer la fenêtre) et le relancer. Autre solution (référence
http://juljas.net/linux/skype/ entre
autres) : renommer le fichier hangup.wav
pour le rendre inaccessible
à Skype.
Certaines cartes font du multiplexing (peuvent jouer plusieurs sons
en même temps) et d’autres pas. Avec la commande cat /proc/asound/pcm
,
j’obtiens ceci :
$ cat /proc/asound/pcm
00-00: Intel ICH : NVidia nForce2 : playback 1 : capture 1
00-01: Intel ICH - MIC ADC : NVidia nForce2 - MIC ADC : capture 1
00-02: Intel ICH - IEC958 : NVidia nForce2 - IEC958 : playback 1
où playback 1
veut dire que ma carte ne peut jouer
qu’un air à la fois. Des cartes plus sophistiquées pourraient répondre 32
,
par exemple.
Cela étant, ALSA peut faire du multiplexing logiciel et envoyer le
mélange à la carte son. Dans mon installation d’Ubuntu 6.06 (Dapper), ça marche
d’office. La preuve ? J’ai baptisé test35sec.wav
un jingle de 35
secondes. J’ouvre deux terminaux et je lance dans les deux avec quelques secondes de
décalage la commande aplay test35sec.wav
. J’entends ma chanson deux fois
en même temps en superposition. Sans ce service d’ALSA, la réponse à la deuxième
commande devrait être que quelque chose est busy
.
Dans la configuration d’Ekiga, si on laisse Nvidia Nforce2 comme
périphériques d’entrée et de sortie, on obtient comme avec Skype le message que c’est
occupé. Mais Ekiga qui supporte ALSA propose aussi default
, une instance
logicielle de pcm offerte par ALSA. Avec default
, ça marche.
Le Wengophone 2 est maintenant disponible dans le dépôt Universe d’Ubuntu et ça fonctionne. (Ce qui suit est obsolète.) J’ai pu dépenser mes 10 € et j’en ai remis plusieurs fois depuis. (Wengo est parfois moins cher que Skype. J’utilise Skype surtout dans mon forfait vers les lignes fixes nationales.)
J’ai installé WengoPhone (0.99) et, plein d’illusions, j’ai payé 10 € au service de téléphonie de Wengo avant de m’apercevoir que le WengoPhone ne fonctionne pas. (Il se plaint d’être mal configuré et se plante avant que l’on puisse essayer quoi que ce soit pour y remédier.) Mais puisque SIP est un standard, ne puis-je pas téléphoner avec le logiciel Ekiga sur mon copmpte chez Wengo ?
J’ai réussi à récupérer mes codes d’utilisateur du service Wengo et à les inscrire dans Ekiga. Je démarre donc Ekiga avec deux comptes enregistrés : ekiga.net et voip.wengo.fr. Je peux faire un test d’écho (réussi) avec sip:500@ekiga.net, mais aussi tout aussi bien avec sip:333@voip.wengo.fr. Si j’appelle mon téléphone comme sip:0032473abcdef@ voip.wengo.fr, l’appel aboutit bien sur le téléphone, que je peux décrocher, mais il n’y a pas de communication. Ekiga (Wengo ?) continue à sonner. Cependant, quand je raccroche le téléphone, Ekiga affiche que le correpondant a raccroché. Je ne sais pas quand je pourrai utiliser mes 10 € ! Patience.
Un jour (ancienne version d’Ubuntu ou même de Debian) je n’avais pas de son. En cherchant à repérer tous les fichiers d’aide, j’ai trouvé un readme sur alsa mentionnant l’utilitaire alsaconf. J’ai pris le risque de lancer alsaconf. J’ai eu des écrans lisibles et d’autres pas. J’ai répondu OK à tout et j’ai eu du son.
Il y a aussi un problème de permissions. Il y a un groupe du
son (audio
). Root en faisait partie mais pas, par défaut, les autres
utilisateurs. Pour qu’ils puissent bénéficier d’ALSA, il faut qu’ils soient faits
membres du groupe. Avec des installations récentes d’Ubuntu, tous les utilisateurs ont
du son.