【问题标题】:recording sound from webcam using ffmpeg使用 ffmpeg 从网络摄像头录制声音
【发布时间】:2012-07-24 06:04:50
【问题描述】:

使用ffmpeg arecord -L,我可以将我的罗技 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

当我进入/dev/snd/by-id时,网络摄像头被描述为:

usb-046d_0821_6813BFD0-00 -> ../controlC1

我知道在ffmpeg中使用声音设备的命令是

ffmpeg -f alsa -i $ALSA_DEVICE_NAME..

我试过了

ffmpeg -f alsa -i "hw:CARD=U0x46d0x821,DEV=0"

ffmpeg -f alsa  -i "plughw:CARD=U0x46d0x821,DEV=0"

在这两种情况下,我都会收到相同的错误消息:

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

我也试过了:

ffmpeg -f alsa -i "usb-046d_0821_6813BFD0-00"

ffmpeg -f alsa -i "usb-046d_0821_6813BFD0-00,DEV=0"

并且仍然收到错误消息

请您帮忙制定正确的命令格式

【问题讨论】:

    标签: ffmpeg webcam audio-recording


    【解决方案1】:

    我终于可以在 ffmpeg 下使用网络摄像头的声音部分了。正确的做法是不要将硬件值括在引号中。不要用引号将硬件括起来:

    ffmpeg -f alsa -i plughw:CARD=U0x46d0x821,DEV=0
    

    代替:

    ffmpeg -f alsa -i "plughw:CARD=U0x46d0x821,DEV=0"
    

    我希望这对其他人有帮助。

    【讨论】:

      【解决方案2】:

      也许这行得通:

      ffmpeg -f alsa -r 16000 -i hw:2,0 -f video4linux2 -s 800x600 -i /dev/video0 -r 30 -f avi -vcodec mpeg4 -vtag xvid -sameq -acodec libmp3lame -ab 96k output.avi
      

      Source

      【讨论】:

      • 感谢您的建议。我仍然收到命令的声音/音频部分相同的错误,无法识别音频硬件

        斜体 **bold "ALSA lib pcm_hw.c:1401 :(_snd_pcm_hw_open) 卡 [alsa @ 0xb0e7620] 的值无效无法打开音频设备 hw:2,0 (没有这样的文件或目录)
        hw:2,0: 输入/输出错误"
      • 我在尝试格式化我在此处放置的内容时遇到问题。到目前为止,我还没有成功。我发现帮助说明过于简洁。我可以使用一些更清晰的教程来标记我在这里提出的内容。干杯
      猜你喜欢
      • 1970-01-01
      • 2018-04-27
      • 1970-01-01
      • 2017-09-16
      • 1970-01-01
      • 2012-07-03
      • 2014-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多