命令行从网络摄像头捕获音频和video到16.04LTS文件

关于从网络摄像头捕获video,已经提出并回答了类似的问题。 有许多公认的答案。 但是,它们要么来自Ubuntu的古老版本,不再支持或仅与video相关,而不是video和音频作为此问题的主题。 此外,这个问题的主题是如何使用当前的LTS Ubuntu版本。

目前,官方的Ubuntu Wiki文档也有过时的解决方案。

有些GUI应用程序可以从网络摄像头捕获音频和video。 但这些对于能够轻松地将video包含在脚本中的目标来说是不够的。

许多其他对此主题的引用包括Ubuntu的官方文档wor 网络摄像头支持的变体 :

前面的$ prompt的行是命令。 后面的行是错误响应。

 $ ffmpeg -f oss -i /dev/dsp -f video4linux2 -s 320x240 -i /dev/video0 out.mpg [oss @ 0x15f38a0] /dev/dsp: No such file or directory /dev/dsp: Input/output error 

 $ avconv -f oss -i /dev/dsp -f video4linux2 -s 320x240 -i /dev/video0 out.mpg [oss @ 0xd9b8a0] /dev/dsp: No such file or directory /dev/dsp: Input/output error 

虽然上述两个命令将失败,但此命令将从网络摄像头捕获10秒的video:

 $ timeout 10 ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 out.mpg 

如您所见,删除有问题的音频输入选项将删除错误。 所以缺少的是支持此选项的音频输入。 在安装和尝试配置其他音频包之前,我正在尝试获取有关如何使用官方内置音频支持的信息。

我看到安装其他软件包以获得声音支持的参考,但我想首先输入如何使用Ubuntu 16.04LTS上已安装的内容,如果它可行的话。

插入USB网络摄像头后dmesg -w的输出:

 [41763.153707] CPU7: Core temperature/speed normal [41763.153708] CPU3: Core temperature/speed normal [41845.576323] retire_capture_urb: 66 callbacks suppressed [41845.699994] usb 2-1.4: USB disconnect, device number 14 [41872.523599] usb 2-1.4: new high-speed USB device number 15 using ehci-pci [41872.882616] usb 2-1.4: New USB device found, idVendor=046d, idProduct=0826 [41872.882620] usb 2-1.4: New USB device strings: Mfr=0, Product=2, SerialNumber=1 [41872.882622] usb 2-1.4: Product: HD Webcam C525 [41872.882624] usb 2-1.4: SerialNumber: 94D25250 [41873.142026] usb 2-1.4: current rate 5666600 is different from the runtime rate 16000 [41873.145382] usb 2-1.4: current rate 8859453 is different from the runtime rate 24000 [41873.149264] usb 2-1.4: current rate 12572339 is different from the runtime rate 32000 [41873.152635] usb 2-1.4: current rate 10782671 is different from the runtime rate 48000 [41873.165044] usb 2-1.4: set resolution quirk: cval->res = 384 [41873.165529] uvcvideo: Found UVC 1.00 device HD Webcam C525 (046d:0826) [41873.178089] input: HD Webcam C525 as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.2/input/input33 [41873.222700] usb 2-1.4: current rate 5530139 is different from the runtime rate 48000 [41873.226055] usb 2-1.4: current rate 698870 is different from the runtime rate 48000 [41873.243770] usb 2-1.4: current rate 1805767 is different from the runtime rate 48000 [41873.246765] usb 2-1.4: current rate 1763607 is different from the runtime rate 48000 

通过2.4系列官方(kernel.org)Linux内核,OSS是Linux中唯一的音频API。 ALSA从2.5开始添加,在这些版本中,Linux内核作者将OSS标记为已弃用。 4Front继续在Linux内核之外开发OSS。

来源: 开放音响系统 – 维基百科

使用arecord -L找到声音设备。 然后在命令行中使用它。 产量非常广泛。

这将从我的网络摄像头录制30秒的video:

 $ ffmpeg -f alsa -i plughw:CARD=C525,DEV=0 -f video4linux2 -s 320x240 -i /dev/video0 -t 30 out.mpg 

我的系统上的arecord输出在下面输入,我选择使用的音频设备以粗体突出显示。 在这种情况下它是plughw:CARD = C525,DEV = 0

默认
    通过PulseAudio声音服务器播放/录制
空值
    丢弃所有样本(播放)或生成零样本(捕获)
脉冲
     PulseAudio声音服务器
 sysdefault:CARD = MID
     HDA Intel MID,ALC889A Analog
    默认音频设备
前:CARD = MID,DEV = 0
     HDA Intel MID,ALC889A Analog
    前置扬声器
 surround21:CARD = MID,DEV = 0
     HDA Intel MID,ALC889A Analog
     2.1环绕声输出到前置和低音炮扬声器
 surround40:CARD = MID,DEV = 0
     HDA Intel MID,ALC889A Analog
     4.0环绕声输出到前置和后置扬声器
 surround41:CARD = MID,DEV = 0
     HDA Intel MID,ALC889A Analog
     4.1环绕声输出到前置,后置和低音炮扬声器
 surround50:CARD = MID,DEV = 0
     HDA Intel MID,ALC889A Analog
     5.0环绕声输出到前置,中置和后置扬声器
 surround51:CARD = MID,DEV = 0
     HDA Intel MID,ALC889A Analog
     5.1环绕声输出到前置,中置,后置和低音炮扬声器
 surround71:CARD = MID,DEV = 0
     HDA Intel MID,ALC889A Analog
     7.1环绕声输出到前置,中置,侧置,后置和低音扬声器
 DMIX:CARD = MID,DEV = 0
     HDA Intel MID,ALC889A Analog
    直接样品混合装置
 DMIX:CARD = MID,DEV = 2
     HDA Intel MID,ALC889A Alt Analog
    直接样品混合装置
 dsnoop:CARD = MID,DEV = 0
     HDA Intel MID,ALC889A Analog
    直接采样窥探设备
 dsnoop:CARD = MID,DEV = 2
     HDA Intel MID,ALC889A Alt Analog
    直接采样窥探设备
 HW:CARD = MID,DEV = 0
     HDA Intel MID,ALC889A Analog
    没有任何转换的直接硬件设备
 HW:CARD = MID,DEV = 2
     HDA Intel MID,ALC889A Alt Analog
    没有任何转换的直接硬件设备
 plughw:CARD = MID,DEV = 0
     HDA Intel MID,ALC889A Analog
    具有所有软件转换的硬件设备
 plughw:CARD = MID,DEV = 2
     HDA Intel MID,ALC889A Alt Analog
    具有所有软件转换的硬件设备
 sysdefault:CARD = HDMI
     USB Capture HDMI,USB Audio
    默认音频设备
前:CARD = HDMI,DEV = 0
     USB Capture HDMI,USB Audio
    前置扬声器
 surround21:CARD = HDMI,DEV = 0
     USB Capture HDMI,USB Audio
     2.1环绕声输出到前置和低音炮扬声器
 surround40:CARD = HDMI,DEV = 0
     USB Capture HDMI,USB Audio
     4.0环绕声输出到前置和后置扬声器
 surround41:CARD = HDMI,DEV = 0
     USB Capture HDMI,USB Audio
     4.1环绕声输出到前置,后置和低音炮扬声器
 surround50:CARD = HDMI,DEV = 0
     USB Capture HDMI,USB Audio
     5.0环绕声输出到前置,中置和后置扬声器
 surround51:CARD = HDMI,DEV = 0
     USB Capture HDMI,USB Audio
     5.1环绕声输出到前置,中置,后置和低音炮扬声器
 surround71:CARD = HDMI,DEV = 0
     USB Capture HDMI,USB Audio
     7.1环绕声输出到前置,中置,侧置,后置和低音扬声器
 IEC958:CARD = HDMI,DEV = 0
     USB Capture HDMI,USB Audio
     IEC958(S / PDIF)数字音频输出
 DMIX:CARD = HDMI,DEV = 0
     USB Capture HDMI,USB Audio
    直接样品混合装置
 dsnoop:CARD = HDMI,DEV = 0
     USB Capture HDMI,USB Audio
    直接采样窥探设备
 HW:CARD = HDMI,DEV = 0
     USB Capture HDMI,USB Audio
    没有任何转换的直接硬件设备
 plughw:CARD = HDMI,DEV = 0
     USB Capture HDMI,USB Audio
    具有所有软件转换的硬件设备
 sysdefault:CARD = C525
    高清网络摄像头C525,USB音频
    默认音频设备
前:CARD = C525,DEV = 0
    高清网络摄像头C525,USB音频
    前置扬声器
 surround21:CARD = C525,DEV = 0
    高清网络摄像头C525,USB音频
     2.1环绕声输出到前置和低音炮扬声器
 surround40:CARD = C525,DEV = 0
    高清网络摄像头C525,USB音频
     4.0环绕声输出到前置和后置扬声器
 surround41:CARD = C525,DEV = 0
    高清网络摄像头C525,USB音频
     4.1环绕声输出到前置,后置和低音炮扬声器
 surround50:CARD = C525,DEV = 0
    高清网络摄像头C525,USB音频
     5.0环绕声输出到前置,中置和后置扬声器
 surround51:CARD = C525,DEV = 0
    高清网络摄像头C525,USB音频
     5.1环绕声输出到前置,中置,后置和低音炮扬声器
 surround71:CARD = C525,DEV = 0
    高清网络摄像头C525,USB音频
     7.1环绕声输出到前置,中置,侧置,后置和低音扬声器
 IEC958:CARD = C525,DEV = 0
    高清网络摄像头C525,USB音频
     IEC958(S / PDIF)数字音频输出
 DMIX:CARD = C525,DEV = 0
    高清网络摄像头C525,USB音频
    直接样品混合装置
 dsnoop:CARD = C525,DEV = 0
    高清网络摄像头C525,USB音频
    直接采样窥探设备
 HW:CARD = C525,DEV = 0
    高清网络摄像头C525,USB音频
    没有任何转换的直接硬件设备
 plughw:CARD = C525,DEV = 0
    高清网络摄像头C525,USB音频
    具有所有软件转换的硬件设备

根据您要捕获的音频,可以消除许多设备,例如环绕声和我的其他HDMI捕捉设备。