web-dev-qa-db-ja.com

端末を介して実際のウェブカメラを仮想ウェブカメラにリダイレクトする

たとえばv4l2loopbackモジュールとffmpegを使用して、コマンドラインから実際のWebカメラを仮想Webカメラにリダイレクトする方法はありますか?

詳細

ほとんどのソフトウェア(vlc、チーズなど)で動作する古いWebカメラがありますが、他のソフトウェア(Skype)では動作しません。

このようなソフトウェアで動作させるための可能な回避策は、 Webcamoid で行われるように、v4l2loopbackモジュールを使用して仮想Webカメラにリダイレクトすることですが、コマンドラインから実行する必要があります。たとえば、ffmpegを介して。

これはffmpegでも可能だと確信していますが、実際のウェブカメラは仮想のものにリダイレクトされることはめったにないため、オンラインの例は見つかりませんでした(私が見つけた例は this one 、代わりに、スクリーンキャプチャまたは既存のビデオを仮想Webカメラにリダイレクトします)。

15
Kubuntuer82

この回答 (質問で既に言及されている)に基づいて、私は自分で解決策を見つけたと思います、それはSkypeで動作します!

実際のウェブカメラが/dev/video0にあるとします。走るとき

modprobe v4l2loopback

モジュールは、/dev/video1などに2番目の(仮想)Webカメラを作成します。この時点で、次を実行するだけで十分です。

ffmpeg -i /dev/video0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video1

また、新しい仮想WebカメラをSkypeで使用および選択する準備ができました。

19
Kubuntuer82