blog

DeNAのエンジニアが考えていることや、担当しているサービスについて情報発信しています

2021.09.30 技術記事

ソフトウエアエンジニアがライブ配信制作チームを立ち上げました

by Yuki Horiguchi

#e-sports #live-streaming #vmix #atem #qlab #companion #streamdeck

eスポーツ部企画制作グループの堀口です。私たちのチームはもともとeスポーツイベントの企画やコミュニティ大会の運営、またそれに関わるサービスの開発を行う部署でした。当時DeNAにはイベント制作や番組制作を行うチームは無く、制作会社さんに都度お願いをしていました。 しかし制作と企画の距離が遠いとアイデアレベルの企画の検証などは難しいので、リーンな制作ができる体制作りを2019年末頃からはじめました。その直後にコロナによる情勢変化が起こりオンライン配信の需要が急増。現在ではeスポーツのライブ配信だけでなく、セミナーや会見などのライブ配信の受託制作も行っています。

ライブ配信の制作チームを立ち上げるといっても、当時は私を含めデザイナー兼ソフトウエアエンジニアが2名とディレクターが1名。 ディレクターはもともと映像配信系の企業で営業とディレクターをしていましたが本職でありません。私は副業で舞台カメラマンをしており映像制作や舞台制作などは多少心得がありましたが、本職はフロントエンドエンジニアです。

今回はそんな私たちがライブ配信制作チームを作ってきた過程をTech視点でご紹介します。

eスポーツイベントのメイン配信卓

eスポーツイベントのメイン配信卓

ソフトウエア開発の考え方を逆輸入

発表されたばかりのATEM mini(小型のビデオスイッチャー)をたまたま趣味で予約していたので、ATEMの開発者コミュニティから芋づる式に周辺情報のキャッチアップをはじめました。そこで海外の教会で礼拝や音楽ライブなどを配信する文化がある事を知り、まずはその方々の模倣をすることにしました。ワンマン〜数名のチームで制作していることが多く、私たちのチーム状況に合っていて非常に参考になりました。

はじめは技術周りを私が1人で回せる体制作りを目標に、可能な限りオペレーションを自動化して手作業を減らす検証から始めました。 ここまでの調査でOpenSound Control(OSC)やソケット通信などで制御できる機器が多く便利なツール郡もいっぱいあることがわかったので、試せるものは片っ端から試しました。

この時、ソフトウエアエンジニアなら身に染み付いている

  • ヒューマンエラーの原因になる手作業は減らす
  • スクリプトや設定ファイルにできる部分は可能な限りコードで残す

これらの考えが非常に役立ちました。そもそもソフトウエア開発におけるこれらの考え方も、もとを辿れば他領域の先人たちの失敗の上に築かれているものなので役に立って当然なのかもしれないですね。

異常系に対する対処

ソフトウエア開発時にテストのカバレッジを拡充するように、想像できる範囲で異常系のリストアップしそれに対する対応方法の検討・練習を行いました。それでも予想だにしない事象は起こります。こればかりは場数を踏んで解決するしかありません。

特に厄介だったのは、特定の状況下においてのみ発生する再現性の薄いトラブルです。(これはソフトウエアでも同じですね) 例えば伝導ノイズ・放射ノイズ由来の音声トラブルや、フォーマットの差異によって特定機器で起きる映像劣化などなど。これらはAll or Nothingではない品質低下なので厄介です。 初めは本当に様々なトラブルが起きるので、とにかく練習で数多くの地雷を踏み本質的な原因を理解して正しく対処できる知見の獲得が急務でした。

それと同時にこれらの不具合を本番で起こさない予防対策も必要です。 予防に関しては「リハーサルしていないことを本番では絶対にしない」という方法を徹底することにしました。「本番でアドリブするかもしれない事は全てしっかりとリハーサルしておく」とも言えるかもしれません。 これは本当に神経質に行い、ケーブルの這わせ方も一致させるレベルで徹底する事もありました。

これらもサービス開発におけるステージング環境でのQAに通じることがありますね。そう、本番環境でしか再現しない不具合にも遭遇します。あるある話までサービス開発と一緒ですね。

背伸びしすぎない工夫

小さなチームなので当然予算も限られています。特にeスポーツでは画像合成やクロマキー抜きの背景合成による表現に頼る傾向が多い気がするのですが、私たちのような小さなチームだと機材繰りや人員不足の都合で却って実現しにくいこともあります。そんな時は古典的な方法に倣いスコアボードや抽選箱、フリップなどの小道具を自作して物理的に解決することもありました。技術的なトラブルが防げるだけでなく、出演者の方が直接触れるので番組演出のテンポアップや人員削減にも繋がります。

バーチャルセットに頼らず簡単なスタジオセットを造作する事もあります

バーチャルセットに頼らず簡単なスタジオセットを造作する事もあります

慣れが必要なオペレーションの練習

どうしても技術の慣熟を要する部分もあります。トークのスイッチングやSEの叩き(効果音などを再生する事)、カメラフォローや照明の仕込み等はオペレータの技術がそのまま結果に現れてしまいます。これらは楽器と同じでとにかく練習するしかないです。しかし、いつの間にかテクノロジーによって技術をカバーできる様になる事もあるのでアンテナを張っておくのを忘れない様に、、、と自分に言い聞かせています。

技術選定

私たちのチームではSDKやAPIが公開せれていて開発コミュニティも活発なシステムを好んで選んでいます。いろいろなものを試した結果、私たちのチームは現在下記のようなシステムを利用しています。

映像系

主にATEMとvMixを利用しています。

vMixはソフトウエアならではの柔軟性の高さが何よりの魅力です。特にコンポジットの自由度が求められるeスポーツのライブプロダクションにおいては無くてはならない存在です。しかし物理的な入出力チャンネルがあまり増やせないという弱点もあります。 実際の現場では、スタジオセットのサイネージ、演者さんのモニタリング、運営スタッフの確認用、リモート出演者用の返し映像などなど、様々な場所に適切な映像を送る必要があります。そこで入出力チャンネルとME列が豊富なATEMを組み合わせて利用しています。vMix、ATEMのいずれもSDKやAPIが公開されているというのが嬉しいポイントです。 vMixを動かす端末は自作しラックマウントして運用しています。ラックマウントすることで現場での仕込み・バラしの効率が格段に向上します。

ラックマウントするとワンボックスバンのような空間でも運用しやすい

ラックマウントするとワンボックスバンのような空間でも運用しやすい

音声系

BGMやSEなどの音出しにはQLabを利用しています。 オーディオミキサーもビデオスイッチャー同様に様々なモニタリング系統が必要なので、入出力チャンネルが十分にありルーティングの柔軟性が高い機器を選んでいます。 今はYAMAHAのTFをメインに使っています。

操作系

CompanionとStreamDeckを組み合わせて利用しています。 上にあげたvMix、ATEM、QLabだけでなく収録再生デッキやハードウエアエンコーダなど、ライブプロダクションに用いるほぼ全ての機器をCompanion経由で操作できます。

例えば番組冒頭のシーンで「サイネージをタイトル画面に切り替えたらアタックVTRを挟みスタジオメインカメラにスイッチ、同時にBGM01を再生」といった様々な機器に跨るオペレーションをワンアクションで実行できます。 オーケストレーションする感覚で運用できるので、省力化やヒューマンエラーの抑止にとても役立っています。 Companionはオープンソースです。ある程度の現場をこなして私たちなりの知見も貯まりつつあるので、きちんとコミュニティに貢献していきたいと考えています。

小さな現場から大きな現場までCompanionは欠かせません

小さな現場から大きな現場までCompanionは欠かせません

コミュニケーションツール

現場のスタッフ同士のコミュニケーション手段としてDiscordを利用しています。 メンバーが全員Discordに慣れている点と、各自のスマホをそのまま使えるので導入コストがほとんど掛からないというのが大きな理由です。トランシーバーと違い双方向で通話可能でクリカムのように台数の制約もありません。 しかしレイテンシがこれらと比較して遅いという欠点もあります。普通の会話であれば問題にならないのですが、Cue出しやカウントなどをDiscordで行う際は注意が必要です。

技術選定の見直し

技術構成の最適解はチームメンバーのスキルや技術トレンドによって変化します。常にアンテナをはってアップデートを続けられる様に、エンジニア同士で週1で技術的な雑談をする時間を設けています。リモートワークが多くなるからこそ意図的な雑談の時間の確保が必要だなと感じています。

Bizメンバーによる技術習得会

エンジニアやオペレータだけでなく、BizDevやディレクションのメンバーも技術的なの知識を得るための勉強会を開催しています。(本来は私が主導すべきなのですが自主的に行動していてすごい) こういったプロダクションは、企画サイドと制作サイドが歩み寄るとコストと品質のバランスの取れた良い成果が得られることがあります。裏返すとこの歩み寄りが今一歩足りなかったことによって準最適解に陥ってしまう事も多いです。Bizメンバーのみんなありがとう。

R&D

現在私たちのチームにはソフトウエア開発、VFX、3Dモデリングなどを専門とするメンバーがいます。開発力が取り柄のチームなので、これらの強みを生かした表現のR&Dにも取り組んでいます。 例えばゲーム画面の画像解析によるStatsの自動検出や、Unreal Engineを使ったバーチャルプロダクションなど、専門性を生かした検証を行っています。一方でこれら飛び道具的な技術は基礎的な技術の上で輝くものだとも考えており、双方で強みを生かせるチームを目指しています。 これらの取り組みについても今後共有したいと思います。

リーンな制作はできる様になったか

Pocochaチームのコミュニティマネジメント施策現場の様子

Pocochaチームのコミュニティマネジメント施策現場の様子

コロナの影響により、DeNAでも社内の各プロダクトや部署が行っていたイベントやセミナーのオンラン化が急速に進みました。いままでであれば各部署が予算を用意して外部制作会社さんと制作していましが、大きめな外部工数予算の確保して実施するほどでは無いけどスモールスタートで実施したい施策などを私たちがお手伝いできる様になりました。単純な機会損失を回避できるだけでなく、社内メンバーだからこそできる提案やフィジビリティの検証といったプラスアルファの成果がでつつあります。

最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。

recruit

DeNAでは、失敗を恐れず常に挑戦し続けるエンジニアを募集しています。