命令行从网络摄像头捕获音频和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捕捉设备。