Linuxでダミーのカメラとマイクを利用する

カメラ

linuxにはv4l2loopbackなるカーネルモジュールが存在しており、これを使用することで仮想カメラを作成することが可能です。

仮想カメラの作成(モジュールのインストールとロード)

ubuntuの場合、aptから落としてくることが可能です。

sudo apt install v4l2loopback-dkms

インストールが完了したらmodprobeを使用してモジュールの読み込みを行ってください。

sudo modprobe v4l2loopback card_label="WebCam@1" exclusive_caps=1

上記にあるexclusive_caps=1はchrome等で使用する場合に必要なようです。(参考

仮想カメラへの入力

さて、仮想カメラに流すソースを用意する方法についてですが、OBS Studioが手軽です。ただし、仮想カメラのサポートはv26.1以上なので注意してください。

適当な動画ファイルなどを使用してストリームを開始したら、以下に示すように"Start Virtual Camera"を選択することで仮想カメラへの入力が始まります。

obs

その他、ffmpegを利用することでも仮想カメラへの入力ができるようです。(参考)

仮想カメラの使用

各アプリケーションによって異なりますが、入力をcard_label=にて指定したものを利用すれば、仮想カメラが見えるようになっているはずです。

仮想カメラの削除(モジュールのアンロード)

仮想カメラの使用が終わったら、以下のようにモジュールをアンロードすることで元の状態に戻せます。

sudo modprobe --remove v4l2loopback

オーディオ

ミキサとしてpluse-audioを使用している場合について解説します。

仮想デバイスの作成

以下のコマンドで仮想出力デバイスとそのループバックを作成できます。

pacmd load-module module-null-sink sink_name=VirtOutput0 sink_properties=device.description=VirtOutput0
pacmd load-module module-loopback source=VirtOutput0.monitor source_dont_move=true

仮想オーディオへの入力

必要な音源をyoutubeやオーディオアプリケーションなどで流し、pluseaudioのコントロールパネルを使用して出力先を作成したデバイスに繋げばokです。

カメラ入力などで既にOBS Studioを使用している場合、ここから音声入力にも出力することも可能です。その場合、まずは設定画面から以下のように"Monitoring Device"を先程作成した仮想デバイスに指定します。

obs

その後、“Advanced Audio Properties"から、必要な音源について"Monitor Only"を指定してください。

obs

obs

これにより、OBS Studioから音声を入力することが可能になります。

仮想オーディオの使用

これもカメラ同様、各アプリケーションにて入力デバイスとしてsource=で指定したものを利用すればokです。

追記:なぜかchromeでは仮想マイクを選択することができません。原因はわかりませんがとりあえずの解決策としてはpluse audioのコントローラーからchromeの入力を強制的に仮想デバイスとすることができます。

仮想オーディオの削除

カメラ同様、以下のようにモジュールをアンロードすることで元の状態に戻せます。

pacmd unload-module module-loopback
pacmd unload-module module-null-sink

参考

2023 mu2chn CC BY-NC 4.0
Built with Hugo
Theme Stack designed by Jimmy