use*_*779 6 sound microphone webcam ffmpeg soundcard
使用 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)
我也试过
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
Run Code Online (Sandbox Code Playgroud)
可以使用一些帮助来制定命令的正确格式
以下是正确的方法:
arecord -L命令。plughw与您的硬件对应的值。请注意,plughw 代表已插入计算机的硬件。/dev/snd/by-id目录中的值。
by-id子目录将从目录中消失/dev/snd。这是一个很好的测试,可以确认哪个plughw是外部插入的设备。arecord -L命令获得的值之一相同或对应。ffmpeg: -f alsa -i plughw.对我来说一个有效的例子是:
ffmpeg -f alsa -i plughw:CARD=U0x46d0x821,DEV=0 -acodec libmp3lame -t 20 output.mp4
Run Code Online (Sandbox Code Playgroud)您可以通过添加以下命令将视频部分添加到上述命令中:
-f video4linux2 -i /dev/video0
Run Code Online (Sandbox Code Playgroud)我希望这有帮助。欢迎任何相关问题。
小智 0
我快速阅读了 ffmpeg 的手册页,他们建议查看 /proc/asound/cards
我的机器上有两张卡 0 和 1,我的网络摄像头是 1,所以我的命令是
ffmpeg -f alsa -i hw:1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10209 次 |
| 最近记录: |