COVID-19の影響もあり、IT勉強会が軒並みオンライン開催されることが多くなってきました。

そんな中、私も2020年8月に、IdPについて数人のゲストを交えて語り合う「IdP よもやま会 -2020 夏-」をオンラインで開催しました。

今回は、その方法を備忘を兼ねてオンライン配信の方法を紹介します。

また、この記事はFOLIO Advent calendar 2020の19日目(2日遅れ)の記事でもあります。

配信イメージ

最終的には以下の画像のようになる想定です。

「IdP よもやま会 -2020 夏-」の一場面

配信構成

配信構成は以下の画像の通りです。

「IdP よもやま会 -2020 夏-」での配信構成

ツール 用途
Loopback 音声の合成およびトランジット
Macbook Pro 配信ホスト用のPC
OBS Studio YouTubeへの配信ツール
外部ディスプレイ 配信ホスト画面拡張
YouTube 視聴者閲覧用
Zoom リモートでゲストおよびホストの音声と画面、カメラを収集

ツールの選定理由

Loopback

OBS Studioを経由してYouTubeに配信する場合、macOSだとホストがマイクで喋っている音とZoomから聞こえてくる音を一緒に合成できません。 そのため、Zoomの音を拾ってOBS Studioに送るための音声ミキサーが必要です。

また、BGMを付ける場合、Zoomで参加しているゲスト側に、ホストのマイクとBGMの両方を届けることもできます。

音声ミキサーにはいくつか無料のツールもありますが、Loopbackは複数の仮想オーディオが作成でき、UIも使いやすく、機能も多いため、このツールを採用しました。 購入時は99ドルと少々お高めでしたが、値段に見合うとても良いツールでした。

Loopback

上記のように、LoopbackにてZoomの音をステレオでChannel1とChannel2に出力し(これをOBS Studioで拾います)、Air Podsでモニタリングできるようにしています。(私はSphereという声優ユニットが好きなため、名前をつけれる周辺機器にはSphereプレフィックスをつけるようにしています)

MacBook Pro

Zoomのバーチャル背景やいくつものソースをメモリ上に取りまとめて配信する必要があり、物理的なマシンパワーが求められます。 手元にハイスペックなデバイスはMacしか持ち合わせがなかったため、Macbook Proを使用しました。

$  system_profiler SPHardwareDataType
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro16,2
      Processor Name: Quad-Core Intel Core i7
      Processor Speed: 2.3 GHz
      Number of Processors: 1
      Total Number of Cores: 4
      L2 Cache (per Core): 512 KB
      L3 Cache: 8 MB
      Memory: 32 GB
      ...

OBS Studio

OBS Studioオープンソースで開発されている、ビデオコンテンツを効率的にキャプチャ、合成、エンコード、記録、およびストリーミングするために設計されたソフトウェアです。

無料で高機能であり、多くの利用者がおり、信頼性が高いと判断し、このツールを採用しました。

OBS Studio

上記のOBS Studioでは、

  • Loopbackの音声
  • 配信画面下部に設定するテキスト
  • Zoom会議画面
  • Zoomの参加者のタブ画面

を1つにまとめて配信できるようにしています。

もし、休憩中などで画面を切り替えたい場合は、シーンを増やして、スタジオモードで切り替えができます。

OBS Studioのスタジオモード

配信画面下部のテキストや休憩中の画面は、比較的文字やレイアウトの変更がしやすいKeynoteで作成しました。 OBS Studioで画面をキャプチャする場合、デフォルトだと全画面です。 適宜⌥ (option)を押しながら枠を操作することで画面のトリミングができます。

外部ディスプレイ

意外と重要なのが、外部ディスプレイ(画面拡張)です。

配信しながら、配信に参加していたためかもしれませんが、

  • Zoomで配信に参加
  • YouTubeの配信状態の確認
  • 13インチでは小さくなってしまう画面の縦幅横幅の確保

などを行う必要があるため、画面拡張されている必要がありました。

そのため、外部ディスプレイにつないで画面拡張機能を使用しました。

YouTube

気軽に配信ができ、アーカイブも自動で残り、事前に配信URLが発行できるため、YouTubeを採用しました。 Twitchという手段も考えましたが、視聴者の馴染みが深いほうが参加しやすいと考え、Twitchは見送りました。

Zoom

複数人で顔が見え、話ながら画面共有ができるツールであることは必須としても、Zoomの他にも、Google MeetMicrosoft TeamsDiscordなどのツールがありますが、

  • 専用のアプリケーションがあること
    • 画面キャプチャがしやすい
  • 音質、画質が安定していること

となるとZoomに軍配が上がったため、Zoomを採用しました。

Zoomは3人以上で40分以上会議を開催する場合、有料プランである必要があります。

ちなみにZoomには有料プランの場合、直接YouTubeに配信する機能があります。 しかし、Zoomウェビナーのような機械的な感じは何か味気なく、勉強会らしくないと考え、今回は採用を見送りました。

YouTubeへの配信設定

YouTube側の操作

YouTubeでストリーミングアプリケーションを介して配信する場合、アプリケーション側にストリーミングのサーバー設定が必要です。 そのため、まずはYouTubeでストリームキーを取得します。

  1. YouTubeのライブストリーミング配信の管理画面から、[新しいストリームキーを作成]を選択します。

    ストリームキーの選択

  2. 適切な名前およびビットレートを設定して、ストリームキーを作成します。
    • 細かいビットレート指定も
    • ゲームでない限りは60fpsは有効にしなくて良いと思います。

    新しいストリームキーの作成

  3. 作成されたストリームキーをメモしておきます。

合わせて、ライブストリーミング配信の管理画面の[編集]ボタンから、タイトルや説明などを設定しておくと良いでしょう。

OBS Studio側の操作

YouTubeへの配信はOBS Studioが担っています。 OBS Studioの[設定] > [配信]から、

  • サービス: YouTube / YouTube Gaming
  • サーバー: Primary YouTube ingest server
  • ストリームキー: YouTubeのライブストリーミング配信の管理画面で発行したストリームキー

を設定します。

これでOBS Studioの[配信開始]ボタンを押すと配信が開始されます。

注意点

  • 初めてYouTubeの配信するまたは、新しい配信アカウントを作成(新しいチャンネルを作成)する場合、配信アカウントが有効になるのにおおよそ24時間かかるため、事前に有効化しておきましょう。
  • macOSのミッションコントロールが暴発しないように、配信前には切っておきましょう。
    • 画面をキャプチャをしている都合上、ミッションコントロール中は画面がキャプチャできず真っ暗になってしまいます。
  • Zoomでは、配信ホストが画面共有をするとOBS Studioでは画面をキャプチャできません。
    • 必ず画面共有用のデバイス用意、または画面共有を配信ホスト以外の以外の人に依頼してください。

終わりに

YouTubeとZoomを使用したオンライン勉強会の配信方法について紹介しました。

私も最初はオンライン配信は難しそう!と思っていましたが、思い切ってやってみたら意外とできてしましました。 もちろん、不慣れなため至らない点などはありましたが、一度やってみると配信に抵抗がなくなりました。

ちなみに「IdP よもやま会」の第二弾もやりたいと思っています。 一人では話を広げずらく、なかなか難しいため、一緒に出てもいいよ!話したい!という方がいらっしゃいましたら、是非kenchan0130のTwitterまでお声がけください!