🔥

macOS の Zoom で研究発表用タイマーを共有する話

2022/02/18に公開

Zoom で研究発表のタイムキーパーをする機会があったので、そのための方法を纏めます。動作確認は macOS Monterey 12.2 で行っています。 今回やったことの要求仕様は以下の様になります。

  • ベルの鳴るタイマーの画面を画面共有ではなくカメラとして共有し、ベルの音も共有する
    • これは発表者が画面共有しているので、それと重複しない様にするためです
  • 発表自体も同じパソコンのヘッドフォンで聞く
    • タイムキーピング用のデバイスと発表を聞くためのデバイスを分ける方がシンプルにはなりますが、今回は全部同じデバイスで行いました
  • 司会などのために発表前後などにマイクで喋る必要があるが、基本的にはマイクの音声はミュートしておきたい
  • ベルの音など Zoom 以外のアプリケーションの音を聞く必要はない

元々はこの PDFにある設定に基いていましたが、自分で色々調整した結果結構違う流れになりました。OBS の設定などはこのウェブページも参考にしました。

必要なソフトウェア

今回使ったソフトウェアは Zoom と適切なタイマーに加えて以下の様になります。タイマーは今回は以下のものを使いました。

https://maruta.github.io/timekeeper/

  • OBS
    • スクリーンキャプチャや配信などのためのソフトウェア
    • Homebrew でインストールできる
    • 今回は仮想カメラを作るのに使う
  • Soundflower
    • 仮想オーディオデバイス
    • 今回はタイマーのベル音を Zoom に繋ぐのに使う
    • Homebrew でインストールできる
  • LadioCast
    • オーディオミキサ
    • App Store からインストールできる
    • Soundflower を上手く繋ぐのに使う

タイマーの画面の配信

タイマーの画面を Zoom で配信するための、動画の流れは以下の図の様になります。

まず OBS のウインドウキャプチャでタイマーの画面をキャプチャします。ウインドウキャプチャではなく画面キャプチャでも同じ様なことができますが、間違って他のウインドウを配信するのを防ぐために、今回はウインドウキャプチャを使いました。逆に複数のウインドウを配信したい場合には画面キャプチャを使うのが良いと思います。

次に OBS の仮想カメラ機能を使って、キャプチャしたウインドウをカメラの映像として Zoom から読み込める様にします。特に難しい設定はないですが、仮想カメラを起動する前に Zoom を起動すると Zoom で仮想カメラを認識しない様なので、必ずこちらを先に行う必要があります。

最後に Zoom で「OBS Virtual Camera」を選択してタイマーの映像を共有します。ビデオの配信開始や停止などは通常のカメラと同様です。

タイマーの音声の配信

今回の音声の流れは以下の図の様になります。アプリケーションを円形のノードで、 (仮想のものも含めた) オーディオデバイスを四角のノードで表しています。

なお、マイクを使う必要がない場合は以下の様なよりシンプルな構成で十分です。

まず OS 全体の設定で、各アプリケーションの音声出力を Soundflower (2ch)とします。これでタイマーのベル音が Soundflower (2ch)に流れる様になります。

次に LadioCast を使って、Soundflower (2ch)とマイクの音声を Soundflower (64ch)に流す様に設定します。発表中はマイクから Soundflower (64ch)に音声が流れない様にすることで、実質的にミュートすることが可能です。

最後に Zoom で Soundflower (64 ch)をマイクとして使って、ヘッドフォンをスピーカーとして使う様に設定します。

Discussion