SORACOM UGイベントのライブ配信を担当した話

新型コロナウイルスの蔓延によるライフスタイルの激変真っ只中ですが、IT勉強会においてもオンラインでの開催が増えています。

私が運営に協力しているSORACOM User Groupにおいても最近はオンラインでの開催となっています。先日2020年5月26日に開催したSORACOM UG Tokyo Online #15にてライブ配信(YouTube Live)を担当しましたので、以下にまとめたいと思います。

経緯

今回のイベントは、以下のプログラムで実施する旨を決定して準備に取りかかりました。

  • (ソラコムから2月に発売となった) GPSマルチユニットSORACOM Editionについて – ソラコム様
  • 本デバイスに関連して、mockmockサービスを用いた開発方法について(こちらの記事) – FUSIC様
  • リモートワークに使えるSORACOMサービスについて – ソラコム様
  • LT

最初からオンラインでの実施を想定し、Google Meetによるオンライン会議形式で開催する予定でした。
Google Meetは無料枠でも100名まで参加可能な会議を開催できるようになりましたが、オンライン開催であることからか?募集開始後まもなく100名を突破したため、Youtube Liveでの配信に切り替えた次第です。

Google Meetは5/6開催のSORACOM UG 農業活用コミュニティイベントにて採用実績があること、私の所属企業の会議でも安定して大人数に配信できていたため安心感を買って採用しました。

また、会議形式の場合はミーティングの主催者が1人1人の参加承認を行う必要があるため、他の担当も兼務して多忙な場合などに承認が漏れてしまう可能性があるため、一定規模以上の参加が見込まれる場合は配信形式での開催が適すると考えられます。

配信構成のメリデメについてはMAXさんが記事にまとめて頂いていますので紹介します。

オンラインイベントの配信環境、会議的に作るか?放送的に作るか?「配信環境」の考え方と選び方 - Qiita
昨今の事情からイベントのオンライン化が進みましたが、必ずと言っていいほど話題になるのが**「配信環境ってどうしよう?」**です。職業柄登壇が多いのですが、オンライン登壇を重ねることでわかってきたの…

配信構成

今回の配信構成を以下に記載します。

私の自宅PCにてGoogle Meetから配給されてきた画面をキャプチャし、OBS Studioにてトリミングしてのシーンの枠に差し込んでYoutube Liveに配信を行いました。

当日の状況はこんな感じです。

  • 左のディスプレイ:Google Meet(フルスクリーン)
  • 中央のディスプレイ:OBS Studioにて合成後の放映イメージ、Youtube Studioでの接続状況のチェック
  • 右のMacBook(別PC):TwitterやSli.doのコメントチェック、運営スタッフの連絡(Slack)
  • (画面外)LTE回線接続のタブレットでエアチェック

配信中の様子。
Google Meetの中継画面がOBSに差し込まれていることが解るかと思います。

配信に利用したPCのスペックはこちらです。CPUは8年落ちの旧型スペックですが、たまたま最近GPUカードを増設していたため、それが奏功した感じです。

実際、配信中の負荷はCPU/GPUとも30~50%程度で安定しておりました。

事前準備

OBS Studio – 基本設定

外部サイトの情報を参考に、以下の通り設定しました。
まだまだチューニングの余地は残ると思いますが、ご参考まで。

設定 – 配信

  • サービス:YouTube/YouTube Gaming
  • サーバー:Primary YouTube ingest server
  • ストリームキー:(後ほど設定)

設定 – 映像

  • 基本(キャンバス)解像度:1920×1080
  • 出力(スケーリング)解像度:1920×1080
  • FPS:30

設定 – 出力

  • エンコーダ:NVIDIA NVENC H.264(new)
  • ビットレート:3000kbps

OBSStudio – シーンの作成

OBS Studioにて今回は以下のシーンを作成しました。

セッション分

オープニング、通常セッションx3、LTx5の合計9枚。
画面キャプチャ部分は登壇者に合わせ調整のため仮置きで設定。

今回はシンプルに発表タイトルとハッシュタグのみをフレーム部分に記載するようにして発表内容を極力大きく設定しました。

開始前/幕間/終了分

開始前、休憩中、終了後の3枚。

UGロゴを大きくあしらって文字を入れただけです。
くろにゃんこたん(@kuronyankotan)ロゴ制作ありがとうございます。

リハーサルの実施

今回は初めての試みということもあり、早めの準備を行いました。

運営メンバー内で実施したもの

私の操作の練習や配信設定のパラメータ決定、当日の配信イメージの共有のため行いました。
当日の役割分担もイメージできたので早めにやっておいてよかったかな、と言った感じです。

登壇者を交えてのもの

登壇者全員に参加して頂きたかったので、前日夜と当日(直前)の2回を行いどちらかにご参加いただきました。登壇者1人1人に画面共有いただき、1人1人に合わせたトリミング幅の調整を行いました。

リハーサルでは最初画面共有がうまくいかない方もいらっしゃいましたので、当日スムーズに行うためには登壇者を含めてのリハーサルの実施は必須だな、と改めて感じた次第です。

ここら辺はAWS沼口さんの記事にもまとめられています。

Amazon WorkSpacesで堅牢な配信を実現する|NUMAGUCHI, Shigeru
Amazon Web Services Japanでユーザーコミュニティプログラムを担当している沼口です。先日、Fin-JAWS ( が、視聴参加者はもとより、登壇者もスタッフもすべて自宅から参加する「フルリモート勉強会」を開催し、配信のお...

Google Meet会議室の準備

今回は司会担当の河村さん(@masato_ka)にMeet会議室の準備をお願いしました。
Meet会議の主催者は承認の操作必要であるため、登壇者が遅れて参加することも想定し、配信担当者とは別に立てることを強くオススメします。

YouTube Live配信設定の実施

リハーサルの結果を受け、Youtube Studioにて右上の「ライブ配信を開始」ボタンを押し、以下のように配信予約の設定を行いました。

タイトルSORACOM UG Tokyo Online #15
公開設定公開(※)
説明2020年5月26日開催の SORACOM UG Tokyo Online #15 のイベント中継です。
カテゴリ科学と技術
スケジュール2020年5月26日 19:00~
サムネイルSORACOM UGロゴ画像をアップロード
視聴者設定いいえ、子どもむけではありません
年齢制限いいえ、18 歳以上のみの視聴者に制限しません

記入が終わったら「エンコーダ配信を作成」ボタンをクリックします。

イベント受付はConnpassで行っていたため、Youtube Liveを公開するか判断に悩みましたが、直前の参加者も居るであろうことから公開としました。

ライブ配信設定が完了すると、配信画面が表示されますので追加の対応を行います。

  • ストリームキーのコピー
    表示されたストリームキーをコピーし、OBS Studio側に設定します。
  • チャットの無効化
    コメントが分散してしまうことから、Youtubeのチャット機能は無効化しました。
    画面上部の「ライブ配信の設定」欄から設定することが可能です。
  • ライブ配信の遅延設定
    リハーサル時に確認した結果、超低遅延設定でも問題なく実施できることが判明しましたので、超低遅延としました。当日の遅延は概ね3~5秒程度であったかと思います。

当日の手順

さて、準備が整ったところでいよいよ当日の手順になります。

環境設定

  • 不要なバックグラウンドアプリを閉じる
  • デスクトップ通知を無効にする

配信PCのデスクトップ音声を共有しているため、メール受信やChromeの通知が配信に載ってしまう可能性があります。Windows10の集中モードを利用しました。

イベント開始準備

  • Meet会議室に参加
  • 配信担当者のカメラをオフにする
  • Meet画面レイアウトをサイドバー表示に変える

今回はサイドバー表示として、左側のハイライトをキャプチャすることとしました。

  • Youtube Studioを開き、SORACOM UGアカウントに切替
    • ライブ配信画面を開く(上記のもの)
  • OBS Studioを起動
    • ストリームキーが正しいことを確認
    • OBSの配信開始ボタンを押す
      YouTube Studioのライブ配信画面に表示がされていることを確認
    • マイク音声をミュート

マイク音声は今回の配信には利用しないので常時OFFとしました。

中継開始

  • 「開始までしばらくお待ちください」シーンに変更
  • デスクトップ音声をミュートする
  • Youtube Studio側の「ライブ配信開始」ボタンを押す

ここで配信開始ですね。

イベント開始~最中

  • OBSの「録画開始」ボタンを押す
  • 音声ミュートを解除
  • シーンを変更する
  • 司会に開始を合図する

ここでイベント開始です。予定通りスムーズに開始することが出来ました。
進行中は以下の対応を行ったのみで、特に手間はありませんでした。

  • 進行に合わせてシーンを変える
  • 音声が適切なレベルか適宜確認する
  • 休憩中はデスクトップ音声をミュートする

イベント終了

  • OBS録画停止
  • YouTube Studioでライブ配信を停止する
  • OBSで配信を停止する

この段階でもタイミング良く操作を行うのみで、特に工夫は無いですね。

結果

今回のイベントは4人のスタッフで運営しましたが、いかがでしたか?

  • 司会:河村さん(@masato_ka)
  • 冒頭挨拶:大竹さん(@ohtk79)
  • 質問読み上げ:大口さん(@o_chicchi)
  • 配信:木澤

トラブルも無く無事完了できて個人的にはホッとしています。
当日の様子はこちら。

 

なお、当日のトラフィックはこんな感じで、常に3.5~4Mbps程度のアップロードトラフィックを観測していました。我が家のバックボーンは100Mbpsで、時間帯からして大丈夫かな?と心配していましたが、特に問題になるものではありませんでした。
(※バックアップ用途としてSORACOM Airのplan-DUの利用も視野に入るかもしれませんね)

今後の改善点

今回のイベントを経て、幾つか課題に感じたことがありました。

登壇者へのフィードバックを適切に行うこと

ご登壇いただいたMAXさん他、複数の方から「話しにくい」との評価をいただきました。
基本的にはオンラインでの配信の場合はフィードバックが得られないためですね。
運営にて登壇者へのフォロー(相手?)役のアサインを行っておくべきだったと思いました。

オンラインイベントの配信環境、会議的に作るか?放送的に作るか?「配信環境」の考え方と選び方 - Qiita
昨今の事情からイベントのオンライン化が進みましたが、必ずと言っていいほど話題になるのが**「配信環境ってどうしよう?」**です。職業柄登壇が多いのですが、オンライン登壇を重ねることでわかってきたの…

質問を挙げて頂くにあたっての工夫

当日は参加者のアウトプットの場をTwitterに集約するためにYouTube Liveのチャット機能を無効にしたほか、質問の場としてSli.doの掲示板を開設しましたが質問は少なかったとの印象です。

YouTubeから画面からSli.doへの誘導が不足していたかなと反省しています。
こちらは単純に準備不足ですね。失礼しました。

盛り上がりの演出

上記「登壇者へのフィードバック」と絡むのですが、Meet上でもう少し盛り上がりを演出できたらと思いました。他のイベント配信ですと、Twitterのタイムラインを掲示したりしてますが、それも一つの方法だな、と再認識した次第です。

もうちょっとデザイン凝りたいかな

最後に、今回は付け焼き刃な対応で私の方で各シーンのフレームを作成してみましたが、予め外部に相談するなどして凝ることもできたかな、と思っています。

最後に

何はともあれ、トラブル無く無事に完了することが出来たので次に繋がるかと思っています。
登壇者の皆様、参加頂いた皆様、他のスタッフの方々、ありがとうございました。

コメント