やりたいことと環境
Droidcamとデスクトップの映像を合成し、自分の声とPC内の音も合成してDiscordで配信する。
OSはArchLinuxでPCはSandy世代の古いやつ。
DroidcamをPCと接続する
これはあくまでカメラだけ。
こちらの記事を参照
PC内部音声
PC内部音声を全てミックスして仮想的に出力する。
ArchWikiの複数のサウンドカード・デバイスの同時出力を参考にする。
# 必要ないかも
sudo modprobe snd-aloo
yay -S paprefs
自分の声
今回はFinal E3000を使用する
PCは3極にしか対応してないので変換アダプターを使う
声と内部音声を合成して出力する
さっきのPulseAudioで作成した仮想マイクをDiscordのマイクに設定する。
PCの音量が低いとマイクの音声も小さくなってしまうので感度を手動で調整
DroidcamとOBS Studio
Droidcam(v4l2loopback)や画面キャプチャなどをOBSで合成して仮想カメラに出力する。
https://github.com/CatxFish/obs-v4l2sinkを使用する。
ArchLinuxの場合はAURにあるのでそれを使う。
sudo modprobe v4l2loopback
# Droidcamで使うモジュールはv4l2loopback_dcで全く別物
yay -S obs-v4l2sink-git
# OBSを仮想カメラに出力する拡張機能
必ず形式をYUV420
にする。
また、/dev/video0
をDroidcamで使用していないか確認する。
仮想カメラをDiscordに認識させるには必ずDiscordのクライアントが必要。
ブラウザだとなぜか使用できなかった。
仮想カメラを起動したら必ずクライアントを再起動させる。
Discordの設定
マイクとカメラをそれぞれ作成した仮想デバイスに設定しテストする。
うまく動けば完了。
ただしDroidcamやOBSなどのウィンドウを閉じてしまうと止まってしまうので仮想デスクトップなどの機能を利用すると良い。