オンラインロボット大会参加にむけて用意した配信環境

# はじめに

昨年末、私の母校のクラブから、あるロボコンへ出場するとの知らせが届きました。
**大会がオンラインで行われるため、配信の手伝いをして欲しい**との依頼が来たのです。

大会は昨年末の予選会と、先月の全国大会の計二回行われました。
本稿では、**オンライン大会に参加するにあたってどのような配信環境を整えたか**、備忘録も兼ねて書き記したいと思います。

# 使用機材

まずは、使用した機材を一気に紹介したいと思います。

## ビデオカメラ

大会事務局からの指示で、俯瞰撮影用と手持ち撮影用とで2台カメラを用意しました。
それぞれ以下のビデオカメラで、どちらも**HDMI出力**と**電源入力**が出来るものです。

### Panasonic デジタル4Kビデオカメラ HC-VZX2M

https://panasonic.jp/dvc/p-db/HC-VZX2M.html

![1428399769669.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/2e506eba-a176-7338-c77e-8149decdbf19.jpeg)

### JVC ハイビジョンメモリームービー GZ-RX500

https://www.jvc.com/jp/camcorders/lineup/gz-rx500/

![rx500_prod.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/15757ae9-1eb7-b549-04ad-a14708e0459d.jpeg)

## キャプチャボード兼ビデオスイッチャー

上記のビデオカメラからの映像をパソコンに取り込むために、キャプチャボードが必要です。
今回は、キャプチャボード兼ビデオスイッチャーとして非常に評価の高い`ATEM Miniシリーズ`を使用しました。

### Blackmagic Design ATEM Mini Pro

https://www.blackmagicdesign.com/jp/products/atemmini

![streaming-still-lg.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/4738a301-4c8d-b295-49f5-913a3b9839dc.jpeg)

## パソコン

パソコンはメイン1台、サブ1台を用意しました。
メインは映像配信に耐えうるスペックのものを用意しました。
サブは上記のATEM Miniをコントロールする用途なので必要とされるスペックはそこまで高くありません。

### メインPC msi GP75

https://jp.msi.com/Laptop/GP75-Leopard-10SX/Gallery

![product_0_20200310164646_5e6753f633bb3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/47b8ffa1-e56b-cd42-57f2-466857194fc1.png)

### サブPC DELL Inspiron 5502

https://www.dell.com/ja-jp/shop/%E3%83%87%E3%83%AB%E3%81%AE%E3%83%8E%E3%83%BC%E3%83%88%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3/inspiron-15-%E3%83%8E%E3%83%BC%E3%83%88%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3/spd/inspiron-15-5502-laptop

![in5501nt_cnb_00055lf110_gy.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/bbcdae68-6c98-80ce-d6e6-2bfe553f0255.png)

## ディスプレイ

大会では生徒が本部の審判と対話することがあります。
このとき、生徒に審判の顔が見えたほうが良いと考えたため、少し大きめのディスプレイを用意しました。
このディスプレイに、配信で用いたdiscordのウィンドウを表示することで、スムーズなコミュニケーションを実現しました。

又、ATEM Miniのモニタリング用に、ポータブルモニターを一つ用意しました。

### LG 4Kモニター

(正確な型番がわからなかったので画像はイメージです。)

![large01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/fc1442e7-0d15-881c-094b-e17d6e597a53.png)

### ポータブルモニター

(こちらも型番がわからなかったので画像はイメージです。)

![715hmTfo6kL._AC_SL1500_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/120fe192-bb6d-7437-3786-49a5a688ab7c.jpeg)

## マイク

当初は[有線のダイナミックマイク](https://www.soundhouse.co.jp/products/detail/item/24939/)を使用するつもりだったのですが(そっちの方が音質が格段に良いので)、思っていた以上に生徒や審判役の先生が動き回ることがわかったため、有線マイクの使用は断念しました。

代わりに、会議向けの無線接続(Bluetooth)の集音マイクを用いることにしました。
これなら、動き回ることも可能ですし、声もしっかり拾えます。

### Anker PowerConf

https://www.ankerjapan.com/products/a3301

![A3301001_7b09b0ed-eb42-41b7-b95c-3321605b55d0_500x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/8a3335a9-227f-6e5f-e35b-121c793edcc4.png)

## その他

### インターネット

諸事情により学校内ネットワークを使用することが出来なかったので、基本使い放題のWiFiルータ(ホームルータタイプ)をレンタルしました。

![ztr01_color_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/18d14c3b-c9f2-009d-56aa-dc966bb8a93b.png)
(※イメージ)

### 生徒用スピーカー・モニター用ヘッドホン

本部からの声を聞くためのスピーカーを用意しました。
又、こちらから配信する音もモニターできるようにヘッドホンも用意しました。
どちらも3.5mmジャックで接続できる、ごく普通のものです。

# 配線図

続いて、それぞれの機器をどのように接続したかを紹介します。

まず、私が構想しているときに書いたラフ画をお見せします。

![S__4571138.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/6f606c2c-c275-f27e-a302-cdb9743190df.jpeg)

## ATEM Mini まわりの配線

ATEM Mini には、以下の接続がなされています。

- 2系統のHDMI入力
- モニタリング用のHDMI出力
- USB-Cポートからのウェブカム出力
- ATEM Software Control用のLAN接続

ATEM Miniシリーズは、USB-Cポートからパソコンに接続することで**ウェブカムのように振る舞う**ことが出来ます。
これを用いて、ビデオカメラからの映像信号をパソコンに取り込みました。
それと同時に、ATEM Miniはビデオスイッチャーでもあるので、**俯瞰映像と手持ち映像をシームレスに切り替えることも可能**としました。

## メインPCまわりの配線

メインPC(msi) には、以下の接続がなされています。

- discord表示用のディスプレイへのHDMI出力
- ウェブカム化されたATEM MiniからのUSB入力
- 集音マイクとのBluetooth接続
- ルータからのインターネット接続 (図ではLANですがWi-Fiで接続しました)
- スピーカーとヘッドホンへの3.5mm音声出力

メインPCのラップトップ側のディスプレイではOBS(配信ソフト)を表示、外部ディスプレイには配信で用いたdiscordのウィンドウを表示しました。

# ソフト面

コンピュータ内で何が行われていたかについても紹介します。

## メインPCの構成

メインPCでは、配信映像及び音声を管理する[OBS(Open Broadcast Software)](https://obsproject.com/ja/download)と、配信プラットフォームである[discord](https://discord.com/)が起動していました。

まず、**OBSにATEM Miniからの映像**と、**集音マイクからの音声**を取り込みます。
OBSの機能である「仮想カメラ」を用いて、discordに映像を出力します。
OBSを経由することで、**配信している映像をパソコン内に記録することが出来ます**。
これにより、後日ビデオを見返し復習することを可能としました。

discordは、本来ゲーム配信等のプラットフォームとして用いられているようですが、今回は事務局により大会運営に用いるプラットフォームとして選ばれました。
zoomなどの他のビデオ会議システムと同様に、映像・音声を共有することができます。
これを用いてリアルタイムに競技映像を審判に見せるという手法が取られました。

discordのビデオ設定はOBSの仮想カメラ(`OBS Virtual Camera`と表示される)、音声設定は入力に集音マイクを設定しました。

以上の設定により、OBSで録画しながら、discordで競技映像を配信するということが可能となりました。

![スクリーンショット (158).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/74cb9c48-4ab9-9dab-09c0-f4c038ffca0e.png)

## サブPCの構成

サブPCでは、主にATEM Miniのコントロールを行いました。
ATEM MiniはUSB接続、もしくはLAN接続でパソコンと繋ぐと、**ATEM Software Control**というソフトを経由してスイッチング等の操作ができるようになります。
又、ATEM MiniはPinP(ピクチャー・イン・ピクチャー)(簡単に言うとワイプのようなもの)を簡単に行うことが出来ますが、それの大きさや縁取り等を細かく指定することも出来ます。

![download.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/1250fd68-3d7c-7fb4-efd1-461bb4ffba97.jpeg)

https://www.blackmagicdesign.com/jp/products/atemmini/software

# 最終形

それでは、最終的な完成形をお見せしたいと思います。

![FMheRGpaIAQARex.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/e4aa5633-2edd-3eb5-edea-8118afb57fbe.png)

# 感想

今回は安定的かつ生徒によりよい環境にしたかったためここまでやりましたが、正直やりすぎた感があります。
極端な話、最小構成で言えばiPhoneやiPadが2台あれば競技自体は成立します。
もう少しコンパクトに実現出来れば、というのが今後の課題です。

それはそうと、普段こんなことはやらないのでいい体験にはなりました。
知識を深める事ができ、非常に満足しております。

ここまで長文にわたりお読みいただきありがとうございました。

## p.s.

この記事は2月中に出したかったのですが、間に合いませんでした…
3月にずれ込んでしまいすみません🙏

今後も月イチ投稿目指して頑張りたいと思います👍