Webcam Logitech C920 Pro HD einrichten
 

Unterstützt wird die Webcam C920 von der Library libv4l. Um sie zu testen am Besten die v4l-Utillitys installieren.
# apt-get install v4l-utils qv4l2
qv4l2 ist ein sehr gutes Tool um die Funktionen der Webcam zu sehen, einzustellen und um sie zu testen, ob sie überhaupt funktioniert.

# v4l2-ctl --list-devices
listet die angeschlossenen v4l-Devices auf. Möchte man sämtliche möglichen Einstellungen der Webcam sehen, hilft
# v4l2-ctl -d /dev/video0 --list-ctrls
dabei kann man sich z.B. mit
# v4l2-ctl --get-ctrl=white_balance_temperature
die momentane Einstellung anzeigen lassen. Möchte man Einstellungen verändern macht man das folgendermaßen:
# v4l2-ctl --set-ctrl=gain=00
# v4l2-ctl --set-ctrl=exposure_auto=1
# v4l2-ctl --set-ctrl=exposure_absolute=10

Bei manchen Einstellungen muß man vorher die Automatik abschalten, sonst schlägt die Einstellung fehl.
# v4l2-ctl --set-ctrl=white_balance_temperature_auto=1
# v4l2-ctl --set-ctrl=white_balance_temperature=6000
VIDIOC_S_CTRL: failed: Input/output error
white_balance_temperature: Input/output error

# v4l2-ctl --set-ctrl=white_balance_temperature_auto=0
# v4l2-ctl --set-ctrl=white_balance_temperature=6000

Virtuelle Webcam

Möchte man eine virtuelle Webcam erstellen, kann man das mittels eines loopback Devices machen.
# apt-get install v4l2loopback-utils
Während der Installation wird auch gstreamer installiert und ein Kernel-Modul gebaut. Mit Hilfe eines Loopback-Devices kann man eine "virtuelle" Kamera, z.B. /dev/video11 im System erstellen.

 

Audioprobleme mit dem in der Webcam eingebautem Mikrofon

Als ich die Webcam für einen Videochat mittels webRTC über Firefox verwenden wollte, hat das Mikrofon nicht funktioniert. Um das Problem genauer zu untersuchen, helfen eventuell folgende Befehle:

# cat /proc/asound/cards   # zeigt die momentane Audio-Konfiguration von Alsa an

 0 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xfe400000 irq 16
 1 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xfe080000 irq 25
 2 [UMONE          ]: USB-Audio - UM-ONE
                      Roland UM-ONE at usb-0000:00:16.0-4, full speed
 3 [C920           ]: USB-Audio - HD Pro Webcam C920
                      HD Pro Webcam C920 at usb-0000:02:00.0-1.3, high speed
	
# cat /proc/asound/modules   zeigt die verwendeten Treiber-Module
 0 snd_hda_intel
 1 snd_hda_intel
 2 snd_usb_audio
 3 snd_usb_audio
# cat /proc/asound/devices   zeigt die verwendeten Alsa-Devices an
  2: [ 0- 0]: digital audio playback
  3: [ 0- 0]: digital audio capture
  4: [ 0- 1]: digital audio playback
  5: [ 0- 2]: digital audio capture
  6: [ 0- 0]: hardware dependent
  7: [ 0]   : control
  8: [ 1- 3]: digital audio playback
  9: [ 1- 7]: digital audio playback
 10: [ 1- 8]: digital audio playback
 11: [ 1- 9]: digital audio playback
 12: [ 1- 0]: hardware dependent
 13: [ 1]   : control
 14: [ 2- 0]: raw midi
 15: [ 2]   : control
 16: [ 3- 0]: digital audio capture
 17: [ 3]   : control
 33:        : timer
# arecord --list-pcms
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
default:CARD=SB
    HDA ATI SB, ALC887-VD Analog
    Default Audio Device
sysdefault:CARD=SB
    HDA ATI SB, ALC887-VD Analog
    Default Audio Device
front:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    Front speakers
surround21:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
dmix:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    Direct sample mixing device
dmix:CARD=SB,DEV=2
    HDA ATI SB, ALC887-VD Alt Analog
    Direct sample mixing device
dsnoop:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    Direct sample snooping device
dsnoop:CARD=SB,DEV=2
    HDA ATI SB, ALC887-VD Alt Analog
    Direct sample snooping device
hw:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    Direct hardware device without any conversions
hw:CARD=SB,DEV=2
    HDA ATI SB, ALC887-VD Alt Analog
    Direct hardware device without any conversions
plughw:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    Hardware device with all software conversions
plughw:CARD=SB,DEV=2
    HDA ATI SB, ALC887-VD Alt Analog
    Hardware device with all software conversions
default:CARD=UMONE
    Default Audio Device
sysdefault:CARD=UMONE
    Default Audio Device
default:CARD=C920
    HD Pro Webcam C920, USB Audio
    Default Audio Device
sysdefault:CARD=C920
    HD Pro Webcam C920, USB Audio
    Default Audio Device
front:CARD=C920,DEV=0
    HD Pro Webcam C920, USB Audio
    Front speakers
surround21:CARD=C920,DEV=0
    HD Pro Webcam C920, USB Audio
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=C920,DEV=0
    HD Pro Webcam C920, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=C920,DEV=0
    HD Pro Webcam C920, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=C920,DEV=0
    HD Pro Webcam C920, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=C920,DEV=0
    HD Pro Webcam C920, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=C920,DEV=0
    HD Pro Webcam C920, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=C920,DEV=0
    HD Pro Webcam C920, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=C920,DEV=0
    HD Pro Webcam C920, USB Audio
    Direct sample mixing device
dsnoop:CARD=C920,DEV=0
    HD Pro Webcam C920, USB Audio
    Direct sample snooping device
hw:CARD=C920,DEV=0
    HD Pro Webcam C920, USB Audio
    Direct hardware device without any conversions
plughw:CARD=C920,DEV=0
    HD Pro Webcam C920, USB Audio
    Hardware device with all software conversions

Die Lösung, die das USB-Micro der Webcam unter Firefox und webRTC zum Laufen brachte:

Eine Datei im Heimatverzeichnis namens .asoundrc anlegen mit folgendem Inhalt:

pcm.dsnooped {
        type dsnoop
        ipc_key 1027
        ipc_key_add_uid true
        slave {
                pcm "hw:3,0"
                periods 0
                period_time 0
        }
}
 
pcm.!default {
         type asym
         playback.pcm {
                 type plug
                 slave.pcm "dmix:0,0"
         }
         capture.pcm {
                 type plug
                 slave.pcm "dsnooped"
         }
}
Mittels pcm.dsnooped wird ein Mixer Plug-In angelegt für Audio-EINGÄNGE, also CAPTURE Devices. Dieses PlugIn wird als Default-Eingangskanal gewählt. Läßt man die Einstellungen periods 0 und period_time 0 weg, hat man heftige Latenzen von 1-2 Sekunden. Mit diesen Einstellungen ist man immerhin auf ca. einer halben Sekunde, was für Videochat Anwendungen normal wäre.

 

Probleme mit der Anzeige unter xawtv

Hat man mit der Anzeige unter xawtv Probleme, kann man die Option -nodga testen:
# xawtv -nodga -c /dev/video0
Treiber können die XFree86 Direct Graphics Architecture (DGA) unterstützen, indem sie eine Struktur von Funktionszeigern und eine Liste von Modi ausfüllen und diese an DGAInit übergeben. Allerdings wird DGA anscheinend in der Zukunft aus Nvidia-Treibern entfernt, daher ist es besser es nicht zu verwenden.