Home > Archives > 2022年02月22日

2022年02月22日

Ubuntu で Zoom に学会タイマーを流し込む

今まで学会タイマーを Zoom に流し込むのは Win + OBS でやってたのだけど,今日は Win マシンが足りなかったので Ubuntu で用意してみた.

とりま OBS Studio と仮想カメラ用のカーネルモジュールを入れる:

sudo apt-get install ffmpeg
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update && sudo apt install obs-studio
sudo apt install v4l2loopback-dkms

次に PulseAudio で仮想オーディオ配線.テキトウに virtmic という名前の null sink を作ってみて,あとで Zoom に入力デバイスとして使えるようにその null sink の monitor を source に remap しとく(Zoom が monitor を入力として拾ってくれないので):

pacmd load-module module-null-sink sink_name=virtmic sink_properties=device.description="virtmic"
pactl load-module module-remap-source master=virtmic.monitor source_name=virtmic_monitor source_properties=device.description="virtmic_monitor"

そしてブラウザの音出力をこの null sink に入れたいので,ブラウザで音出した状態で pavucontrol を起動して出力デバイスを virtmic にする:

sudo apt install pavucontrol
pavucontrol &

音量調整も pavucontrol でやってしまうので良いっぽい.

あとは OBS Studio でウインドウキャプチャ(xcomposite)して仮想カメラで流して Zoom で拾う.Chrome だと chrome://settings/appearance で "Use system title bar and borders" をやっとかないとキャプチャできない罠にハマった(画面全体のキャプチャだとこれなしでも拾えたけど).

なお,タイマーアプリの音を自分のスピーカーにも流したいとかなら,combined sink を作ってブラウザを出力をそこに入れて分岐させる(alsa_output.pci-0000_04_00.1.hdmi-stereo のところは pacmd list-sinks で出てくるスピーカーの sink の name で):

pacmd load-module module-combine-sink sink_name=virtmic_combined slaves=virtmic,alsa_output.pci-0000_04_00.1.hdmi-stereo

閑話休題.

これでタイムキーパーが用意できたぜと思って使ってたら,Zoom 自体が落ちやがるというオチが待っていた…… 残念.仕事にならん.

同じネットワークにつなげてたメイン PC(Win)の Zoom も同時に落ちたし,DNS の解決も出来なくなってたので,たぶんネットワークがちょっと死んでたっぽい.でもその程度で落ちないで欲しい気もする.ハートビートが途切れたからミーティングが終了したという判定だったりしたのだろうか? でも自分がホストだったんだよね…… 謎.

Home > Archives > 2022年02月22日

Search
Feeds

Page Top