1台のWebカメラをコンピューターに接続していますが、複数のプログラムで使用したいです。
問題は、2番目のプログラムを起動したときに、Webカメラがすでに使用されていることを示していることです。
Webカメラを使用するプログラムは、motion、pam_face_authentification、およびskype、google hangoutなどの通信ソフトウェアです。
Webカメラのフローを複製して2番目のWebカメラをシミュレートするにはどうすればよいですか?
1台のWebカメラをコンピューターに接続していますが、複数のプログラムで使用したいです。
問題は、2番目のプログラムを起動したときに、Webカメラがすでに使用されていることを示していることです。
Webカメラを使用するプログラムは、motion、pam_face_authentification、およびskype、google hangoutなどの通信ソフトウェアです。
Webカメラのフローを複製して2番目のWebカメラをシミュレートするにはどうすればよいですか?
回答:
私の最初の考えは、誰かがビデオをウェブカメラとして表示する方法を考え出したのではないかと考えました(たとえば、誰かとスカイプしていますが、彼らが見るビデオとオーディオは私が代わりに選んだビデオです)。少し調べてみると、人々はこのビデオのパイピングを行っているように見えます(ビデオループバックデバイスを使用したDev Videoの操作とWebカメラの偽装で説明したように?
コメントで述べたように、video0をvideo1gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/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
、シェルスクリプトに移動し、exec
代わりにシェルスクリプトを呼び出すように行を変更してください)。
v4l2loopback-dkms
パッケージをインストールしてv4l2loopback
モジュールを実行する必要があります。sudo apt-get install v4l2loopback-dkms
その後sudo modprobe v4l2loopback