我的电脑上连接了 1 个网络摄像头,但我想在多个程序中使用它。
问题是,当我启动第二个程序时,它告诉我网络摄像头已被使用。
将使用网络摄像头的程序有:motion、pam_face_authentication,以及一些通信软件,如 skype、google hangout...
我如何复制我的网络摄像头的流程来模拟第二个网络摄像头?
答案1
我的第一个想法是,我想知道是否有人想出一种方法让视频显示为网络摄像头(例如,我正在与某人进行 Skype 通话,但他们看到的视频和音频是我选择的视频)。经过一番搜索,似乎有人已经完成了这种视频管道传输(如在操控开发者视频和使用视频环回设备伪造网络摄像头?
正如您在评论中提到的,gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1
允许您复制视频0到视频1, 和视频1可以被一些软件读取。
为了在计算机启动时运行此程序,您可以按照Ubuntu启动如何得出如下结论:
# /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/video1
shell 脚本,然后更改行exec
以调用您的 shell 脚本)。