THINKING MEGANE

勉強会をオンライン配信するための必要最小限な環境構築

昨今の状況だけでなく、多様な働き方やコミュニティ(とそこで得られる情報)に接する機会を増やすためにも今後、オンライン勉強会は広がっていくと思います。 Fukuoka.goでも今回、初めて勉強会のオンライン配信を実施しました。 同様のモチベーションを持つイベントの主催者に向けて、勉強会をオンライン配信するためにやった最小限の環境構築についてまとめておきます。

想定する環境

オンライン勉強会には、Google Hangouts Meetなどのビデオ会議のWebサービスとYouTubeライブ配信を用います。 勉強会には、配信を行う運営者、発表を行う登壇者、発表を聞く参加者がいるとします。

登壇者はビデオ会議の画面共有によって各々のPCから発表を行います。 運営者はビデオ会議の画面と音声をYouTubeでライブ配信します。 参加者はYouTubeのライブ配信を視聴、必要に応じてコメントします。

architecture

ビデオ会議とライブ配信のWebサービスを利用することで、Macに二つオープンソースソフトウェアをインストールするだけで、最低限の配信環境環境が整ってしまいます。ありがたい時代になりました。インターネット万歳。

手順のサマリ

1. YouTubeアカウントを作成(要Googleアカウント)
2. YouTubeライブ配信を作成(初回は24時間程度待つ必要あり)
3. 配信に必要なソフトウェアをダウンロードしてインストール
  - [OBS Studio](https://obsproject.com/download)
  - [BlackHole](https://github.com/ExistentialAudio/BlackHole)
4. YouTubeエンコード配信を選択し、ストリーミングキーを発行
5. OBSにストリーミングキーを設定
6. OBSで音声ミキサーとしてBlackHoleを追加(マイク2)
  - 必要に応じてマイク(1)はミュート
7. OBSでソースにウィンドキャプチャでMeetを実行するブラウザを追加
  - ウィンドウキャプチャに必要なウィンドウが出ない場合はmacOSXのセキュリティとプライバシーでOBSが画面収録を許可されているか確認
8. macOSXの音声出力をBlackHoleに変更
9. OBSで配信開始をクリック
  - しばらく待つとYouTube側の配信ボタンが押せるようになる
10. YouTubeの配信開始をクリック
11. 配信する
  - 画面がチラつく場合はOBS Studioがウィンドウキャプチャしている画面の前面に配置されていないか確認
12. YouTubeの配信終了をクリック
13. OBSの配信終了をクリック

手順の詳細

以下、上記手順についての詳しい説明です。

なお、配信のための環境構築には配信の専用機を用意するのが一番楽でしょう。 以下、配信の専用機としてMacBook Pro (15-inch, 2019) macOS Catalina(10.15.3)を用いています。

また、配信に利用するPCは有線によるネットワーク接続をおすすめします。

YouTubeアカウントを作成

持っていなければ作成しましょう。Googleのアカウントが必要です。

YouTubeチャンネルを作成

ライブ配信をするチャンネルを作成しましょう。

YouTubeライブ配信を作成

ライブ配信を開始 ボタンからライブ配信を登録します。 初めてライブ配信を登録する場合は、24時間待つ必要があるため、余裕を持って登録しましょう。

start

エンコーダ配信 タブから、タイトル、公開範囲、カテゴリを指定します。 作成後、ライブ配信のための ストリームキー が取得できるため控えておきます。

配信に必要なソフトウェアをダウンロードしてインストール

ライブ配信をサポートしてくれる OBS Studio と仮想オーディオデバイスを作成するための BlackHole をインストールします。

*BlackHoleはmacOSから出力される音声(今回の場合ではビデオ会議の音声)をYouTubeで配信するために利用します。配信機がWindowsであればデスクトップ音声をキャプチャできるそうなのですがmacOSではできないため、BlackHoleで仮想オーディオデバイスを作成して回避します。

以下、OBS Studioは 24.0.6 (64 bit)、BlackHoleは v0.2.6を利用した場合の手順となります。

OBS Studioでストリームキーの設定

  1. 設定 -> 配信
  2. サービスにYouTube/YouTube Gamingを選択
  3. サーバーにPrimary YouTube ingest serverを選択
  4. ストリームキーに先ほど控えておいた値を入力

OBS Studioで音声の設定

  1. 設定 -> 音声
  2. マイク音声 2にBlackHole 16chを選択

必要に応じてマイク音声(1)は無効、もしくは配信時にミュートしておくと余計な音声が入らずに便利。

OBS Studioで配信ソースの設定(待ち受け画面)

配信の準備中やビデオ会議の画面を表示したくない時の待ち受け画像のシーンを準備しておくと便利。

  1. シーンを選択し、画像ソースを追加
  2. 新規作成からOKで画像プロパティが表示される
  3. 画像ファイルを選択してOK

OBS Studioで配信ソースの設定(ビデオ会議画面)

タブブラウザの場合、ビデオ会議のウィンドウは分けておくと便利。

  1. 待ち受け画面とシーンを分けるのでシーンを追加
  2. 新しいシーンを選択し、ウィンドウキャプチャソースを追加
  3. 新規作成からOKでウィンドウキャプチャプロパティが表示される
  4. ビデオ会議のウィンドウを選択

ウィンドウに起動中のアプリが表示されない場合は、macOSの設定->セキュリティとプライバシーから画面収録に対してOBSの許可がチェックついているか確認のこと。

OBS Studioの設定確認

ここまででOBS Studioの下部は以下のような設定になっているはずです。

obs

シーンは静止画用、シーン2がビデオ会議の画像用です。 僕の環境ではシーン2に、ビデオ会議の画面とTwitterの画面を二つ並べて表示するようにしたので、ウィンドウキャプチャのソースが2つあります。

また、音声ミキサーはマイク2をミュートにすれば、ビデオ会議の音声が配信に乗らなくなります。

macOSの音声出力をBlackHoleに変更

ビデオ会議の音声をBlackHole経由でOBS Studioに渡せるようにします。 macOSの設定->サウンドから出力タブでBlackHoleを選択します。

  • *macOSの音声出力をBlackHoleに変更するとmacOSからは音声が聞こえなくなります。音声も聞きたい場合は、macOSのユーティリティ->オーディオ装置から複数出力装置を作成し、MacBookのスピーカーとBlackHoleに同時に出力できるデバイスを作成してください。そしてmacOSの音声出力をBlackHoleではなく、複数出力装置を選びます(OBS StudioはBlackHoleの入力側を利用するのでそのままで良いです)。 Ref: https://github.com/ExistentialAudio/BlackHole/wiki/Multi-Output-Device 手元では、複数出力装置について外部オーディオ装置との相性が悪かったため利用していません(配信の専用機なのでここから音が聞こえる必要はなく現在のところBlackHoleを直接利用で困ってない) もし、外部オーディオ装置も含めて高度な設定が必要な場合は、LadioCastなどのソフトウェアミキサーの導入を検討してください(そして良いやり方があれば教えてください)

OBS Studioから配信開始

OBS Studio側で配信開始ボタンをクリック。 しばらくするとYouTube側の管理画面に配信のプレビューが表示され、YouTube側のライブ配信開始ボタンがアクティブになる。

YouTubeから配信開始

YouTube側でライブ配信を開始ボタンをクリック。 30秒程度で参加者にライブ配信が見えるようになる。

配信中

YouTuberとして頑張る。適宜シーンの切り替えやマイクのミュートなど操作が必要です。

  • ウィンドウキャプチャの画面がチラつく場合は、OBS Studioがキャプチャするウィンドウの前面に表示されていないかを確認しましょう。 僕の環境では、OBS Studioをこれらより背面に持っていくことでチラツキが解消しました。

YouTubeで配信終了

YouTube側でライブ配信を終了する。

OBS Studioで配信終了

OBS Studio側で配信終了ボタンをクリック。

配信後

ライブ配信の動画は自動でアーカイブとして公開されます。 アーカイブに残さない場合は、YouTubeのライブ配信の管理画面から削除が必要です。 この辺りは事前に発表者に了承をとっておく必要があると思います。

動画の編集もYouTubeの管理画面から行えるため、必要に応じて無言の時間などを取り除くことが可能です。

editor

初のオンライン配信を終えての感想など

これまでFukuoka.goでは、他の地域のコミュニティと拠点間をリモート接続する取り組みは既におこなっており、これをライブ配信に乗せるだけだろうと思っていましたが、それなりに準備や実行で大変だった点や反省点もありました。

よかった点

  • 高速な配信環境を準備できた(配信のネットワーク環境は結構重要。家のネットワーク(特に上り)が遅いと配信できないので注意)
  • 事前に発表者にアーカイブ残すことについてきちんと承諾をもらった
  • 事前にOBS Studioの設定を終わらせて、当日は起動するだけでよかった
  • 登壇者はイベント30分前にビデオ会議に集合して画面共有やミュートのルールなどの手順をおさらいした
  • 事前にオンライン配信のノウハウを仕入れることができた
  • 発表の始まりと終わりはある程度、司会者も音声オンで入っておき盛り上がりを演出できた
  • 静止画のシーンを用意することでビデオ会議の切り替えなどのもたつきがあっても配信上は見せないようにできた

反省点

  • 配信準備した環境と配信を行った環境が違ったので設定周りで当日焦った(リハーサル大切…)
    • 画面のチラつき(途中で解消してよかった)
    • 画面サイズの違い
  • 発表中の登壇者に対して、連絡をとる手段を用意していなかった
    • 打鍵音が気になる、発表時間過ぎてるなどを伝えようとするとそれも配信に乗ってしまう
  • 発表中の登壇者がコメントの盛り上がりなどを見るのが難しかった
  • Twitterの画面を共有していたが自動更新にならないので手動で更新する手間がかかった

などです。

今回の構成は、登壇形式の勉強会において、参加者が視聴する際の敷居を低くすることを目的に設計しました。 参加者にとっては個別のビデオ会議のWebサービスのアカウントが不要ですし、運営者にとってもビデオ会議のアクセス制限や人数制限を気にする必要がありません。 もちろん、勉強会の方式(双方向のディスカッション)によっては他のやり方が最適な場合もあると思います。 そのような場合についてのノウハウも共有してもらえれば嬉しいです。

このエントリーをはてなブックマークに追加