MacBook Pro + OBS Studioの構成でよりよい配信を目指して映像機材を検証してみた 〜失敗編〜
はじめに
清水です。AWS Media Servicesを使って、これまでに何回か弊社で主催している勉強会などを社内外に向けて配信しています。以下のエントリなどでまとめているように当初はいろいろな課題がありましたが、最近は配信エンコーダやインフラ、そして配信ページなどはだいたい安定してきました。
- 【やってみた】AKIBA.aws 第3回 特別編をAWS Media Servicesを使ってこっそりライブ配信してみた #reinvent #akibaaws | DevelopersIO
- AKIBA.AWS 第5回 ネットワーク基礎編でAWS Media Servicesを使った社内向け動画配信テストをしてみた #akibaaws | DevelopersIO
- AWS Media Servicesを使ってラスベガスから動画配信してみた #reinvent #mediaservices | DevelopersIO
- MacBook Pro (Retina, 13-inch, Early 2015)からOBS Studioでライブ配信する際の最適パラメータを探求してみた | DevelopersIO
さて、このように配信インフラ自体が安定してくると、こんどは配信する映像自体の品質を改善できないか、と考えるようになります。そもそも、なるべく特別な機材を使わずに配信をやってみようということでUSBカメラ、USBマイクを使ってきました。しかしオンラインミーティング用の機材を流用していることもあり、課題がいくつか挙がりました。その1つがカメラの画質です。どうしてもUSBカメラの限界があるため、ビデオカメラの映像を配信できないか、またスライドなどPC映像をそのまま(カメラで写したものではなく、信号レベルでMacに取り込んで)配信できないか、という課題が生まれました。
この課題に対し、映像キャプチャデバイスを利用してビデオカメラの映像やPCの映像をMacに取り込んで配信できないかを検討したものが本エントリになります。結果的には映像を取り込むこと自体はできたのですが、配信まで考えた際にはまだまだ課題が残る状況となっています。
なお本エントリのタイトルを「〜失敗編〜」としていますが、現在のところ成功編(成功したパターン)がない状況です…。(今後の課題として試してみたい構成は挙げていますが。) 成功したら別途ブログにまとめます!
もくじ
USBカメラの映像で配信した際に挙がった課題
まずは改めて課題点を確認してみます。なるべく特別な機材を使わずに配信をやってみよう、と当初から撮影はUSBカメラで行っていました。勉強会が基本でしたので、USBカメラ1台で、スライドを投影しているプロジェクタスクリーンと登壇者が写るようなアングルを狙いました。(写真は登壇者が写っていませんが、左側の少し空いているスペースにに登壇者が入り込む想定です。)
これでもうまくいく場合はあったのですが、課題となったのはプロジェクタスクリーンへのピントやホワイトバランスが合わないときに、写っているスライドが映像から読み取れなくってしまうことです。(白飛び状態ですね。)
こちらの改善のため、例えば以下のようにUSBカメラを2つ使い、1つは登壇者を、もう1つはスライドを撮影するように配置することなども検討しました。スライド専用に撮影するUSBカメラを準備することでスライドを中心に(拡大して)撮影でき、クリアになることもあるのですが、やはりピントが合わない、ホワイトバランスが合わない、などでスライドがうまく映らないこともあり、根本解決にはなりませんでした。USBカメラの限界と言えますね。
また別の課題として、中心部分に写っているものは割ときれいなのだけれども、端の部分の輪郭がぼやけてしまう、というものがありました。これもUSBカメラの限界と言えると思います。
そうなるとやはり解決策としては、(1) USBカメラではなくビデオカメラの映像を配信に使用することが挙げられます。また(2) スライドなどPCからの映像を直接取り込んで配信することも解決策になります。画質改善のため、この2つのことができないか調査してみました。
調査の末に考えてみた解決策
まず先に挙げました2つの課題について、ビデオカメラは社内にあったCannon iVIS HF G20(など)を使うことを想定しました。ビデオカメラから映像はHDMIで出力されることとなります。このHDMIで出力される映像をMacで取り込めれば良さそうですね。またスライドなどPCからの映像の取り込みについても、現在多くのPCがHDMIで出力が可能 *1であることを考え、ビデオカメラと同じくHDMI映像をMacに取り込めれば良さそうです。ただし、PCからプロジェクタスクリーンやモニタなどにも映像を出力する必要があります。ここはHDMI分配器などを用いて映像を2つに分岐、片方をプロジェクタなどへ、もう片方をMacに取り込めれば良いと考えました。
続いてこの目的を達成できる映像機材を探してみます。HDMIのMacへのキャプチャはBlackmagic DesignのUltrastudio Mini Recorderを使うのが良さそうです。(一部界隈ではHDMIをキャプチャするには定番?の機材のようで、こちらを選定しました。)キャプチャデバイスの機能としては、SDIまたはHDMIで受け取った映像信号をThunderbolt経由でMacまたはWindowsで取り込むことが可能です。
そしてPCからのHDMI映像の分配について、例えばAmazon.co.jpで「HDMI分配」と検索するとさまざまな製品が見つかります。が、何やら相性などもあるようでどの製品が良いのか判別ができませんでした。そこでさらに調査すると、先ほどのHDMIキャプチャデバイスの製造メーカーであるBlackmagic Designの製品で分配する機能もついたコンバーターが見つかりました。Micro Converter BiDirectional SDI/HDMIというものです。
SDIをHDMIに、もしくはその逆のHDMIをSDIに変換するためのコンバータなのですが、入力がHDMIまたはSDIの片方のみだった場合にはその映像をHDMI及びSDIの両方から出力できるということで、分配器(スプリッター)としても動作するようです。(参考情報: [OnGoing Re:View]Vol.43 Blackmagic Design Micro Converter BiDirectional SDI/HDMI - PRONEWS)
このMicro Converter BiDirectional SDI/HDMIを使い、PCからHDMIで映像を入力、出力されるHDMI信号側をプロジェクタやモニタなどへ、SDI側を先ほどのUltrastudio Mini Recorderに入力すれば良いと考えました。副次的な効果として、SDI信号の伝送に使用するBNCケーブルはHDMIケーブルよりも長いものが入手しやすいだろうと考えました。勉強会などの会場が広い場合、登壇者のPCから配信用PCまで距離があることも考えられますが、BNCケーブルを使うことで数十m程度なら対応できるのではないか、という目論見です。
以上を図にまとめるとこのようになります。HDMIキャプチャデバイスのUltrastudio Mini RecorderはRecorder、HDMI分配器となるMicro Converter BiDirectional SDI/HDMIはConverterと表記しています。
考えた解決策を試してみた
ビデオカメラ映像のMacへの取り込み、また登壇者のPCからの映像を分配してMacへの取り込み、という2つの課題が解決できそうな構成ができました。いざ、実際にBlackmagic Designの機材を使ってこちらの構成を試してみたいと思います。
機材のレンタル
今回リストアップしたBlackmagic Designの機材ですが、例えばAmazon.co.jpでも購入が可能です。Ultrastudio Mini Recorderはだいたい17,000円/台ほど、Micro Converter BiDirectional SDI/HDMIが8,700円/台ほどとなります。(2019/02/28時点)
- Amazon.co.jp: Blackmagic Design 小型レコーダー UltraStudio Mini Recorder 001846: パソコン・周辺機器
- Amazon.co.jp: 【国内正規品】 Blackmagic Design コンバーター Micro Converter BiDirectional SDI/HDMI 本体のみ CONVBDC/SDI/HDMI: カメラ
しかし、本当にこの構成はうまく動作するのか?という心配があります。そのため今回は、まず機材をレンタルして検証し、うまく動作すれば購入を検討することとしました。調べてみるといくつか機材をレンタルしているところはありますが、今回はPANDASTUDIOレンタルさんを利用させていただきました。レンタルしたのは下記3製品です。
- Blackmagic Design UltraStudio Mini Recorder | 映像機器レンタル:パンダスタジオレンタル公式サイト
- Blackmagic Design Micro BiDirectional SDI/HDMI | 映像機器レンタル:パンダスタジオレンタル公式サイト
- BNCケーブル 3m (3C) | 映像機器レンタル:パンダスタジオレンタル公式サイト
UltraStudio Mini Recorderは2台レンタルしました。Apple Thunderboltケーブルも付属しているのが嬉しいポイントですね。(実際、Thunderboltケーブルは手元になかったので、別途調達する必要がありました。)またBNCケーブルについては手元になく、調達も難しそうだったのでこちらもレンタルしました。
Macに接続して配信してみる
実際に機材レンタル後、Macに接続して配信ができるか確認してみました。配信にはMacBook Pro (Retina, 13-inch, Early 2015)とOBS Studioを使用しています。詳細なスペックや、配信におけるパラメータなどは下記のエントリを参照ください。
ビデオカメラ映像のUltraStudio Mini Recorderでの取り込みについて
まずはビデオカメラの映像をUltraStudio Mini Recorderで取り込む部分についての確認です。配信用PCとなるMacBook ProにはBlackmagic Design社のDesktop Videoソフトウェアをインストールしておきます。
インストール後にUltraStudio Mini RecorderをThunderboltで接続すると、以下のように設定画面が表示されます。今回はビデオカメラからHDMIで映像を入力するので、HDMIを選択しておきます。
続いてビデオカメラとHDMIケーブルでこのUltraStudio Mini Recorderを接続します。OBS Studio側では以下のように「映像キャプチャデバイス」からデバイスで「Blackmagic UltraStudio Mini Recorder」を選択すると、ビデオカメラ映像(入力しているHDMI映像)が認識できます。(実際にビデオカメラを接続した際のスクショを取り忘れてしまったため、PCのデスクトップ画面を写している点にご注意ください。)
さて、実際にビデオカメラ映像をUltraStudio Mini Recorder経由でMac(OBS Studio)に取り込み配信してみたのですが、ビデオカメラで撮影している映像とOBS Studio側で認識されている映像に数秒単位の遅延やカクつきが発生し、実用には耐えられないという結果になってしまいました。CPU使用率もOBS Studioで表示される数値が70%台など高い状態が続き、安定した配信は難しそうです。おそらく映像としてFull HD解像度(1920x1080, 1080p)で入力され、MacBook Pro (Retina, 13-inch, Early 2015)のスペックでは処理が追いついていないのではないか、と考えました。(実際、USBカメラを使った際にもFull HD解像度ではCPU負荷が高かったということもあったので。)
PC映像のMicro Converter BiDirectional SDI/HDMIによる分配について
続いてPC映像をHDMIで出力し、Micro Converter BiDirectional SDI/HDMIで分配する箇所の確認です。作業用のMac(MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports))からApple純正のUSB-C Digital AV MultiportアダプタでHDMI映像を出力してみます。ConverterからのSDI出力をUltraStudio Mini Recorderに接続、配信用MacのOBS Studio上で確認、またHDMI出力をPC用液晶ディスプレイに接続して確認を行いました。
結果としては、Mac側の映像出力をデフォルトの1080pではなく、1080iに切り替えないとSDI、HDMIともの映像が出力されませんでした。 1080iに切り替えれば目的である映像分配ができる、とも言えなくもないのですが、インターレース映像となってしまうため液晶ディスプレイ側、またMini Recorderを通したOBS Studio側両方でとても乱れた絵となってしまいます。こちらも実用には耐えられないと判断せざるを得ませんでした。
PC映像のHDMIスプリッターによる分配とUltraStudio Mini Recorderでの取り込について
Micro Converter BiDirectional SDI/HDMIによる分配がうまくいかなかったことを受け、HDMIスプリッターによる分配も検証してみました。HDMIスプリッターは社内にあった「プリンストン デジ像 HDMIスプリッター 2分配 PHM-SP102A」を使いました。
実際にPC(Mac)の映像をHDMIスプリッターに入力、出力をそれぞれモニタ、そしてUltraStudio Mini Recorderに入力しました。両方に映像が出力され、良さそうに見えたのですが、PCからの映像を切り替える(スプリッターへの入力となるHDMIケーブルを抜き差しする)とそれ以降、映像がうまく出力されなくなってしまいました。製品として頻繁に映像を切り替える(HDMIケーブルを抜き差しする)ことを考えておらず、常時電源ONにして使用する前提のものなのかなと推測しました。調子が良ければ使用できるものの、勉強会などを前提とすると頻繁に入力の切り替えは想定されることなので(登壇者が入れ替わり、接続するPCも変わる)、こちらも実用は難しいかなと判断してみます。
PC映像をHDMIで直接UltraStudio Mini Recorderでの取り込について
最後にもう一つ、分配器などを通さずにPC映像の映像をHDMIで直接UltraStudio Mini Recorderから取り込んでみる確認をしました。PCは作業用のMac(MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports))です。こちらは興味深い現象として、 Apple純正のUSB-C Digital AV Multiportアダプタを使用した場合にはUltraStudio Mini Recorderを経由して、OBS Studio上でPCから出力される映像が確認できたのですが、私が愛用している「Amazonベーシック USB 3.1タイプC - HDMIアダプター ブラック」を使用した場合はOBS Studio上で確認できる映像にちらつきが発生し、実用できるものではありませんでした。(ここはやはり、純正品の安定感でしょうか…)
ただ、純正品できちんと取り込めても、ビデオカメラのときと同様、映像の遅延が発生してしまうため実用は難しい、という結論です。
失敗原因と今後の課題
以上、つらつらと述べてきましたが、結果的には(1) UltraStudio Mini Recorderでの映像取り込みは負荷などの理由で実用に耐えれない、(2) Micro Converter BiDirectional SDI/HDMIでの分配もうまくいかない、と失敗続きとなってしまいました。とりあえずつなげてみればイケるのではないかと考えていましたが、甘かったですね…。
原因として考えられる点をまとめてみます。まずHDMI映像のUltraStudio Mini Recorderによる取り込みについてですが、MacBook Pro (Retina, 13-inch, Early 2015)でのFull HD解像度(1920x1080, 1080p)での処理は負荷としてキビシイものがある、という見解です。ただし、(可能かどうか確認していないのですが)取り込む段階で720pなどFull HDから一段落とした解像度で取り込む、または配信に使用するOBS Studio含め、パラメータを追い求めれば実現できるのかもしれません。 *2
また分配に使用したMicro Converter BiDirectional SDI/HDMIについて、こちらはSDI経由でUltraStudio Mini Recorderに入力できること、またBNCケーブルの利点なども考えたのですが、SDI信号の映像を確認する機材が手元にないことからSDIで映像を扱うことは危険だな、という所感です。なにか映像が映らないなどのトラブルが発生したときの確認が非常にやりにくいのがその理由となります。
機材のレンタルについて、今回結果だけみると購入せずにレンタルで検証してみ良かった、と心底ほっとしています。まず実際に使えるかどうかを検証し、使えることがわかったら購入を検討したい、という場合にレンタルはとても良い選択肢だと思います。ただ欠点としては、レンタル期間内で検証を終える必要があるため、パラメータの追い込みなどが制限されることかなと考えます。(こちらの期間を含めてレンタルすればよいのですが、今回そこまで考慮できていませんでした。)
今後の課題として、当初解決策として挙げていた(1) USBカメラではなくビデオカメラの映像を配信に使用すること、また(2) スライドなどPCからの映像を直接取り込んで配信すること、について、今回使用した機材で失敗してしまったからといって諦めるわけではありません。今回の反省点を活かすと、配信に使用しているMac(MacBook Pro (Retina, 13-inch, Early 2015))では720pでの映像処理を前提としたほうが良さそうです。この条件に合致しそうな機材がないか調べてみると、以下のような製品が見つかりました。
- 2. Roland Pro A/V - VR-1HD | AV ストリーミング・ミキサー -
どちらの製品も特徴として、Webカメラ(USBカメラ)と同じ方式を採用しており、他のUSBウェブカメラ同様に専用ドライバーなど必要とせずにUSB経由で映像を取り込むことが可能とのことです。Blackmagic Web Presenterについては720pのUSBウェブカメラの映像と認識して映像を取り込むそうですが、この要件についてはFull HDではなく720pで映像を処理したい、ということにもマッチしますね。Roland VR-1HDについてもUSB出力で720pを選択できるようなので、こちらも要件にマッチします。またいずれの製品もHDMIを入力とすることができるので、今回想定しているCannon iVIS HF G20などHDMIで出力されるビデオカメラの映像をMacに取り込むことができそうです。またRoland VR-1HDについては複数HDMI入力のスイッチングができる他、画面合成(ピクチャ・イン・ピクチャ)や画面分割などができるようです。これまでOBS Studio上で画面合成などを考えていましたが、VR-1HD上で映像を作成、Mac側では取り込みと配信のみ、という構成ができるかと考えます。Blackmagic Web PresenterについてもSDIでもう1系統の入力ができ、スイッチングも可能なようです。(今回のケースでいくと、SDIを使いたくないという要件にマッチしませんが…)
また、(2)のスライドなどPCからの映像取り込みに関しても確認してみます。どちらの製品もHDMIであれば入力が可能であること、またHDMI Loop OutもしくはHDMI THRU端子が備えられています。そのため、Macに映像を取り込みつつ、プロジェクタやモニタにも映像を送ることが可能です。これまでHDMIでPCから出力された映像をまず分配して、取り込み機材とプロジェクタへそれぞれ映像を送ることを考えていましたが、このようなLoop Out/THRU端子で入力した映像を機材を通して出力し、プロジェクタへも映像を送るのが正しい方法なのかな…、と考えるようになりました。
どちらも今回検証したUltrastudio Mini Recorder、Micro Converter BiDirectional SDI/HDMI同様、実際に構成にマッチし、実用できるかどうかという点の検証は必要ですが、現在の構成で解決策につながりそうだなと希望が持てました。
まとめ
AWS Media Servicesを使って勉強会などを配信している際に挙がった「映像自体の品質を改善したい」という課題について、(1) USBカメラではなくビデオカメラの映像を配信に使用すること、(2) スライドなどPCから映像を直接取り込んで配信すること、の2点から解決を図ってみました。具体的にはBlackmagic Design Ultrastudio Mini Recorderを使ってのMacへの映像取り込み、またBlackmagic Design Micro Converter BiDirectional SDI/HDMIを使っての映像の分配ができないか検討してみました。結果、映像のMacへの取り込みについてはスペック不足で実用は難しく、また映像の分配についても思ったとおりに行きませんでした。
正直なところ、ここまでうまくいかないとは思いませんでした。つながる機材を選んでおけばだいたい大丈夫かと思ったのですが…。 しかしこれにめげずに、他の機材を使うことでの解決への希望も見いだせました。引き続きこれら別機材を使って検証ができればと思います。