enregistrer_depuis_une_webcam
no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | enregistrer_depuis_une_webcam [2022/11/07 11:44] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Enregistrer depuis une webcam sous Debian GNU/Linux ====== | ||
+ | Sources : | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | ===== Cas d' | ||
+ | Je souhaite enregistrer les flux vidéo et audio fournis pas une webcam [[https:// | ||
+ | <note tip> | ||
+ | Autant le dire tout de suite, dans mon cas, la solution à tous les problèmes s'est appelée // | ||
+ | < | ||
+ | # apt install guvcview | ||
+ | </ | ||
+ | Suivi de : | ||
+ | < | ||
+ | $ guvcview | ||
+ | </ | ||
+ | J'ai eu facilement accès à tous les réglages, pu faire tous tests souhaités afin de tirer le meilleur de ma webcam (en l’occurrence du 1080p à 30fps), tout en définissant le format et les paramètres d' | ||
+ | Ce programme a instantanément reconnu tous les périphériques connectés susceptibles de fournir de la vidéo((Pas de capture d' | ||
+ | </ | ||
+ | ===== Mon choix ===== | ||
+ | * En détection : | ||
+ | * //qv4l2// donne un accès immédiat aux caractéristiques de la première webcam et permet d' | ||
+ | * // | ||
+ | * En enregistrement : | ||
+ | * // | ||
+ | * // | ||
+ | * En vérification d' | ||
+ | ===== Détection vidéo ===== | ||
+ | Dans mon cas d' | ||
+ | |||
+ | ==== Périphériques USB détectés ==== | ||
+ | Pour avoir une chance d' | ||
+ | < | ||
+ | $ lsusb | ||
+ | </ | ||
+ | Affiche la liste des périphériques détectés, un clavier, une souris, une webcam, un micro autonome, un adrophone… Si la webcam ne figure pas dans la liste, inutile d' | ||
+ | |||
+ | Dans mon cas, ma webcam est reconnue en tant que périphérique USB : | ||
+ | < | ||
+ | Bus 001 Device 008: ID 0c45:636d Microdia PC-LM1E | ||
+ | </ | ||
+ | ==== Quelques outils ==== | ||
+ | === En ligne === | ||
+ | Ces outils fonctionnent sur le principe du test initial que j'ai réalisé via un serveur Jitsi et Firefox. | ||
+ | |||
+ | Il faut toutefois souligner que ces tests se font en local sur l' | ||
+ | |||
+ | == webcamtests.com == | ||
+ | [[https:// | ||
+ | |||
+ | Dans mon cas d' | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Il affiche une vue temporelle spectrale du signal et procède à une série de tests dont il affiche les résultats. Durant les tests, il procède à un enregistrement que l'on pourra lire, une fois les tests terminés. Cela permet de constater auditivement la qualité du signal. | ||
+ | |||
+ | <note tip>Pas de panique, l' | ||
+ | |||
+ | == onlinemictest.com == | ||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | === Interface graphique === | ||
+ | == qv4l2 == | ||
+ | //qv4l2// est vraiment très informatif pour peu que la webcam soit prise en charge par v4l2((vidéo for linux.)) | ||
+ | On retrouve le même type d' | ||
+ | |||
+ | On choisit le format, la taille et il calcule la vitesse d' | ||
+ | |||
+ | Il affiche directement les caractéristiques de la première webcam détectée. On peut en choisir une autre : File > Open device, puis naviguer vers /dev et choisir le nom du " | ||
+ | === En ligne de commande === | ||
+ | |||
+ | |||
+ | == Formats du signal et résolutions == | ||
+ | // | ||
+ | |||
+ | Dans mon cas il a reconnu ma webcam récente et ma webcam antique, ainsi que tous les formats et encodages fournis par ces deux webcam. | ||
+ | Pour l' | ||
+ | < | ||
+ | # apt install gst-device-monitor-1.0 | ||
+ | </ | ||
+ | Pour l' | ||
+ | < | ||
+ | $ gst-device-monitor-1.0 | ||
+ | </ | ||
+ | Goûter les résultats :-) Dans mon cas, je retrouve les promesses du fabricant :-D | ||
+ | |||
+ | Ça se complique car il faut connaître le nom interne donné par le système à la caméra. En effet, ce nom c'est pas celui qui est proposé dans la liste déroulent de Firefox. Heureusement, | ||
+ | |||
+ | //ffmpeg// avec les bons paramètres affiche ces informations. | ||
+ | < | ||
+ | ffmpeg -list_formats all -i /dev/video0 | ||
+ | </ | ||
+ | Dans mon cas, cela affiche : | ||
+ | < | ||
+ | [video4linux2, | ||
+ | [video4linux2, | ||
+ | </ | ||
+ | Quasiment les mêmes résultats que // | ||
+ | |||
+ | //ffplay// permet d' | ||
+ | |||
+ | Dans mon cas, il récupère manifestement le second flux détecté par //ffmpeg//, non compressé et fatalement lentissime (à 5fps !) : | ||
+ | < | ||
+ | $ ffplay -fflags nobuffer -flags low_delay -framedrop -i /dev/video0 | ||
+ | […] | ||
+ | Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), | ||
+ | </ | ||
+ | |||
+ | |||
+ | //mpv// donne a peu près le même genre d' | ||
+ | |||
+ | < | ||
+ | $ mpv --profile=low-latency --untimed /dev/video0 | ||
+ | […] | ||
+ | (+) Video --vid=1 (rawvideo 1920x1080 5.000fps) | ||
+ | [autoconvert] Converting yuyv422 -> yuv422p | ||
+ | VO: [gpu] 1920x1080 yuv422p | ||
+ | </ | ||
+ | |||
+ | == Informations techniques == | ||
+ | v4l2-ctl permet de récupérer des caractéristiques techniques de webcam. | ||
+ | < | ||
+ | ffmpeg -list_formats all -i /dev/video0 | ||
+ | </ | ||
+ | Dans mon cas, il a bien détecté la Aukey PC-LM1E mais pas ma vieille Logitech((Dont ffmpeg m'a appris qu' | ||
+ | via Firefox sur les outils en ligne… À titre d' | ||
+ | < | ||
+ | $ v4l2-ctl -D | ||
+ | Driver Info: | ||
+ | Driver name : uvcvideo | ||
+ | Card type : PC-LM1E: PC-LM1E | ||
+ | Bus info : usb-0000: | ||
+ | Driver version | ||
+ | Capabilities | ||
+ | Video Capture | ||
+ | Metadata Capture | ||
+ | Streaming | ||
+ | Extended Pix Format | ||
+ | Device Capabilities | ||
+ | Device Caps : 0x04200001 | ||
+ | Video Capture | ||
+ | Streaming | ||
+ | Extended Pix Format | ||
+ | </ | ||
+ | |||
+ | ==== Problèmes et pistes de solutions ==== | ||
+ | === Les applications choisissent le mauvais encodage === | ||
+ | Dans mon cas, les applications privilégient le flux non compressé. Une piste est de créer un pseudo périphérique configuré comme le souhaite. C'est la solution suggérée dans un forum pour le régler le problème inverse((L' | ||
+ | |||
+ | === L' | ||
+ | Sous KDE, "Les paramètres de volume audio" donnent beaucoup d' | ||
+ | |||
+ | Je préfère utiliser // | ||
+ | < | ||
+ | # apt install pavucontrol. | ||
+ | </ | ||
+ | ===== Détection audio ===== | ||
+ | Sources : | ||
+ | * [[https:// | ||
+ | |||
+ | == arecord == | ||
+ | |||
+ | < | ||
+ | $ arecord -l | ||
+ | **** Liste des Périphériques Matériels CAPTURE **** | ||
+ | carte 0: PCH [HDA Intel PCH], périphérique 0: ALC897 Analog [ALC897 Analog] | ||
+ | Sous-périphériques: | ||
+ | Sous-périphérique #0: subdevice #0 | ||
+ | carte 0: PCH [HDA Intel PCH], périphérique 2: ALC897 Alt Analog [ALC897 Alt Analog] | ||
+ | Sous-périphériques: | ||
+ | Sous-périphérique #0: subdevice #0 | ||
+ | carte 1: Microphone [USB Condenser Microphone], | ||
+ | Sous-périphériques: | ||
+ | Sous-périphérique #0: subdevice #0 | ||
+ | carte 2: PCLM1E [PC-LM1E], périphérique 0: USB Audio [USB Audio] | ||
+ | Sous-périphériques: | ||
+ | Sous-périphérique #0: subdevice #0 | ||
+ | </ | ||
+ | |||
+ | == Liste claire des sources audio disponibles== | ||
+ | < | ||
+ | $ pacmd list-sources | grep -e ' | ||
+ | </ | ||
+ | Fournit la liste des sources et indique un manière de nommer les sources. | ||
+ | Dans mon cas, il signal que " | ||
+ | < | ||
+ | index: 1 | ||
+ | name: < | ||
+ | device.string = " | ||
+ | </ | ||
+ | L' " | ||
+ | == Activation et niveau sonore == | ||
+ | Le périphérique audio et son flux peuvent être parfaitement reconnus mais ne rien produire. | ||
+ | |||
+ | // | ||
+ | |||
+ | Si le système est configuré pour utiliser Alsa((Advancde Linux Sound Architecture.)), | ||
+ | < | ||
+ | $ alsamixer | ||
+ | </ | ||
+ | ===== Enregistrement ===== | ||
+ | ==== guvcview ==== | ||
+ | Comme annoncé au début de cette fiche, // | ||
+ | |||
+ | ==== OBS ==== | ||
+ | Obs-Studio a été la première application testée à me donner un bon résultat. Certes, OBS est conçu pour faire bien plus qu' | ||
+ | |||
+ | L' | ||
+ | |||
+ | Pour enregistrer la webcam il faudra créer une source vidéo et une source audio. | ||
+ | |||
+ | La configuration de la source audio est relativement simple en choisissant le type " | ||
+ | |||
+ | Dans mon cas, la configuration de la source vidéo a été un peu plus compliquée car le paramètre d' | ||
+ | |||
+ | La difficulté suivante est de ramener la taille de l' | ||
+ | |||
+ | Le réglage se trouve dans : Fichier > Paramètres > Vidéo. C'est l' | ||
+ | |||
+ | Si l' | ||
+ | |||
+ | Il ne reste plus qu'à lancer l' | ||
+ | ==== VLC ==== | ||
+ | Présent dans la plupart des configuration standard sur un ordinateur "de bureau" | ||
+ | |||
+ | Média > Ouvrir un périphérique de capture permet d' | ||
+ | |||
+ | Dans mon cas, VLC n' | ||
+ | |||
+ | ==== Kdenlive ==== | ||
+ | Certes, c'est un logiciel de montage mais il est également censé pouvoir récupérer le flux d'une webcam : Configuration > Configurer Kdenlive > Acquisition. | ||
+ | |||
+ | Dans mon cas, Kdenlive ne détecte aucun périphérique. L' | ||
+ | ==== Cheese ==== | ||
+ | J'en avais lu tellement de bien que ça a été mon deuxième choix. Dans mon cas, cette application a donné un résultat vraiment pourri : 640x480 flou. Mes différentes tentatives de jouer sur les paramètres de configuration n'ont rien donné. | ||
+ | ==== Kamoso ==== | ||
+ | Kamoso, prévu pour tourner sous KDE, n'a rien donné d' | ||
+ | ===== Vérifier l' | ||
+ | Bien sûr, la vérification est avant tout visuelle et sonore. | ||
+ | |||
+ | On peut aussi vérifier l' | ||
+ | < | ||
+ | $ ffprobe nom_du_fichier | ||
+ | </ | ||
+ | vous dira tout. |
enregistrer_depuis_une_webcam.txt · Dernière modification : 2022/11/07 11:44 de 127.0.0.1