J'ai deux webcams Logitech C920 PRO HD connectées à mon système via USB. Cependant, l'une de ces caméras affiche le mauvais nom dans la sortie de la commande lsusb :
Bus 003 Device 003: ID 046d:0892 Logitech, Inc. OrbiCam
Bus 003 Device 002: ID 046d:082d Logitech, Inc. HD Pro Webcam C920
Je pense que le système attribue un mauvais pilote à l'une des caméras, d'où le mauvais nom (OrbiCam). Outre le nom, un autre problème causé par cela est que je ne peux pas accéder au flux H264 de cette webcam. La sortie de la commande ffmpeg ci-dessous indique que la caméra avec le mauvais nom dans lsusb n'a pas de flux h264 :
Webcam avec le bon pilote :
ffmpeg version n4.2.2 Copyright (c) 2000-2019 les développeurs FFmpeg
construit avec gcc 9.3.0 (Arch Linux 9.3.0-1)
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
[video4linux2,v4l2 @ 0x555ff5479100] Raw : yuyv422 : YUYV 4:2:2 : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080 2304x1296 2304x1536
[video4linux2,v4l2 @ 0x555ff5479100] Compressed: h264 : H.264 : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080
[video4linux2,v4l2 @ 0x555ff5479100] Compressed: mjpeg : Motion-JPEG : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080
/dev/video0: Sortie immédiate demandée
Webcam avec mauvais pilote (flux h264 manquant) :
ffmpeg version n4.2.2 Copyright (c) 2000-2019 les développeurs FFmpeg
construit avec gcc 9.3.0 (Arch Linux 9.3.0-1)
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
[video4linux2,v4l2 @ 0x559807fbb100] Raw : yuyv422 : YUYV 4:2:2 : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080 2304x1296 2304x1536
[video4linux2,v4l2 @ 0x559807fbb100] Compressed: mjpeg : Motion-JPEG : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080
/dev/video2: Sortie immédiate demandée
J'ai essayé avec d'autres ports USB, différents systèmes (Manjaro) et même sur un Raspberry Pi 3B et dans tous ces cas, cette erreur de pilote s'est produite. Par conséquent, je pense qu'il peut s'agir d'un problème lié au noyau ou d'un problème avec le pilote Linux UVC.
Je voulais donc savoir comment je peux changer le pilote de périphérique utilisé par une webcam afin de pouvoir faire correspondre les pilotes des deux webcams et résoudre ce problème. Comme vous pouvez le voir, les deux caméras sont du même modèle, mais elles affichent des Identifiants de Produit (PID) différents dans lsusb (046d:0892 vs 046d:082d).
Toute aide serait grandement appréciée.