如何创建/ dev / video0的副本?


17

我有1个网络摄像头连接到我的计算机,但是我想在多个程序中使用它。
问题是当我启动第二个程序时,它告诉我网络摄像头已被使用。

将使用网络摄像头的程序包括:运动,pam_face_authentification和一些通讯软件,例如skype,google hangout ...

如何复制网络摄像头的流程以模拟第二个网络摄像头?


我不明白你在告诉我什么?
user244552 2014年

流到文件并显示。您可以使用VLC(可能是奶酪)来做到这一点。一旦有了流,任何人都可以使用它。
j0h 2014年

为什么在OS启动时不这样做?通过“启动应用程序”。
Gtx

Answers:


9

我的第一个想法是,我想知道是否有人想出一种将视频显示为网络摄像头的方法(例如,我正与某人保持联系,但是他们看到的视频和音频是我选择的一些视频)。经过一番搜索后,人们似乎已经完成了此视频管道(如“ 使用视频环回设备操纵开发视频伪造网络摄像头”中所讨论的那样

如您的注释中所述,gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1允许您将video0复制到video1,并且某些软件可以读取video1

为了在您的计算机启动时运行此程序,您可以按照UbuntuBootupHowto提出类似的内容:

# /etc/init/videocloner.conf
description "VideoCloner"
start on runlevel [2345]
stop on runlevel [06]
respawn
exec gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1

该脚本应在计算机启动时启动,并且还允许您运行sudo service videocloner start|stop (注意:如果我的示例脚本不起作用,请尝试移入gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1Shell脚本,然后更改exec行以改为调用Shell脚本)


1
我想在多兰的答案中添加一些内容。您还需要安装v4l2loopback-dkms软件包并运行v4l2loopback模块:sudo apt-get install v4l2loopback-dkms然后sudo modprobe v4l2loopback
Tarek Loubani 2014年

我已经尝试过了,但是结果是我有一个可用的/ dev / video1,但是一个不可用的/ dev / video0,所以它不允许我让两个程序使用相同的物理网络摄像头。我尝试修改命令以创建/ dev / vidoe1和/ dev / video2,所以我有2个端点,但是没有运气。
unfa

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.