使用avconv录制两个网络摄像头视频

3

使用avconv捕获视频时遇到了问题

我在shell 0中使用命令video0,在shell 1中使用命令video1

avconv -f video4linux2 -i /dev/video0 video0.avi
avconv -f video4linux2 -i /dev/video1 video1.avi

但是当启动第二个视频录制器时,出现以下信息:

/dev/video1: 设备上没有足够的空间

问题是有可能同时记录两个视频吗?

其他

第一个video0.avi的捕获完美地工作,但如果我使用Ctrl + C中断并尝试执行相同的命令,则无法捕获视频。

这条消息显示在shell中

uvcvideo:未能重新提交视频URB(-27)

进程仍在运行吗?

拔掉网络摄像头并重新连接第一次可以正常工作。


如果您单独运行每个命令行,它们是否都能正常工作? - Multimedia Mike
@MultimediaMike 的问题出在 VMware 虚拟机上。直接在 Linux 上运行可以正常工作。 - Jones
1个回答

4
我遇到了同样的问题 - 在我的情况下,我通过将网络摄像头连接到单独的USB2总线来解决它。我仍然无法在同一总线上同时使用两个USB网络摄像头。我还发现,必须以root身份运行ffmpeg(现在是avconv),才能同时捕获和编码两个摄像头的声音和视频。
此外,我从bash脚本中运行这个命令,并发现我必须将一个avconv命令放到后台,以便同时运行两个命令。脚本如下:
nohup avconv -f video4linux2 -s 640x360 -r 30 /dev/video0 -f alsa -ac 2 -i hw:1,0 -acodec libmp3lame -ab 96k -async1 stream1.mp4

P1=$!

avconv -f video4linux2 -s 640x360 -r 30 /dev/video1 -f alsa -ac 2 -i hw:2,0 -acodec libmp3lame -ab 96k -async1 stream2.mp4

kill $P1


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接