当前位置: 首页>>技术教程>>正文


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

问题描述

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

使用网络摄像头的程序有:motion、pam_face_authentification,以及一些通讯软件,如 Skype、Google Hangout …

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

最佳办法

我的第一个想法是,我想知道是否有人想出了一种让视频显示为网络摄像头的方法(例如,我正在与某人进行Skype通话,但他们看到的视频和音频是我选择的一些视频)。经过一番搜索后,看起来人们已经完成了这个视频管道(如 Manipulating Dev VideoFake a webcam using a video loopback device? 中讨论的)

正如您的评论中提到的,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/video1 移至 shell 脚本中,并更改 exec 行以调用您的 shell 脚本)。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14393.html,未经允许,请勿转载。