Avec ffmpeg arecord -L, je peux identifier ma webcam USB Logitech comme:
hw:CARD=U0x46d0x821,DEV=0
USB Device 0x46d:0x821, USB Audio
Direct hardware device without any conversions
plughw:CARD=U0x46d0x821,DEV=0
USB Device 0x46d:0x821, USB Audio
Hardware device with all software conversions
quand je vais dans/dev/snd/by-id, la webcam est décrite comme suit:
usb-046d_0821_6813BFD0-00 -> ../controlC1
Je sais que la commande pour utiliser un périphérique audio dans ffmpeg est
ffmpeg -f alsa -i $ALSA_DEVICE_NAME..
J'ai essayé
ffmpeg -f alsa -i "hw:CARD=U0x46d0x821,DEV=0" and
ffmpeg -f alsa -i "plughw:CARD=U0x46d0x821,DEV=0"
et dans les deux cas, je reçois le même message d'erreur
ALSA lib pcm.c:2208:(snd_pcm_open_noupdate) Unknown PCM hw=CARD=U0x46d0x821,DEV=0
[alsa @ 0x9c96580] cannot open audio device hw=CARD=U0x46d0x821,DEV=0 (No such file or directory)
hw:CARD=U0x46d0x821,DEV=0: Input/output error
J'ai aussi essayé
ffmpeg -f alsa -i "usb-046d_0821_6813BFD0-00" and
ffmpeg -f alsa -i "usb-046d_0821_6813BFD0-00,DEV=0" and have still received error message
Pourrait utiliser de l'aide pour formuler le format correct de la commande
Ce qui suit est la bonne façon:
arecord -L
.plughw
qui correspondent à votre matériel. Veuillez noter que plughw représente un matériel branché sur l'ordinateur./dev/snd/by-id
. by-id
disparaît du répertoire /dev/snd
. C’est un excellent test pour vérifier quel plughw
est un périphérique branché à l’extérieur.arecord -L
.ffmpeg: -f alsa -i plughw
.Un exemple de travail pour moi était:
ffmpeg -f alsa -i plughw:CARD=U0x46d0x821,DEV=0 -acodec libmp3lame -t 20 output.mp4
Vous pouvez ajouter la partie vidéo à la commande ci-dessus en ajoutant:
-f video4linux2 -i /dev/video0
J'espère que ça aide. Toute question connexe est/sont les bienvenus.
J'ai lu rapidement la page de manuel de ffmpeg et ils recommandent de regarder dans/proc/asound/cards
J'ai deux cartes sur les machines 0 et 1 et ma webcam est à 1, la commande est donc la suivante:
ffmpeg -f alsa -i hw:1