Webcam avec mplayer

Le
geo cherchetout
Bonjour,

J'ai une webcam Logitech qui s'utilise avec v4l2 et le module uvcvideo. Elle
possède un microphone incorporé et délivre les signaux audio et vidéo sur la
même prise USB. Avec mplayer, j'obtiens la vidéo en exécutant le commande
suivante, par exemple :

$ mplayer tv:// -tv driver=v4l2:width20:height$0:device=/dev/video0

Mais c'est du cinéma muet. Dans l'espoir d'avoir aussi le son, j'ai essayé
d'ajouter des options du genre :adevice=xxxx mais le verdict est toujours le
même : Audio: no sound.

Quelle serait la bonne syntaxe pour obtenir le son
- capté par le micro incorporé ?
- capté par le micro branché sur la prise ad hoc de ma carte son ?

Voici deux extraits de la réponse à la commande lshw :

*-usb:1
description: Video
product: QuickCam Pro 5000
vendor: Logitech, Inc.
physical id: 6
bus info: usb@1:6
version: 0.05
serial: 3823F4A1
capabilities: usb-2.00
configuration: driver=snd-usb-audio maxpowerP0mA
speedH0.0MB/s


*-pci:0
description: PCI bridge
product: CK804 PCI Bridge
vendor: nVidia Corporation
physical id: 9
bus info: pci@0000:00:09.0
version: a2
width: 32 bits
clock: 66MHz
capabilities: pci subtractive_decode bus_master
resources: ioport:c000(size@96) memory:d6000000-d7ffffff
*-multimedia
description: Multimedia audio controller
product: 5880B [AudioPCI]
vendor: Ensoniq
physical id: 6
bus info: pci@0000:05:06.0
version: 02
width: 32 bits
clock: 33MHz
capabilities: pm bus_master cap_list
configuration: driver=ENS1371 latency2 maxlatency8 mingnt
resources: irq:16 ioport:c000(sized)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas George
Le #23371221
geo cherchetout , dans le message
Mais c'est du cinéma muet. Dans l'espoir d'avoir aussi le son, j'ai essayé
d'ajouter des options du genre :adevice=xxxx mais le verdict est toujours le
même : Audio: no sound.



Si tu mets xxxx, forcément ça ne va pas marcher.

Quelle serait la bonne syntaxe pour obtenir le son
- capté par le micro incorporé ?
- capté par le micro branché sur la prise ad hoc de ma carte son ?



La première chose à faire serait de tester si tu arrives à avoir du son avec
arecord.

Voici deux extraits de la réponse à la commande lshw :



cat /proc/asound/cards serait plus utile.
geo cherchetout
Le #23371561
Le 17/05/2011 18:44, *Nicolas George* a écrit fort à propos :

Mais c'est du cinéma muet. Dans l'espoir d'avoir aussi le son, j'ai essayé
d'ajouter des options du genre :adevice=xxxx mais le verdict est toujours le
même : Audio: no sound.



Si tu mets xxxx, forcément ça ne va pas marcher.



Parmi mes essais avouables :

:adevice=hw.0,0 et des variantes avec d'autres chiffres différents de 0

:adeviceÞfault

Quelle serait la bonne syntaxe pour obtenir le son
- capté par le micro incorporé ?
- capté par le micro branché sur la prise ad hoc de ma carte son ?



La première chose à faire serait de tester si tu arrives à avoir du son avec
arecord.



Oui, son impeccable avec cette commande et des variantes :

$ arecord -D default -c 1 -r 16000 -f S16_LE - | aplay -D default -c 1 -r
16000 -f S16_LE -

cat /proc/asound/cards serait plus utile.



# cat /proc/asound/cards
0 [AudioPCI ]: ENS1371 - Ensoniq AudioPCI
Ensoniq AudioPCI ENS1371 at 0xc000, irq 16
1 [U0x46d0x8ce ]: USB-Audio - USB Device 0x46d:0x8ce
USB Device 0x46d:0x8ce at usb-0000:00:02.1-6, high speed
Yannick Palanque
Le #23371641
Bonjour,

À 2011-05-17T20:17:12+0200,
geo cherchetout
Parmi mes essais avouables :

:adevice=hw.0,0 et des variantes avec d'autres chiffres différents de
0



D'après la page de man et mon expérience avec une autre option
similaire, ne serait-ce pas plutôt "adevice=hw=0.0" (etc.) qu'il
faudrait essayer ?
geo cherchetout
Le #23371851
# cat /proc/asound/cards
0 [AudioPCI ]: ENS1371 - Ensoniq AudioPCI
Ensoniq AudioPCI ENS1371 at 0xc000, irq 16
1 [U0x46d0x8ce ]: USB-Audio - USB Device 0x46d:0x8ce
USB Device 0x46d:0x8ce at usb-0000:00:02.1-6, high speed



Compléments :

$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: AudioPCI [Ensoniq AudioPCI], device 0: ES1371/1 [ES1371 DAC2/ADC]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: U0x46d0x8ce [USB Device 0x46d:0x8ce], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0


$ arecord -L
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
default
Default ALSA Output (currently PulseAudio Sound Server)
front:CARD=AudioPCI,DEV=0
Ensoniq AudioPCI, ES1371 DAC2/ADC
Front speakers
surround40:CARD=AudioPCI,DEV=0
Ensoniq AudioPCI, ES1371 DAC2/ADC
4.0 Surround output to Front and Rear speakers
iec958:CARD=AudioPCI,DEV=0
Ensoniq AudioPCI, ES1371 DAC2/ADC
IEC958 (S/PDIF) Digital Audio Output
front:CARD=U0x46d0x8ce,DEV=0
USB Device 0x46d:0x8ce, USB Audio
Front speakers
surround40:CARD=U0x46d0x8ce,DEV=0
USB Device 0x46d:0x8ce, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=U0x46d0x8ce,DEV=0
USB Device 0x46d:0x8ce, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=U0x46d0x8ce,DEV=0
USB Device 0x46d:0x8ce, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=U0x46d0x8ce,DEV=0
USB Device 0x46d:0x8ce, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=U0x46d0x8ce,DEV=0
USB Device 0x46d:0x8ce, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=U0x46d0x8ce,DEV=0
USB Device 0x46d:0x8ce, USB Audio
IEC958 (S/PDIF) Digital Audio Output
geo cherchetout
Le #23372021
Une variante qui marche aussi.

$ arecord -D hw:0,0 -c 1 -r 16000 -f S16_LE - | aplay -D default -c 1 -r
16000 -f S16_LE -

Les autres variantes acceptées sont sans intérêt, j'ai seulement utilisé des
fréquences d'échantillonnage plus faibles.
Nicolas George
Le #23372131
geo cherchetout , dans le message
Oui, son impeccable avec cette commande et des variantes :

$ arecord -D default -c 1 -r 16000 -f S16_LE - | aplay -D default -c 1 -r
16000 -f S16_LE -



Après vérification, mplayer semble bien ignorer complètement les options
audio. Je vais essayer de regarder ça demain, et voir s'il y a moyen de
réparer.
Nicolas George
Le #23373191
geo cherchetout , dans le message
Oui, son impeccable avec cette commande et des variantes :

$ arecord -D default -c 1 -r 16000 -f S16_LE - | aplay -D default -c 1 -r
16000 -f S16_LE -



Essaie avec ceci :

immediatemode=0:forceaudio:alsa=1:adeviceÞfault
geo cherchetout
Le #23373281
Le 18/05/2011 10:57, *Nicolas George* a écrit fort à propos :

Essaie avec ceci :

immediatemode=0:forceaudio:alsa=1:adeviceÞfault



Le son est audible. :-) Et de bonne qualité, contrairement à ce que
laisserait supposer le message renvoyé :

$ mplayer tv:// -tv
driver=v4l2:width20:height$0:device=/dev/video0:immediatemode=0:forceaudio:alsa=1:adeviceÞfault
MPlayer SVN-1.rc4.0.r32713.1plf2010.1-4.4.3 (C) 2000-2010 MPlayer Team
Can't open joystick device /dev/input/js0: No such file or directory
Can't init input joystick
mplayer: could not open config files /home/gerard/.lircrc and /etc/lirc/lircrc
mplayer: No such file or directory
Failed to read LIRC config file ~/.lircrc.

Playing tv://.
TV file format detected.
Selected driver: v4l2
name: Video 4 Linux 2 input
author: Martin Olschewski comment: first try, more to come ;-)
v4l2: your device driver does not support VIDIOC_G_STD ioctl, VIDIOC_G_PARM
was used instead.
Selected device: UVC Camera (046d:08ce)
Capabilities: video capture streaming
supported norms:
inputs: 0 = Camera 1;
Current input: 0
Current format: YUYV
v4l2: ioctl set format failed: Invalid argument
v4l2: ioctl set format failed: Invalid argument
v4l2: ioctl set format failed: Invalid argument
tv.c: norm_from_string(pal): Bogus norm parameter, setting default.
v4l2: ioctl enum norm failed: Invalid argument
Error: Cannot set norm!
Selected input hasn't got a tuner!
v4l2: ioctl set mute failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
========================================================================= Opening video decoder: [raw] RAW Uncompressed Video
Movie-Aspect is undefined - no prescaling applied.
VO: [xv] 320x240 => 320x240 Packed YUY2 [zoom]
Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)
========================================================================= ========================================================================= Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 1411.2 kbit/100.00% (ratio: 176400->176400)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
========================================================================= AO: [pulse] 44100Hz 2ch s16le (2 bytes per sample)
Starting playback...
A: 29.2 V: 28.9 A-V: 0.297 ct: 0.226 417/417 0% 0% 24.8% 80 0


************************************************
**** Your system is too SLOW to play this! ****
************************************************

Possible reasons, problems, workarounds:
- Most common: broken/buggy _audio_ driver
- Try -ao sdl or use the OSS emulation of ALSA.
- Experiment with different values for -autosync, 30 is a good start.
- Slow video output
- Try a different -vo driver (-vo help for a list) or try -framedrop!
- Slow CPU
- Don't try to play a big DVD/DivX on a slow CPU! Try some of the lavdopts,
e.g. -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all.
- Broken file
- Try various combinations of -nobps -ni -forceidx -mc 0.
- Slow media (NFS/SMB mounts, DVD, VCD etc)
- Try -cache 8192.
- Are you using -cache to play a non-interleaved AVI file?
- Try -nocache.
Read DOCS/HTML/en/video.html for tuning/speedup tips.
If none of this helps you, read DOCS/HTML/en/bugreports.html.

A: 119.1 V: 119.1 A-V: 0.001 ct: 0.250 1763/1763 0% 0% 21.6% 326 0
v4l2: ioctl set mute failed: Invalid argument
v4l2: 1785 frames successfully processed, 8 frames dropped.
geo cherchetout
Le #23373651
immediatemode=0:forceaudio:alsa=1:adeviceÞfault



Le son est audible. :-) Et de bonne qualité,



Même résultat en remplaçant adeviceÞfault par adevice=hw.0,0. Dans ces
deux cas c'est le son transmis par le micro de mon casque qui est joué.

Avec adevice=hw.1,0 c'est celui du micro de la webcam. Très correct mais
pollué par des « toc » irréguliers toutes les une à trois secondes environ.
Que pourrais-je essayer pour éviter ou au moins espacer ces bruits parasites ?

En tout cas je dispose à présent d'un instrument sérieux pour tenter de
comprendre le comportement d'une autre webcam, à problèmes celle-là. Merci
Nicolas.
Nicolas George
Le #23373861
geo cherchetout , dans le message
Avec adevice=hw.1,0 c'est celui du micro de la webcam. Très correct mais
pollué par des « toc » irréguliers toutes les une à trois secondes environ.
Que pourrais-je essayer pour éviter ou au moins espacer ces bruits parasites ?



Ça ressemble à un dépassement, par le bas ou par le haut, du buffer
d'enregistrement. Une expérience à faire serait de jouer un son sinusoïdal
et de l'enregistrer avec ce micro (avec arecord, pas mplayer), pour mesurer
précisément la différence de fréquence.
Publicité
Poster une réponse
Anonyme