使用 ffmpeg arecord -L,我可以将我的 Logitech USB 网络摄像头识别为:
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
Run Code Online (Sandbox Code Playgroud)
当我进入 /dev/snd/by-id 时,网络摄像头被描述为:
usb-046d_0821_6813BFD0-00 -> ../controlC1
Run Code Online (Sandbox Code Playgroud)
我知道在 ffmpeg 中使用声音设备的命令是
ffmpeg -f alsa -i $ALSA_DEVICE_NAME..
Run Code Online (Sandbox Code Playgroud)
我试过了
ffmpeg -f alsa -i "hw:CARD=U0x46d0x821,DEV=0" and
ffmpeg -f alsa -i "plughw:CARD=U0x46d0x821,DEV=0"
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我都收到相同的错误消息
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 …Run Code Online (Sandbox Code Playgroud)