OBSのウインドウプロジェクターを画面共有できない時の覚え書き

Pocket

皆さんOBS Studio活用してますか?

私はUT(ユーザテスト)で被験者の手元、表情、製品などをマルチカメラで撮って合成した映像を記録したり見学者に配信するといったことを行います。

その際、OBSは複数映像ソースをパワポやドローツールのような感覚で自由にレイアウトした合成映像が作れるので重宝しています。

OBS StudioにはYoutube LiveやFacebook Live、RTMPなどで配信する機能も備わっていますが、UTではあまりそういう一般配信用プラットフォームを使うコンセンサスは得られず、TeamsやZoom、MeetのようなWeb会議ツールに流すことを求められます。そういった場合困るのは、これらの画面共有機能では特定のモニタやウインドウ単位でしか共有対象を指定できないという点。そのままOBSのウインドウを共有すると余計なUIが映ってしまい、肝心な映像部分の実効解像度が落ちてしまいます。

以前の記事では、外部モニタをつなぎ、OBSから「全画面プロジェクター(プレビュー)」という機能でプログラム映像を全画面表示し、それを画面共有する方法をご紹介しました。

一方ノートPCで運用する場合など、外部モニタを用意できない場合は代わりに「ウインドウプロジェクター(プレビュー)」を使って、独立のウインドウを作ることができます。しかしここで1つ問題があって長年外付けモニターを用意せざるを得ないと思っていました。何故なら、ブラウザやZoomアプリの画面共有対象ウインドウ選択画面に、このOBSのウインドウプロジェクターが出てこないのです。たぶんこれはmacOSだけだったと思います。「Macで画面共有する時、OBSのウインドウプロジェクターが選べない」という状況です。

この解消方法がようやくわかったので記事にしました。

解説は1行で済みます。ウインドウプロジェクター上で右(副ボタン)クリックをして「常に手前に表示」をオフに(チェックを外)します。

一度共有画面選択ウインドウを閉じて開き直すと、

Boom! ちゃんと選べるようになっているんじゃないでしょうか。

想像ですが常に表示に昇格したウインドウはOS的な扱いが例外的になって他アプリでオーバーレイできないということなんですかね。どのみちこういう用途では「他のウインドウが被ってもキャプチャ(配信)される映像に影響が出ない」方が好都合なので、デメリットもないと思います。このウインドウがバックグラウンドに回ってしまってもZoomなどに配信される内容は影響を受けません。

とてもニッチなトラブルだと思いますが、困っている方の参考になれば幸いです。

ZOOM F3を使ってた所感

Pocket

先日「ユーザーインタビューのやさしい教科書」のイベントがあって、大阪に行って来ました。

ユーザーインタビューのやさしい教科書

ユーザーインタビューのやさしい教科書

奥泉 直子, 山崎 真湖人, 三澤 直加, 古田 一義, 伊藤 英明
2,600円(02/04 19:43時点)
発売日: 2021/09/24
Amazonの情報を掲載しています

基本的に配信は主催のHCDNetさんが引き受けてくれて自分はノータッチだったんですが、後日一部ダイジェストなら書籍のYoutubeチャンネルにアップしても良いということだったので、録画用に自前機材を持ち込みました。その時に初投入したのが前回の記事で書いたZOOMのF3です。

貸し会議室にはPA設備があり、そのミキサーからこちらのケーブルを使って音をもらいました。

https://www.soundhouse.co.jp/products/detail/item/225818/

ステレオの標準プラグまたはミニプラグからXLR x2に変換するケーブルです。他にもRCAプラグからとる事態になるかも知れないと、こちらのアダプタと懐かしの赤白オーディオケーブルも持参。

https://www.soundhouse.co.jp/products/detail/item/24906/

どちらもサウンドハウスのオリジナルブランド品でお手頃です。

イベントは契約の関係で開始30分前にしか入室できず、かなりバタバタでした。持ち込んだカメラからのHDMI信号がATEM Miniで認識できなかったり(Video Assistでは映った)、PAからの音が配信PCに入らなかったりとトラブルの連続で前半はリモート視聴者さんにもご迷惑をおかけしてしまいました。

そんな中でもこのF3で録ってた音は非常にクリアで、途中からは配信用に転用したくらいです。Windows PCにオーディオドライバも必要なくUSBケーブルでつないだだけで(配信の方の)Zoomで認識されました。ただし残念ながらF3内録音とUSB I/Fは排他らしく、録音を止めないと配信には使えませんでした。16bitや24bitでもいいので同時録音できると良かったなと思います(もしかしたら設定でできるかも?)。ともあれPAからの音を(XLRのソース設定をマイクからラインに切り替えはしましたが)デリケートなレベル調整なしでポンと録音できたのは非常に良かったなと。コンパクトで大阪までのスーツケースでさほど容量を食わなかったのも有り難かったです。バッテリーもリチウム電池で余裕でした。

昨今のUT現場ではマスク対策もあってワイヤレスマイクを使うことが多いですが、いずれピンマイクやガンマイクで録る現場があったらまた活用したいです。

■PAを録音してみて気付いたこと

通常の業務UTでは、今回のようにPA(会場の音響設備)経由で音をもらって録音するといった機会はなく、貴重な経験となったのでついでにメモを残しておきます。

まず上に書いたとおり32bit float録音ができたのは良かったです。PA側のミキサーを一切触らずにジャックにケーブルを挿すだけで音が録れました。今回は音声スタッフはおらず会場備え付けのミキサーを勝手に使え、というスタンスの会場でしたが、やはり勝手がわからないのでいじるのは気がひけるものです。

今回登壇者は自分を含めて5人おり、ワイヤレスx3、ワイヤード2を用意してもらいました。ワイヤレスはマイクスタンドにつけて卓上置き。ワイヤードはミキサーよりの2席に普通に転がしておきました。このマイクスタンドがクセモノだなと思います。我々話者もそこまでこういう場に慣れていないので、必ずしもマイクに向かって話すということを意識しきれず、スクリーンや隣の話者に顔を向けて話してしまいがち。そうすると集音範囲の狭いダイナミックマイクでは途端に声が小さくなってしまいます。後編集をしていてマイクスタンドを使っていた人達の声が大きくなったり小さくなったりを繰り返していて「あちゃー」という感じ。今後こういう機会があった時にはできればスタンドは避けたり、必ずマイクに向かってしゃべるよう話者に念押ししときたいなと。程度の差はあれピンマイクでも同じことが起きるのかなと思います。顔につけて常に口元にマイクがくるヘッドセットタイプが最強かも知れません。

あと、そうしたダイナミックマイクだけで話者の音を録ったPAの出力は、ノイズがなく聞き取りやすいものの、会場の空気感が抜け落ちた音声になってしまうので、イベントのライブ感みたいなものを出したい時は所謂”エア”のような環境音も録って軽くミックスしてあげるのが大事だなと思いました。ちょうど客席の一部においた引きアングル用のビデオカメラの内蔵マイクの音が録れていたので、今回はそれを流用しました。

実は今回F3との組み合わせでもよく挙げられるBEHRINGERのC-2というペアコンデンサマイクを買いました。2本で1万円切りの良コスパのXLRコンデンサガンマイクです。

べリンガー C-2

べリンガー C-2

9,570円(02/04 23:05時点)
Amazonの情報を掲載しています

さすがにF3に2本直差しだとあまり意味ないでしょうが、付属スタンドで少し角度を開くようにして使えば良いステレオ収録にもなります。メインの音声をワイヤレスマイクを録る片割れ、このF3とC-2の組み合わせでエア兼バックアップを録って置くのも良さそうだなと思いました。

スマホアプリでレベルメーター付きで確認できたのも良かったです。登壇者席にいながらにしてこっそりチェックしたり録音の開始/停止ができるのは大きなメリットでした。(別売りBluetoothユニットが必要)。

■まとめ

小型で32bit float録音ができるZOOM F3で、レベルを気にせずまさに録音ボタンだけで綺麗な収録ができました。どんな音が出てくるかわからないPA経由の収録では大きなメリットかなと思います。

しばらく色々な活用法を模索してみたいと思います。

完全オーバースペック!! 録画対応小型モニター、BMD Video Assist 7″ 12G HDRを導入

Pocket

現状の課題

普段UTやインタビューの実査業務で録画/中継をする際、ミスや破損に備えて二重で録画するよう心がけています。ちなみにZoomやTeams、Meetなどで中継することが多いですがクライアント(発注元)のライセンスで使うことが多く、クラウド録画機能は容量や個人情報管理の観点で使えないことが多いです。後者は例えば参加者の顔が映った映像をクライアントが保持するのがNGで、後日ボカシをかけて納品するような場合、一時的にもクライアントがアクセスできるストレージにデータを保存できない、みたいな事情です。そんなこんなで手元での録画を多重化することが多いです。具体的には、ATEM MINI Extreme ISOでマルチカメラの映像を合成したPGMを作り、ATEM自身で作りつつ、中継用PCに入れてOBSで録画&Web会議サービスに中継、という感じです。

で、OBSのPGM映像(合成後の出力)を配信に載せる場合、映像だけが出ているウインドウが欲しくなるのですが、なぜかMac版OBSで作ったプレビューウインドウがMeet(ブラウザ)の共有画面選択一覧に出てこない問題があったりします。そこで自分はサブモニター全体にPGBを映す「全画面プロジェクター」を使用します。

が、ここに罠があって外付けの小型モニターの電源がなんらかの理由で落ちるなどして外付けモニターをロストするとOBS自体がクラッシュしてしまうのです。そうはならんやろ、と思うかもですがUSB-C電源で動いているモバイルモニターだとわりとちょっとコネクタに力がかかったくらいで瞬断することがあったりして、コネクター周りをパーマセルテープでガチガチに固定するなどしています。

ちなみにWindows版OBSだとこの辺りどうなのか検証できてないですが、たぶん全画面プロジェクターでなくウインドウプロジェクターでもたぶんブラウザの共有画面として使えたと思います。

てことで長い前フリですが、「安定した外部モニターが欲しい」が課題の1つ目。

もうひとつは小型の録画機が欲しいというもの。3つ以上のカメラソースを合成する場合、ATEM MINI Extremeに処理を投げられるのはPCの負荷軽減もでき安心感があります。一方、そこまで複雑な合成が必要ない場合や、車で行けない現場の場合、Extremeを持っていかずにPC+OBSで済ませたいなということもあります。実際来月そういう案件があるのでこの時期に動いたというのもあります。ということで、ATEM MINI Extreme ISOをもってくほどでもない軽合成案件でも、OBSとは別に録画系統を確立したい、というのが2つ目の課題というか目標です。

ということで今回の要求使用は

  • HDMI入力された映像をSDカードやSSDなどのシリコン媒体に保存できる
  • 現場にもってく負担にならないよう、なるべく小型で配線なども簡略化できると良い
  • 業務グレードの信頼性
  • 1案件まるごと(90分x12セッションくらい)を単一のメディアに不安なく収録できるビットレート、コーデックが理想

みたいな感じで探しました。画質はFHD/30pくらいで充分ですが、4Kとかも使えるとホビーでも流用できるかもなぁ、くらいで。あくまで前線にATEMやOBSがいてのバックアップ用なのでマイクが直接つくか、などはさほど優先度は高くない感じ。

■なるべく小型で長時間録画ができ信頼できる録画機を求めて

まず1万円前後で買える安い「PC不要」を謳う録画機は端から除外です。

こういうのは2GBとかでファイルが分割されるものばかりで、ファイルの扱いがめんどくさくなるからです。小さいのでバックアップ録画用としては悪くないのですが、このクラスの新製品をみつけてはメーカーサイトにいって説明書をチェックすると、たいていどこかにちっちゃく「2GB毎に分割されます」って書いてあります。大抵はH.264でビットレートもそれほど高くないので、割と長く録っても2GBにいかないとかはあるかもですが、、

そして挙がったメンバーがここら辺。業務製品なのでややお高いですが信頼性も担保されるだろうと。

・HyperDeck Shuttle HD

Blackmagic Design HyperDeck Shuttle HD (HYPERD/PTSHD)

Blackmagic Design HyperDeck Shuttle HD (HYPERD/PTSHD)

67,881円(02/04 20:35時点)
Amazonの情報を掲載しています

フルHDの再生と録画ができ、シャトルで頭出しがしやすい点が特徴。駆使するとUTの回顧法とかでも使えて面白いかなーと思ってかなり悩みました。小型でATEM MINIシリーズと並べて置きやすい形状もGood。お値段も手頃です。保存はSDカードかUSB SSD。

一度ほぼ決めかけたんですが、「どうせならモニターと一体化してれば10インチモバイルモニターもってかなくて良くなるんじゃね?」と閃いてからモニター搭載機にぐぐっと傾いて、今回は見送りました。でもいずれ欲しいかも知れない。

・HyperDeck Studio HD Plus

同じくHyperDeckシリーズの録画HD、再生4K機。この下のminiだとHDMI入力がないので自動除外。4K再生もできるので提示刺激映像(クルマ案件で走行映像とか)を高画質で映せるのが魅力だなと思ったんですが、ちょっと持ち出すにはサイズが大きいなということで断念。一応ちっさいながら液晶モニターとスピーカーもあるので画角などは確認はできるんですが、ピントがあってるかとかまでは厳しい。

ちなみにちょっとした動画を見せるだけならPCでもできるんですが、こういう機器だと再生制御UIとかを一切画面に映さずに済むので運転シミュレーターなどで使うには没入感を出しやすいというメリットがあります。ATEM MINIと組み合わせてソースにするとATEMのスイッチャーで選択したら再生が始まる、みたいな連動ができるのもHyperDeckシリーズの良いところです。ATEM以外からもネットワーク経由で再生制御ができるので、アプリでリモート制御したり、スクリプト書いて自動化したりもしやすい。

・Video Assistシリーズ

Video AssistとNINJA Vは録画もできるモニターとして双璧というか、他に選択肢がないくらいメジャーです。ただしガチプロすぎてコーデックもプロくてビットレートが高いProResとかBlackmagic RAWとかになってしまうのが難点。SDやSSDのコストが高くついてしまいます。

Video Assistは5インチと7インチ、FHDと4Kで4製品あります。今が10インチでモニタリングしてるので、5インチはさすがに厳しいかなと思います。合焦箇所を色付けして可視化する機能(ピーキング)などはあるとはいえ。あと7インチだとSDスロットがデュアルになり(溢れたらもう片方で録る)、ミニXDRで高音質マイクを直結できるといった違いも。

H.264/265といった圧縮率の高いコーデックが使えないので、先に書いた十数時間分の映像をメディア交換なしで録るのが難しい(大きくて高いSDやSSDが必要)のが最大の難点。

・NINJA Vシリーズ

ATOMOS(アトモス) NINJA V ATOMNJAV01 ATOMNJAV01 ブラック

ATOMOS(アトモス) NINJA V ATOMNJAV01 ATOMNJAV01 ブラック

76,500円(02/05 02:14時点)
Amazonの情報を掲載しています

こちらは5.2インチ。19インチとか大きいモデルもありますが2,30万するのでさすがに除外。4Kモデルと8Kモデル(V+)があり、拡張モジュールで機能を足せるのもガジェット好きとしてはたまらない。ちょうど悩んでた時にネットワーク経由でプロキシ映像(編集作業用の低画質映像)をframe.io(クラウド編集サービス)にリアルタイム送信するモジュールが発表され、その記念としてアメリカで$399になったのでかなり悩みました。日本で18万くらいするV+でも$599です。無印VはH.265ライセンスを$99で買う必要があるので、V+との差が$100。日本代理店で同じセールが来るかもわからず、米Amazonでカートにいれるところまでいきました。

こちらのメリットは背面にSATA SSDが装着できる点。Video AssistはUSB-Cで外付けなのでケーブルがややゴチャつきます。そのかわりあちらにはSDカードがあるので大容量SDが買えるなら補えます(NINJAはSDスロットなし)。

ただいまいち踏み切れなかったのはH.265収録がイマイチ不安定という指摘と、ファン音がVideo Assistよりも大きいというレビュー。UTで無言で操作してもらってる時のファン音は意外と気になります(マイクが拾うと後処理もしたくなる)。ATEMを冷やす外付けファンとかも使用を躊躇うことがあるので、やはり音は静かなのにこしたことはない。H.265収録は後付けの機能でもあり、低画質ファイルを編集ソフト上でランダムシークすると真っ黒になることがある、と公式でもアナウンスしてたりして、せっかく容量小さくでも扱いにリスクやフラストレーションが伴うのはイヤだな、という印象。

■Blackmagic design Video Assist 7 12Gに決めた!

ということを延々と悩み抜いて、

  • 老眼来てる目は大きな画面が良い、ピント来てるかチェックしたり、クライアントにちょい見せするにも大きいは正義!
  • ProResで一番画質が低い ProRes Proxyで512GBストレージならどうにか要求仕様の収録はできそう。最悪1TBのSDかSSDを買う。
  • FHDで足りるけど、いつかBlackmagic RAW出力に対応したカメラを買ったりしたら試してみたいので12G

としました。

正直FHDでのバックアップ録画には過分なスペックですが、そもそもの「画面付きレコーダー」に選択肢がほとんどないので致し方なし。けっこうずっしり重いですが、Hyperdeck Shuttle HD + 10インチモバイルモニターを持ち歩くことを思えば似たり寄ったりで配線も簡略化できるのでいいかなと。できればSDカード運用で外付け機器は最低限にしたいところ。また上下に3つずつ三脚穴があるので、ケージをつけなくてもSSDやマイクレシーバーを固定できてよさげ。卓上三脚ともどもヨサゲなのを物色していきたいと思います。

■ファーストインプレッション

・外観

実使用想定イメージ

USB-Cポートが下部にあるので、外部SSDを使う場合は三脚などで本体を浮かせる必要があります。傾斜もあった方が見やすいし、卓上で使うならミニ三脚はマストでしょう。SSDなどの付属物を入れると1kg位になるので、三脚も割としっかりしたものが安心です。手近にあったSONYのシューティンググリップをつけてみたところかなりしっくり来ました。つなぐ先がαなどSONY製対応カメラの場合、グリップのリモコンでカメラ側のズームや録画開始停止ができるのもアリかも知れません。

右側面

右サイドは電源ボタン。ヘッドフォンジャック、SDカードスロットx2、電源ポートなどが並びます。7インチモデルはSDカードスロットが2つあることで容量溢れた時に別スロットに継続録画してくれるので安心感。電源コネクタはがっちりネジ止めするタイプなので多少面倒ですが収録中にうっかり抜ける心配もなく、これぞ業務用という感じです。

左側面

逆サイドにはミニXLR、SDI入出力、HDMI入出力が並びます。SDIは当面利用する機会はなさそう。HDMIよりもケーブルが長くなっても安定するのですが出力機器(カメラ)をもっていないので、コンバーターをかましてまで使うような遠距離設営の現場機械があるかどうか。HDMIのINだけでなくOUTもあるのが地味に重宝しそう。さらに大きなモニターにつなぐとか。ミニXLRは高音質収録に良いですが、最近はDJI MicやWireless GO2といったワイヤレスマイクを使うことが多いのでこれもまだ活用の場面は訪れなそう。いつか感染対策とか不要になってバウンダリーマイクで収録できるようになったら、ですかね。

・使用感

起動が瞬時で、全体的な動作もサクサク。BlackmagicOS製品ですがメニュー構成もシンプルで見ればわかる直感的操作で良い。画面が大きいのでボタンも指で普通に押せるのがスマホやタブレット感覚で、ダイヤルやジョイスティックでちまちま操作するミラーレスカメラのUIとは違うところ。BMPCC欲しまる。頻繁に切り替えそうな項目は画面上にショートカットが設けてあり、練り込まれている感じ。自分でカスタムできるとなお良いですが、多分できなそう。

電源はネジ締めロック付きで不用意に外れたりしなそうな安心感。さりとてATEM MINIシリーズと違って電源ボタンもあるのは良い。現場は日を跨いで設営しっぱなしということも多いので、毎回ケーブルを外すのは地味に面倒なんですよね。

重量はバッテリーをつけなければそれほどズッシリ感はないです。基本屋内使用なのでとりあえずバッテリーは手配せず。SONYのビデオカメラ用バッテリーが2つセットできますが(なぜかこの界隈でSONYバッテリーがデファクトみたいな扱い)、買うとしてもさすがに純正でなくてもいいかな?あんまり怪しいのもなんですが。

5インチモデルだと三脚穴とUSB-Cポートが違すぎるとよく指摘されてますが、7インチモデルならその心配もなさそう。そもそも底面なのはどうかと思いますが。なんらか三脚やリグに組み込むの前提みたいな作りです。

録画データに影響なくタッチでズームできるのが良い。PinPの子画面でピントが合ってるか調べたい時、ソースを切り替えなくてもサクッと拡大して(録画データに影響与えず)確認できます。リアルFHD液晶なのでFHD収録ではそこまで必要ではないかもですが、4Kで撮る時なんかは重宝しそうです。

・タッチ操作によるズーム

画面の映像部分をダブルタップすると2倍のズームモードになります。そこからさらにピンチで拡大も可能。ピントがあってるか不安な時に重宝します。しかも録画に影響しないし、カメラに触れてブレが発生してしまう心配もない。これは普通の外部モニターでは適わないメリットかなと思います。

・ストレージ周り

SanDiskの256GBの入れてVideo Assist側でexFATに初期化直後で、

  • ProRes Proxyで713分
  • ProRes LTで325分
  • DNxHR LB MFXで716分
  • 同SQ MXFで210分
  • Blackmagic RAW固定品質 Q5で507分
  • 同Q0で131分
  • 同 固定ビットレートの12:1で507分
  • 同 3:1で131分

という予測収録可能時間表示に。品質固定は映像の動きや細かさで大きく違うので、参考値として固定ビットレートの12:1や3:1の場合の数値を出してるっぽいですね。まぁいずれにせよBM RAWは対応カメラがないと使えないので当分宝の持ち腐れです。DNxHRはあまり使ったことがないですがProResに比べてアドバンテージがなさそう?当面はProRes Proxyかな。実際に録ってみないとですが、713分だと90分x12セッションは録れない。512GBのSDを買えば足りそう。ProRes LTだとそれでも足りない。

512GBや1TBのSDカードはV30の並行輸入品は結構安いですが、Blackmagic design社の動作検証済みモデルリストに載ってないものは業務で使うのはちょっと不安。買うならコレかな?と。

これでも最もビットレートの高い収録は無理。そもそもUHS-IIの大容量モデルってまだ存在してないぽいですね。FHDでProResの比較的低ビットレート収録専用なら外付けデバイスなしでたっぷり録れるこれか512GBがいいかな。

でも今回はコスパとそろそろ入手困難になるかもという恐怖心で、同じ値段出すならと外付けSSDの2TBモデルを買ってしまいました。(リンク先は1TB)。AmazonではSAMSUNGの正規代理店のものは2TB在庫なし。海外配送のものは不安だったので避け、Joshinに残っていたのをゲット。3万ちょうどくらいだったので、SDカードメディア単価は半額程度です。

さすがに2TBあると、残収録時間表示が

ProRes Proxyで5576分
ProRes LTで2546分
ProRes 422で1785分
ProRes HQで1196分

となって、LTや422の使用も視野に入ってきそう(90分x12本として余裕みて1200分くらいほしい)。実際には映像の動きなどで圧縮量がかわるので実際に録ってみないとなんともですが、UTやインタビューは動きはさほど激しくないので、大幅に上回ることはないんじゃないかと。

T5は2017年発売の500MB/sモデルで、すでに1050MB/sのT7シリーズに置き換わりが進んでます。T7の方が安いことすらあります。ただATEM MiniといいVideo AssistといいなぜかT7は動作確認リストに載ってないばかりか、海外のコミュニティでも「T7はアカンかった、認識しない」みたいな書き込みが目立ちます。ウチではATEM Mini Extreme ISOで短時間のISO収録まで試して一応T7 Touchで録れてた気がして、T5とT7 Touchをローテしてますが、そういえば録画中に停止ボタンをおしてもランプが消えず、結局電源ブチ抜いて録画をロストしてことが何回あって、あれT7のことだったかなぁという感じ。

BMD社がT7についてなんらかアップデートを出してくれない限り、終息モデルのT5が争奪戦になっていきそう。

他社製品もリストにあるんですが日本であまり馴染みのないメーカーやモデルだったり。あとSAMSUNG T5/T7はSmallRigのクランプが色々あっていいんですよね。2245を使ってマウントしています。

下部の三脚穴にSmallRigのクランプでSSDを固定した例

試しにMacBook ProのHDMI出力をつなぎ、1080/30pのProRes Proxyで2時間ほど録画してみましたが、R170MB/s、W90MB/sのSanDisk Extreme Pro(256GB)でも止まること無く録画できました。ファイルサイズは50GBほど。デカいはデカいですが、どのみちこのまま納品することはほぼなく、簡単なカット編集や顔ボカシ入れ、音声ノイズ除去など加工してトランスコードしてから渡すことがほとんどなので個人的にはストレージに入りすれば良し。むしろPremiere Proに食わせた時の動作の軽さに驚きました。動画編集性能が売りのM1 Max MacBook Proを買ったものの、いまいち快適に編集できずにフラストレーションでしたが、Pro Resだとサクサクです。H.264だと1ファイルのシークくらいなら問題ないですが、複数の動画をPinP合成したり早回し効果を入れたりすると途端に重くなりがち。まだ4Kでは試してないですがFHD 2ストリームで10倍速のシークエンスを作ってみた限りではシークもサクサクでした。これはもうH.264/5ソース運用には戻れないかも…もうこっちがメイン?

ストレージで悩ましい点としては、SDカード/SSDのファイルシステムにexFATとHFS+が選べる点。当然Mac/Windows混在運用ではexFATがいいと思ってたんですが、ジャーナリングシステムのあるHFS+だと万一ディスク障害が出た時に復旧可能性が高まるっぽいんですよね。悩ましいですがやはりWindowsで扱えないのは困るのでexFATかな…

■キャリングケース探し

大きな液晶画面がついた機器なので運搬時はしっかりと保護できるものを物色しました。とはいえ、さらに大きな機材ケースに入れていくのであまり容積が増してしまうのもなんなので、ハードケースは除外。本機は19cm x 13cm 4cm程度なのでヨサゲに思って買ってみたものがこちらの2つ。

かなりいい感じにACアダプタ、SSD、HDMIケーブルまで収まったんですが、SmallRigのSSDクランプつけたままでは閉じられませんでした。SmallRigつけない人にはかなりオススメできます。下側は仕切りを好きな位置に移動できるのでピッタリの位置で固定できます。上蓋は厚みがあるのでACアダプタなどをメッシュ側に入れれば問題なく閉じられます。

通常はHDMIケーブルは色々な長さを別で用意していく感じなので、かわりに取り外したクランプと六角レンチを入れておくのもアリですね。

ちなみにSmallRig製品全般で使う太さの六角レンチを網羅したこちらが便利です。

もうひとつはこちら。

ポイントは上下二段構造になっている点。

下段に本体がギリギリ収納。またもSmallRigクランプが微妙ですが、ソフトケースなので多少変形しつつもファスナーは閉じられました。空きの部分にHDMIケーブルをいれてクッション代わりに。
上段に付属品

で、上段側にACアダプタ、SSD、USBケーブルを。これもかなり微妙ですが一応ファスナーは閉まります。上段のマチ(厚み)が思ったほどなく、ACアダプタはちょっとこんもりしちゃう感じ。

2022.7.1追記:最終的にこれに落ち着きそうです。ACアダプタやミニ三脚、ケーブル類まできっちり収まる感じ。ソフトケースなので保護力はさほどではないですが、大型ハードケースに入れるバッグインバッグとしてはピッタリなサイズ感でした。フタが半透明なのもいいかと思いましたが、取り外し式のポケット付きボードが上に収まるのでVideoAssistは見えない感じです(見えるようにVideoAssistを上にすると、さすがに保護力が不安)。

■まとめ

一般的なユーザテストやインタビューには明らかにオーバースペックでかなり趣味が入った選択をしてしまいました。しかし、

  • 出張実査に持っていける小型、高信頼性録画デバイス
  • タッチ(ピンチ、スワイプ)で任意箇所のズームできピントなどの確認が手早くできる
  • 後編集が快適なProResで録画可能
  • いざとなれば4Kで撮ったりバッテリー駆動で使えたり汎用性が高い

という観点で満足度は高いです。頑張って元取ってこうと思います。

Web会議サービスより高画質にオンラインインタビュー収録ができるRiverside.fm

Pocket

2021年に刊行した「ユーザーインタビューのやさしい教科書」ではYoutubeでインタビューの実例をみられるチャンネルを公開しています。

ユーザーインタビューのやさしい教科書

ユーザーインタビューのやさしい教科書

奥泉 直子, 山崎 真湖人, 三澤 直加, 古田 一義, 伊藤 英明
2,600円(02/04 19:43時点)
発売日: 2021/09/24
Amazonの情報を掲載しています

だいたい月一本ペースで更新していますので是非チャンネル登録をよろしくお願いいたします。

さて、著者陣で定期的に集まって収録もするわけですが、時節柄、またそれぞれが忙しく夜の集まりになる都合などもあり、オンライン収録が多いです。最初のころはZoomやTeamsで集まり、OBS Studioで録画をしていました。特にTeamsはNDIという規格を使って1人1人の映像ストリームを取り出すことができるので、あとでビデオ編集時にレイアウトを自由に変えられて重宝します。Zoomはサービス側で勝手に並びやサイズが決められてしまい、特に画面共有した時に使い勝手が悪かったです。

TeamsとNDIを使った方法はこちらに詳しく書いています。

■参加者のネットワーク帯域に依存せず高画質/音質収録ができるRiverside.fm

ということでZoomよりはTeamsの方がインタビューや対談、パネルディスカッションを収録するには都合がよかったんですがいくつか難点もありました。

  • 参加者のネットワーク送信(上り)帯域に応じて送出画質が自動調整されてしまう
  • Teamsのテナント管理者権限でNDIを有効化する必要がある
  • 音声が独立ストリームで取り出せない
  • OBS Studioでの録画も含め設定がややこしい

1つ目の画質や解像度が変わってしまうことは、リアルタイムの会議を円滑にする上では非常に重要ですが、収録して編集素材として使うには困りものです。解像度も頻繁に変化してしまうので編集素材としても扱いづらい。

会社のTeamsだとNDIの利用許可設定をしてもらうのも一苦労だったりするでしょう。

また何故か音声は独立では取り出せず、誰か1人の音が小さいなんて時に後で編集ができません。

そんな不満点をまるっと解決できるクラウドサービスを発見しました。それがRiverside.fmです。

(上記リンクからアフェリエイト収入を得る場合があります)

URLで招待してブラウザ(スマホではアプリ)から参加できるWeb会議ができるサービスです。もちろん画面共有やチャットなど一般的な機能は備えています。大きな特長として、ホストが録画ボタンを押すと各自のPC上で各自の映像と音声が録画され、終了後にアップロードされる、という点があります。リアルタイムのカメラ映像、マイク音声はZoomやTeamsと同じくネットワーク帯域に応じて品質が落とされますが、同時に綺麗な録画が残るという点がポイントです。そしてこれらは自動的に行われるので、ホスト以外は普通のZoomやTeamsを利用するのと変わりません。ただ会議終了後にアップロードが終わったと出るまではブラウザを閉じずにネットにつないでおいてね、と伝えるだけです。ホスト/ビデオ編集者は後から個別の高品質ファイルをダウンロードしてビデオ編集ソフトに素材としてつっこめば良いということになります。個別のストリームなので、後で「この人だけカメラから距離あって顔が小さいので拡大しとこう」とか「この人は声が小さいから少しゲイン上げよう」みたいなことが自在にできます。画面共有も独立した動画ファイルとして残りますし、音声だけのファイルをダウンロードすることもできます。

UTやインタビューの記録でそこまで手間暇をかけることはあまりないですが、きちんとした動画コンテンツを作るような場合では涙が出るほど有り難いです。

無料サービスではありませんが、価格に見合う価値はあると思います。

・細かい仕様と使用感

ということで最近の「ユーザーインタビューのやさしい教科書」動画の収録は専らこれを活用しています。使ってみて気付いた点とコメントをまとめておきます。

録画される解像度は最大で4Kまで指定可能。上限を指定する形です。例えば4K設定にしてあったとしても参加者のWebカメラが720pであれば720pで録画されます。無駄に高画質にすると参加者のPCやネットワークの負荷が大きくなるので注意が必要です。実際参加者の中に上りのネットワーク帯域が細い人がいて、その人だけ終了後のアップロードが延々終わらない、ということがままあります。普通に光回線だとリアルタイムでアップロードも進んでいるので、会議を終了した時点で95%くらいはアップできていることが多く、見ている間に完了してしまいます。結局のところリアルタイムであれ事後であれ参加者側から高画質な動画をアップロードすることには変わりないので、事前に相手のネットワーク環境や通信量制限の有無などを確認し、了承を得ることが重要でしょう。

音声も48kHzが指定できるなど音楽用途などにも使えそうです。

β実装として録画中にマーカーボタンでチャプターを打つことができます。ただ現状でこれの取り出し方がよくわからず。そのうちサポートに質問投げてみようと思います。

Web会議サービスとしてはさすがにZoomやTeams、Meetなどに比べるとやや劣ります。例えばバーチャル背景とかホワイトボードなどは現時点ではないので注意が必要です。音声ノイズキャンセルはあるようです。使い比べてないので品質は不明ですが、最近はブラウザのAPIが備えてるのを有効化してるだけという可能性も。

URLは繰り返し使えるのが良いです。ダッシュボードで「Studio」という単位を作り、その単位でURLが発行されます。例えば「やさしい教科書」というStudioを用意すれば毎回同じURLで参加者はアクセスすることができます。録画ボタンを押す毎にStudioの下にイベント単位が増えていくイメージ。もちろん後で名前をつけて区別することができます。今までは毎回誰かがZoom会議を作成してURLを通知してもらってましたが、その手間は不要になりました。

あとChrome/Edgeで使う様指定があります。参加者にSafariやFireFoxしか使わん!って人がいるとちょっとお手間とってセッティングしてもらう必要がありますね。WindowsならEdgeが最初から入っているから良いでしょうけど。

・不具合っぽい点

Web会議中の表示は問題ないのですが、裏側でファイル名やメッセージなどで参加者名が「_______」のようになってしまいどれが誰のファイルやねん!となりがち。アップロードを終えずにブラウザ閉じちゃった人がいるよ、というメールも「Your guest ____ left the studio before the entire recording got uploaded. (97%)」などとなり、誰なのか調べるには、ダッシュボードに入って100%になってる人をサムネイルで見分けるか全員ダウンロードして調べる必要があります(終了してない人はサムネイルも出ないので)。

ちなみに最終的にアップロードが達成されなかったりされたけどデータが壊れてた、という場合、リアルタイムでサーバーに送られていた画質の録画は取り出すことができます。Web会議中に見えていた低画質の映像は最悪でも使える、ということです。実際これで助けられました。

今のところ感じた不具合はその

  • 名前が化ける(2バイト文字?)
  • 1回だけアップロードされた動画ファイルが壊れていた
  • マーカーを打ったはいいが取り出し方がわからない

くらいです。欲を言えばUIが日本語になると良いですが(ボランティアでもいいからやらせてくれと)。

■まとめ

オンライン会議、セミナー、セッションを後で綺麗に編集してコンテンツ化したいと思った場合の、個別ストリーム録画を簡単に行うことができ、遅延アップロードをすることで画質/音質も担保できるという、ツボる人にはツボりまくるソリューションでした。

個人的にはサブスクよりもイベント単位の単発レンタルの方が有り難いですが、当面はお世話になると思うので何ヶ月かは契約しておくことになると思います。

OBS Studioでリアルタイム日時を挿入する

Pocket

先日OBS Studioを使った録画案件でリアルタイムの日時(時計)を入れてほしいという要望がありました。

以前も紹介しましたが、Windowsの場合はSnazという時刻やストップウォッチをテキストデータとして保存しつづけるユーティリティを動かし、そのファイルをテキストソースで読み込む方法がありました。

しかし最近MacBook Proを使うようになり、改めてmacOSでも同様のツールがないか探してみたんですが見付からず。ちょっとしたスクリプトを書けば済みそうな気がしたんですが、ならばと思いついてWebページとしてJavaScript + CSSでデザインも込みで実装しOBSの「ブラウザ」ソースで読み込んでしまえと。

同様の考え方は既にあったみたいで、こちらなど表示形式もカスタマイズできていい感じです。

ただ今回要望のあった日付は入れられないし、CSSもOBS上に設定が必要だったので、URL一発で日時表示ができるページを作ってしまいました。

URLはこちら。>https://do-gugan.com/obs_clock/

デザインはこんな感じです。位置やサイズはOBS側で好きに変更可能。

OBSにブラウザソースを使って日時を挿入

OBS Studioの「ブラウザ」ソースをシーンに追加し、上記URLを指定するだけです。

「ブラウザ」ソース設定例

OBSの内蔵ブラウザでJavaScriptを実行するので、最初に読み込んで表示されてしまえばあとはインターネット通信はなくても良いはず。1秒毎にサーバーに読みに行ったりすることはありません。フォントはGoogleフォントで丸ゴシック系のものを使ってます。白い背景でも見えるよう黒縁をつけています。

現状カスタム性はまったくありませんが、要望があれば日付のON/OFFや曜日表示、カラー変更くらいはつけてもいいかも知れません。あとローカルにファイル一式をおいて読み込むこともできそうな気がするので、GitHubにでも公開しましょうかね。

取り急ぎ現状のものでよろしければご自由にお使いください。(サーバー不調などで予告なく停止していたらごめんなさい)

2022.10.27追記:カラーなどスタイルの上書き方法について

フォントカラーの変更についてコメントいただいたので、OBS側の設定でスタイルを変更する方法について補足します。

OBSのブラウザソースにはCSS(スタイルシート)を上書きすることができ、ここでフォント、色、サイズ、配置などを自由にカスタムできます。「ブラウザ」ソースのプロパティ欄を下にスクロールすると、「カスタムCSS」欄があるはずです。

ここに例えば写真のように「body {color:red;}」などと入れれば赤色になります。

「ブラウザ」ソースのプロパティ画面

CSSの書き方は割愛しますが、現状のソースは以下のようになっているので、必要な部分を上書きする形で記載いただければ良いと思います。

「body{〜}」が全体共通、日付だけの指定は「#date{〜}」、時刻は「#time{〜}」をいじれば個別に調整可能です。

カラーコードはこちらなどでお調べください。

3画面以上合成できるATEM MINI Extreme ISOを導入しました

Pocket

最近のUT録画/配信案件ではゲーミングノートPCやM1Max MacBook Proなど高性能ノートPCとOBS Studioを使って実施することが多かったです。特にHDMI-UVC変換がいらないWebカメラのOBSBot TinyシリーズがUTにかなり便利だとわかってからは4Kモデルも追加購入し、かなりシンプルに構成が組めるようになっていました。

ただ今回100セッション超の大規模調査をお手伝いすることになり、さすがに1人で回せないので進行役と機材操作をワンオペでシフト制で回すことなったので、「なるべく決まったスイッチON/OFF」だけで録画管理を済ませられる環境を構築することを目指し久しぶりにATEM MINIシリーズを活用することにしました。ちなみに配信は無し。結果的にOBSもバックアップ系として構築することになりました。

■3カメ合成にはEXTREME/ISOが必要

今回収録する映像は、PC画面(参加者に見せているプロダクト)+2カメラ(表情+α)でした。ATEM MINI/Pro/ISOはHDMI入力が4系統ですが、実のところ一度に画面に配置して合成できるのは2画面までです。1つがベースとして全画面表示、もうひとつはPinPで合成となります。位置やサイズは自由に変えられるものの、ベース画面のどこかに重ねる感じ。これでは今回の要求を満たせません。

これができるのは8入力の上位機種ATEM MINI ExtremeまたはATEM MINI Extreme ISO(以下まとめてExtreme/ISO)が必要です。

発売から2月でちょうど1年。そろそろ新型出るんじゃないかとドキドキでしたが、まぁ同等の機能を4Kでやろうとしたら同じ価格、サイズでは1年では無理だろうと信じて、新型出るとしてもマイナーチェンジ程度じゃないかと思いイヤな時期だけど購入することに。まぁ最悪そこまで値落ちもしないんじゃないかなとか。

Extreme 無印とISOの違いは個別系統の同時録画ができるかどうかです。Extreme無印ではスイッチング操作やテロップを入れた最終結果(PGM出力)のみが録画されますが、ISOだと8入力が独立のMP4ファイルとして残り、後の編集素材、バックアップとして使えます。録画/ストップは完全に連動で、例えば一部を常時録画して取り忘れを防ぐ、みたいな使い方はできないので使う機会はあまりないかなと思ったんですが、各チャンネルの音声も独立でWAVで保存されることがわかったので、そっちは割とあとで「別のマイクの方が音声が聞きやすかった」「うっかり複数マイクをミキシングしたら時間差でエコーになってしまった」みたいなことで役に立つかもと思い、どうせこんだけ出すならということでISOを選びました。購入時はさほど差額がなかったのもあります。残念ながらチャンネル毎に録画するかしないかを選ぶことはできず、なにも繋がっていない系統も真っ黒映像のMP4ができちゃうみたいです。まぁ途中から信号がくるソースもあるかもなので、妥当なところかもですが、なんかストレージと帯域の無駄遣いな気がしますね。それなりに高速なUSB SSDが必要になる点も注意。最近の動作保証リストをみるとSAMSUNGではいつのまにかT7が消えてT5 1TBのみになってるようです。T7の方がスペックは上なんですが掲示板みてるとトラブルが多かったみたいですね。ウチはT5 512GBとT7 Touchしかなくて微妙ですが、ISO録画しない分には今のところどちらもきちんと使えています。

容量的に1TBはいらないですが一般にSSDは容量で書き込み速度がかわることがあるので、これから買うならメーカーが対応を謳っている1TBが無難かも知れません(まぁ以前リストにあったT7がひっそり消されてたりするようですが…)。

・スーパーソースで4画面合成

で、Extreme/ISOはただ端子数が増えただけでなく、内部的にスーパーソースという機能がついたことで4画面を好きにレイアウトすることが可能になりました。1つ1つのHDMI映像やメディアプレーヤーからの画像や動画が”ソース”という呼称なのに対し、スーパーソースはそれの1つ上というかメタな存在であり仮想的なソースでもあります。スーパーソース上に任意の4ボックスを配置し、それぞれに好きなソースを割り当てられます。その結果できた映像を1つのソースとして扱うことができます(スイッチャーの並びの中に「S/SRC」ボタンがあり出力としては同格)。試してないですが、スーパーソースで4画面合成したのをソースとしてPinPなどすれば理論上5画面以上もできるぽいです。

スーパーソース(S/SRC)はソースの1つとして再入力できる

ともあれ、8入力ってなかなかUTでは使い道ないからイラネって思いがちですが、合成が3画面以上というのは割と普通になるので、筐体がデカいのとお値段が張るのが難ですが、やはりExtreme/ISOは汎用性が大きいなと。

・設定の保持により専門外のスタッフで運用しやすくなった

初期のATEM MINIシリーズは本体に設定を保存することができず、毎回ATEM Software Controlから流し込んでやる想定でした。つまり機材に弱いスタッフにいきなり使わせるのはやや壁が高い感じでしたが、今は本体にきちんと設定を保存でき、電源を入れ直しても同じ状態(最後に保存した状態)で立ち上がるので、事前にセッテイングするスタッフがいれば、実査当日は電源オン、RECボタンポチ、で運用しやすくなりました。初代無印だけ保存ができないのか、今はアップデートで対応したのかわかりません。ExtremeでないProでも今は保存ができています。

また少し凝ったことをしようとするとATEM Software Control(PCソフト)から操作する必要があることが多いATEM MINIシリーズですが、Extreme/ISOではマクロボタンが6つ装備されました。マクロ機能は元々ATEM Software Controlからならたくさん作って呼び出すことができましたが、本体からダイレクトボタンで呼び出すことができるようになったのがポイントです。これで大抵のことは操作スタッフがPCソフトを使わずにできるようになります。欲を言えばもう少し複雑なスクリプトが組めるとなおよいのですが。例えばテロップでセッション番号を入れたい、なんて時に「P01」から「P10」というテロップをあらかじめ画像で作ったとして、それを「次へ」「前へ」的に切り替えるマクロは書けません。あくまで「指定した画像を表示する」マクロしか作れないので10個個別につくりボタンも10個必要になります。今回は100セッション超なのでセッション番号を入れるのは諦めましたw。

・ヘッドフォン(モニタ)端子がついた

これがめちゃめちゃ重宝します。マイクの音がどのように拾えて収録でできているか、いままでは

  • 録画してみて、SSDをPCに刺し替えて再生してみる
  • HDMIに外付けモニタ(イヤホン端子付き)をつける
  • USBでPCに入れてOBSなどで聞く(基本PC入力音声をリアルタイムでスピーカーに出すのに向いてない

などが必要でした。Extreme/ISOでは本体背面に直接ヘッドフォンを挿すことができます。

・USBとHDMI出力も2つずつに増えた!

これも地味に制限を取り払ってくれます。USBが1つだと、SSD録画とPCへの映像(UVC出力)のどちらか片方しか使えませんでした。Zoomで中継しながら録画したい、とかは普通にあるので、いままではUSBで録画して、HDMI出力からのPGM出力をHDMIキャプチャアダプタ経由でPCへ、とかやっていましたが、USBケーブルだけで済むようになりました。

しかもHDMIが2系統になったことで、M/Vによる全ソースモニターと、最終出力であるPGMを別々のモニターに映し出せるようになりました。ATEM自体には映像をモニタできるところはないのでM/Vで全体をウォッチするのは重要です(ストレージ残量、録画時間、配信ステータス、レベルメーターなどもM/Vをみておく必要があります)。M/Vのレイアウトも8入力になったことで細分化、カスタマイズ対応していますが、残念ながらレベルメーターなどのステータス画像は大きく表示することができなさそう。

■使ってみて。熱暴走はあるのか?

Extreme/ISOでもっともアイコニックな特徴はHDMI入力が8系統に増えたことですが、実はそこはあまり重要ではなく、上記のスーパーソース、ヘッドフォン端子、USBとHDMI出力が2系統ずつに増えた、といったところが実用性向上に寄与していると思います。正直、入力4のままでいいから中間サイズ/価格みたいなモデルが理想な気もします。Extreme/ISOは多機能なのは良いですが、フットプリントはボタン数がハンパないことになってて、機材弱い人に使ってもらうにはちょっとビビらせてしまうレベルです。カメラコントロール系のボタンもBlackmagic Designのカメラを使ってない環境では無駄でしかありません。でもまぁとにかく入手して設置してみると、あれもこれもできるぜ!な万能感はあります。

もうひとつ懸念だった熱暴走ですが、確かに背面からの排熱はかなりあります。3入力をスーパーソースで合成し、非ISOで録画している状態ですが、背面の排熱はかなりムラがあります。全然熱くないこともあれば温風が出ていることも。室温との相関もあまりないように思います。映像機器なのでファンノイズを嫌って静音ファンにしてあるのでしょうがいささか不安。購入していきなり実戦投入なので安全第一で先人の例に倣ってこちらのファンを同時購入してみました。

これをサイドの吸気口(排気口?)に密着させパーマセルテープで固定して使っています。このファン、吸い出し専用なので、ATEMのエアフローに逆らってる気がしなくもないですが、冷えてる実感はあります。電源を入れるとデフォルトで風量が7になり少し音が聞こえます。たいていはそこまで必要無くて2とか3くらいに落としてほぼ無音にしてても平気。

そもそも一度も熱暴走、熱停止を経験していないので本当に必要かもわかりませんが、処理内容、季節(室温)、設置環境の風通しなどにもよるでしょう。今の現場から回収してきたら自宅であれこで検証してみたいと思います。

■リモート操作に便利なiOSアプリ「MixEffect」

ATEMにしろOBSにしろ、世界中にユーザがいて、サードパーティの支援ソリューションが充実している点も見逃せません。今回、録画機材は衝立の陰に隠して設置し、進行役が自席からREC操作をリモートでできるようにするため、iPad/iPhoneアプリのMixEffectを活用しました。ネットワーク経由での操作になるので、ATEM Miniもネットワークにつなぐ必要があります。客先のゲストWi-Fiを利用する時は有線接続がなかったりするので、自前でルーター持ち込んだり、イーサネットメディアコンバーターが必要かも知れません。

進行役席にスマホスタンドをおいてiPhoneを写真のように置くことで、席を立たずに録画操作ができるようになりました。録画ステータスも目立って確認しやすいです(まぁそれでも見落として録画漏れしちゃいましたがw)。

MixEffectの録画操作画面

ミキサー画面では録音レベルメーターがリアルタイムで確認できるので、これを持ち歩いて実際の参加者席、モデレーター席で声を発しながらレベル調整ができます。写真はiPhone13ProMaxです。iPhone7/8/SE 2世代目など4.7インチ級の画面サイズだとちょっと手狭で上のRECステータスと下のRECボタンをスクロール無しで見渡すのは無理でした。Plus系やホームボタンがない機種の方が良いかも知れません。

MixEffectのミキサー画面

またスーパーソースの画面レイアウトも純正PCソフトのATEM Software Controlよりグラフィカルで使いやすい気がしました。詳しい技術スタッフ以外が操作する時はiPad + MixEffectが良いかも知れません。

6,000円くらいしますがそれだけの価値を感じます。Androidではここまでできるものは見つけられていません(ご存じでしたら是非教えてください!)。

■まとめ

発売当初から「いやいやさすがにこのサイズと値段は…」と敬遠していたATEM MINI Extreme ISOをついに買ってしまいました。ちょうど1年で新型が出ないことを祈るばかりです。

持ち出しにはかなり厳しいサイズなのは間違いないです。非ExtremeシリーズはNintendo Switchのケースがピッタリという話が知られていますが、Extreme/ISOについてはそういう話がなく今後運搬をどうしていくかも課題です。とりあえずこのカバーは注文しましたが納期が長いようです。

ともあれ機能的には大満足。自分のPCを持ち込んで、自分が目の前にいて操作/サポートできるならOBS Studioの方が自由度は高いですが、何日も設営しっぱなしになるような現場で自分のデータを満載したPCを置いていくのは憚られます(さすがに貸し出し専用の高性能PCは常備しづらい)。その点ATEM + SSDなら録画データ以外に現場に残ることはないので安心して残して帰れます。また自分がモデレーターやっていて、録画操作やスイッチング操作を見学者などと分担したいという時や、今回の案件のようにそもそもシフト制で自分がいない日もあるなんて時、あらかじめ設定を組んで保存しておけば電源ONでスタンバイになり、RECボタンで録画開始できるのはOBSよりずっと楽です。

仮にクライアントが自社で一式揃えたいという場合、たぶんまずはOBSを進めると思います。ATEMは複雑な設定に必要なATEM Software Controlがやや専門的でリサーチが本業の人に薦めるのはやや躊躇われます。とはいってもPCもOBSの要求仕様を満足する機種選定から、常にアップデート管理をして正常稼働することを保証するのはそれなりに大変ですし、PCを買うとなると情シスが絡んできて面倒という企業さんも多いのは確か。誰か1人根性いれて操作をマスターして、事前に設定を作れる人がいるのであれば、逆に組まれた設定で起動してRECポチするまではATEMの方が断然楽。そんな事情毎の最適解があるような気がします。

道具眼ではそうした機材コンサルや設定補助、操作方法の勉強会なども随時受け付けておりますので、是非ご相談ください。

OBS StudioをUTで初めて導入したい人向けの資料も公開してますが、そのうちATEM MINI版も作れるといいなと思います。

■次期モデルに期待すること

一番欲しいのはXLR入力かなぁ。同社のカメラみたいにミニXLR端子でいいので今のマイク入力の代わりにつけるか、なにかしら外部拡張ポートみたいなので対応してくれると有り難い。なんだったらUSB端子にオーディオI/Fでつくようにしてもいいかも。

USBといえばWebカメラ入力もできたら神。絶対買い換える。HDMI x4 USB(UVC) x2くらいで。究極全部USBでWebカメラとUSBマイクつなぎまくれるようなのも面白いかも。

あとMixEffectのようなツールがより手軽に使えるようWi-Fiは載せてほしい。そしてプレビュー画面もストリーミングで流せるとなお良し。

また実務ではあまり必要ないですが、個人的には4K対応は欲しいなと思います。仮に合成や録画、配信は4K非対応だとしてもHDMI入力は4K対応でクロップして使えたりするだけでも意味はあるかなと。でもまぁ仮にExtremeの機能をすべて4K対応しようとすると値段は当たり前ですが処理プロセッサの発熱がエラいことになるので冷却系統にも余裕をもたせる必要が出てきて巨大化したり、爆音化してしまいそうな気はします。今のサイズでやろうとしたら3-5年はかかりそう。

最適化という意味ではスーパーソースついて、USBとHDMI出力が2系統、ヘッドフォンを維持しつつHDMI入力は5系統止まりくらいのちょい小型モデルがあると嬉しいですね。

YoloBoxみたいなモニタ一体型ソリューションも考えてたりするんですかね。これはこれでいいかも。

YOLOLIV YoloBox Pro ライブストリーミングエンコーダー

YOLOLIV YoloBox Pro ライブストリーミングエンコーダー

164,900円(02/04 16:55時点)
Amazonの情報を掲載しています

ブラウザ同士で簡単に映像送信ができOBSにも取りこめるVDO.Ninja

Pocket



VDO.Ninjaの情報を求めて来られた方は次の見出しまでジャンプしてください!

■屋外UTの中継をするための試行錯誤

先日、複数の場所を往復しながら実施するUTがありました。インタビュー部屋とプロダクトを触る部屋が異なる、みたいな感じ。しかも後者はWi-Fiが使えない屋外。どうにかこれらの映像をシームレスに記録と見学者への配信を行いたい、というニーズ。セッション全体の1/3、30分位の時間ですが炎天下の屋外に移動する為、バッテリーが保つこと、機器やネットワークが安定した機能することも視野に入れなければなりませんでした。

250mほどの距離で当然HDMIケーブルやLANケーブルが敷ける距離でもなく、Wi-Fiも届きません。同一ネットワーク下にないので先日紹介したNDIなども使えません。別記事で紹介したRTMPも受信拠点側をポート開放する必要があったり遅延が大きめだったりで微妙に使いにくい。すぐに思い付くのはZoomやTeamsといったオンライン会議ツールでの参加ですが、スマホのカメラは光学ズームが弱いので、物理で寄らないと手元など細かい対象を撮ることができず、ソーシャルディスタンスやラポール形成的に不利。できれば光学ズームのビデオカメラ映像を使って配信したいなと思いました。(ちなみに最近では望遠レンズを備えたスマホもありますが、Zoomなどのアプリはそれらを使えません。ピンチズームしても標準カメラの像がデジタル拡大されるのみです。Android版に至ってはピンチズーム自体できませんでした(執筆時点)。屋外なので騒音対策としてきちんとワイヤレスマイク(Wireless GO 2)を使った音声収録をしたいのですが、これら外部マイクもスマホ版アプリは制限が大きかったりします(後述)。

そんなこんなでどこにも行けない御盆休みは手持ちのRTMP配信カメラ(HXR-NX80)、GoPro Hero9、スマホ版Zoomアプリ、UMPCなど持てる機材をあーでもないこーでもないと組み合わせて試行錯誤をしておりました。

本題と関係ないですが、その試行錯誤の様子を貼っておきます。

まずは手持ちスタイル案。

手持ちスタイル案

ビデオカメラのHDMI出力をAndroidでも使えるHDMIキャプチャアダプタBU110を経由してGalaxy Note 10+に入れています。ブラケットやホルダーも含めると845gにもなりました(笑)。ビデオカメラのバッテリーは小さいものだし、スマホのUSBポートもキャプチャで塞がるので外部給電もできず、スタミナにも不安。前述の通りAndroidのZoomアプリは外部カメラやマイクを認識しないので配信系のアプリでRTMP送信するしかない点もイマイチ。

そこでモビリティは落ちるものの、安定性やスタミナ重視で組んでみた装備がこちら。

三脚+UMPC案

三脚にセリアで買った木製パンチングボードをタイアップで吊り、そこに各種装備を固定しまいた。三脚の根元にぶら下げているだけなので、足をたたんで移動することも可能。PCは手持ちラインナップでCPUパワーとサイズのバランスをとってOneMix 3 Pro。Surface Go2 (CoreM3 + LTE版)だと見た目はスッキリしますがちと配信能力に不安があったので。OneMixはLTE非搭載などで別途モバイルルーターを追加。さらにはUSB PD給電のためのモバイルバッテリー、とか詰んでいったらこれまたエラい重量になってしまいました。ドリーが欲しいところです。ただWindowsなのでZoomなどのプライベート通信サービスでも外部カメラ、外部マイクは区別なく使えるので映像、音声の品質は向上させられます。

ちなみにどちらもビデオカメラ側で録画ができるので、保存用としての品質は保持できます。あと、最近の家庭用ビデオカメラによくあるスマホ用プレビューアプリを使い、スルー画をスマホに映した状態をZoom等の画面共有で流す、という方法も検討しましたが、

  • スマホプレビュー中はビデオカメラ側の液晶が真っ黒になってしまい、撮影に支障が出る(SONY、Panasonic)
  • Panasonicはアプリから音も拾えるがそれをZoomでキャプチャして流すことはできない。SONYはそもそも音は聞けない。
  • スマホに直接マイクを接続した場合も、やはりアプリが認識しなかったり、しても絵との同期に問題が出そう。

などの問題があってボツ。

で、結局のところどうなったかというと、先ほど先方から連絡があり、関係者に発熱者が出て実施が無期限延期になりましたorz。難しいですね。炎天下の屋外作業を伴うプロジェクトだったので発熱はしますわ。自分も昨年の案件で軽く熱中症と思われる発熱。PCR検査では陰性でしたが安全優先で実査を中止にさせてしまったことがあります。涼しくなった頃にまたリトライできるといいなと思います。

で、やっと本題。今回の試行錯誤の中で見つけたとある映像伝送手段が色々と応用が利きそうで、まだあまり日本語の解説ページが多くなさそうだったので、ご紹介してみようと。

■VDO.Ninjaの紹介と簡単な使い方(ここから本題)

上記の試行錯誤をしている間に、たまたまFacebookの(英語の)OBSグループで名前を見かけ、調べてみたらスゴいじゃんこれ!となりました。ちなみに少し前まではOBS.Ninjaという名前だったぽいです。実際にはOBS Studio以外でも使える汎用性の高いサービスなので改名したんでしょう。

簡単にいうと、ブラウザ同士で簡単に映像&音声伝送が低遅延で行えるサービスです。OBSには「ブラウザソース」という指定URLの内容をソースとして扱う仕組みがあるので、わざわざブラウザで当該ページを開いてそれをウインドウキャプチャする必要なく映像を受けることができます。無料です。

少し技術的な説明をした方が理解が深まりそうなので、ベースとして用いるWebRTCというプロトコルについて先に説明します。

WebRTCはモダンなブラウザが実装している映像、音声を伝送する標準規格で、暗号化もブラウザが受け持ってくれて、ZoomやTeamsがブラウザからも参加できているように、HTML5上で比較的簡単に映像、音声を伝送するサービスを構築することができる仕組みです。利用者は専用アプリをインストールしたりしなくていいし、開発者も本来高いスキルを要する映像通信技術の大半(ファイアウォール超えや暗号化、GPUのハードウェアエンコード支援の利用、etc.)をOSの区別すら必要なく実装できてしまいます。しかもRTMPのような従来のプロトコルよりも遅延が低いとか。

さてそのWebRTCですが映像伝送自体はPeer-to-Peer、つまり端末同士の直接通信で行われ、暗号化も自動で行われます。ただし最初のハンドシェイクの部分だけはインターネット上のサーバーが仲介する必要があります。VDO.Ninjaはその互いの紐付けの部分を代行してくれるWebサービスという理解でいいと思います。実際の映像通信はここのサーバーを経由しないので比較的小規模で運用できるのか、Steveさんという個人主体のプロジェクトのようです。しかもサーバー一式はGithubで公開されているので、自前サーバーや完全閉鎖LAN内で稼働させた人はそちらを利用することも可能でしょう。Steveさんはサーバー代月$1,500を支援するスポンサーを募集していますので、VDO.Ninjaが有用で長く続いて欲しいと思う方は是非寄付を検討しましょう。Github Sponsorsによる継続支援やPayPalなどによる一時寄付も選べます。

■VDO.Ninjaを使ってみる

全体的に英語UIですが、手順はクッソ簡単です。サービス名であるVDO.ninjaは実はそのままサービスのURLになっています(.ninjaなんていうgTLDがあったんだ…)。つまりブラウザのアドレス欄に「vdo.ninja」を打ってリターンをします。いくつか方法はありますが、まずは映像を送信する側の端末(スマホ等)で開きましょう。

トップページ

「Add your Camera to OBS」はカメラ映像の送信、「Remote Screenshare into OBS」は画面共有です。ただし現状スマホからは画面共有は使えずボタンも出現しません。

ここでは全者をPCから開いてみます。

準備画面(カメラ/マイク設定。実際には黒枠にカメラ映像が映ります)

「Video Source」と「Audio Souce」プルダウンメニューにOSが認識しているカメラとマイクが表示されるので選択します。その前にブラウザからカメラとマイクへのアクセス許可ダイアログが表示されるので許可します。一度拒否してしまうとこのサイトがブラックリストに入れられてダイアログも出ずに不許可になってしまう場合がありますが、その時は(操作はブラウザによりますが)プライバシー設定などから除外対象サイトから外すなどします。(ちなみにこのようにWebRTCはブラウザがカメラやマイクにアクセスする際に必ずユーザの許可を得る仕組みになっているので、URLを踏んだだけでカメラやマイクが不正アクセスされることはありません。)

実際には黒枠内に選択したカメラの映像が見え、「Audio Source」見出しの脇に音声に応じたピコピコ(レベルメーター)が表示されます。

次ページで発行されるURLの乱数部分が含まれますが偶然一致してしまう可能性もあるので、ここでパスワードを付加することもできます。

で、「START」を押すと送信が開始されます。

送信中画面(実際には黒枠内にカメラ映像)

右上にグリーンで表示されているURLが受信者用のURLになります。このURLを相手方にメールやMessengerなどで伝え、ブラウザで開いてもらえば映像と音声が流れるはずです。

ここの時のURLのフォーマットを比較してみると、

  • 送信者用: http://vdo.ninja/?push=hogehoge
  • 受信者用:https://vdo.ninha/?view=hogehoge

という感じで、pushかviewかの違いのみになります。要するに=の後のhogehgoeの部分が一致すれば映像/音声が流れます。このサイトでは乱数で決めてくれますが、自分で他の人とかぶらない文字列を指定しても大丈夫なはず。かぶりそうな時はパスワードを追加します。パスワードがついたURLは、

  • 送信者用: http://vdo.ninja/?push=hogehoge&pw=abcdef
  • 受信者用:https://vdo.ninha/?view=hogehoge&pw=abcdef

となります(abcdefがパスワード)。

OBS Studioにソースとして取り込む(1)

2つの方法があります。1つ目はもっとも簡単な方法で、OBS Studioのソースとして「ブラウザ」ソースを使います。

OBSの「ブラウザ」ソースに設定

URLに発行したID、PW入りのURLを貼り、表示したいサイズを指定、音声も取り込みたい場合は「OBSを介して音声を制御する」チェックボックスをONにします。

OBS Studioにソースとして取り込む(2)

もう一つの方法は作者のSteveさんがリリースしているElectron CaptureというビューワーでURLを入れ、表示された映像をOBS Studioのウインドウキャプチャで取り込む方法です(Windowsのみ)。一見、外部ツールを使う分効率が悪そうですが、Steveさん曰く「it may offer a more flexible and reliable method of capturing live video than the browser source plugin built into OBS.」とのことです。マウスカーソルが完全に隠せるとか、バッファー指定で音声同期が外れにくいなどあるようです。メリット一覧はこちら。パケットロス耐性が高く、システム負荷が低いということなので、面倒ですが使った方がよさそうですね。

送信側のハードウェアエンコード支援を使用する

一般にOBSを動かしたりする受信側ハードよりも、スマホ等を使う送信側の方が非力であることが多いでしょう。その時、ローエンドなCPUやモバイルSoCでも映像をリアルタイムに圧縮して送信するにはGPUのハードウェア支援を使用することが重要になってきます。WebRTCベースである利点として、ここいら辺は各OSのブラウザが(ハード的に対応していれば)活用してくれるという点。VDO.NinjaでこれをONにするには圧縮コーデックにH.264を指定するのみです。H.264はBlu-rayなどにも使われるメジャーなコーデックなので数年前のCPUやスマホでもフルHDくらいなら支援が受けられます。

送信側でハードウェア支援を有効化する為に、H.264を使うぞという宣言を受信側のURLオプションを使うのがミソです。

  • パスワード無し: http://vdo.ninja/?push=hogehoge&codec=h264
  • パスワード有り:https://vdo.ninha/?view=hogehoge&pw=abcdef&codec=h264

ブラウザにもよるかも知れませんが、標準ではVP9というYoutubeなどで使うコーデックが優先されるようです。ただ最新のハードだとVP9でもハードウェア支援が受けられたりするので、あまり違いは出ないかも知れません。スマホや非力なPCの場合に試してみて、画質やCPU付加を比べて良い方を使えば良いでしょう。

ちなみに送信側でハードウェア支援を活用できているかの確認は、映像送信中に送信側のブラウザ上でCtrlキーを押しながらプレビュー映像をクリックします。

送信側で詳細情報を確認

するとこんなリストが出てくるので「video_encoder」の欄が「ExternalEncoder」になっていればOKです。試しにURLから「&codec=h264」をなくすと「libvpx」となりVP8か9のソフトウェアエンコーダーライブラリが使われているのがわかります。

URLパラメーターにはコーデック以外にも色々指定できます。使い方はこちら。パラメーター一覧はこちらです。ビットレートを指定したり、カメラ/マイクデバイスのリストでデフォルト選択されるデバイス名を埋め込んだりできるようです。

再利用可能なリンクを作る

上記の手順でAdd your Camera to OBS」や「Remote Screenshare into OBS」から送信URLを生成すると毎度ランダムな文字列のIDが発行され、OBS Studioなど受け側で毎回URLを書き換えなければならず不便です。また上記のようなオプションパラメーターをURLに埋め込むのも骨がおれる作業です。

そういう場合はこちらのジェネレーターを使ってGUIでオプションを指定してURLを作成し、送信側、受信側に渡せば何度でも再利用することができます。

ルーム機能について(検証途中)

まだしっかり試せてないのですが、サーバー上に仮想ルームを作成し、一旦そこに複数のカメラ映像を集め、ブラウザ上でスイッチャーのように使ったり、音声のノイズ低減やテキストチャット機能が使えたりするぽいです。

■まとめ

驚くくらい簡単に遠方の端末のカメラ映像、音声、画面共有を表示したり、OBS Studioなどのソースに入力できるVDO.Ninjaを紹介しました。原理的にはNDIの遠隔版であるNDI Bridgeとほぼ同じ仕組みだと思いますが、送信側がブラウザなのは同様で、受信側があちらは専用ツールが必要、こちらは不要という点が異なります。厳密に画質や遅延、処理負荷などを比較したわけではないですが、おそらく原理上は似たり寄ったりになるんではないかと思います。だとしたら手軽さでは断然こちらに分があるのではないかなと思います。

望みはスマホからUSB(UVC規格)経由のWebカメラやHDMIキャプチャアダプタ経由のビデオカメラ映像を送信できるようになることですね。これはOS側の対応待ちというところです。ちなみにChromeOSはUSBカメラをソースとして指定できました。できるだけ軽量安価な端末というと現状ではChromeOS+Chromeが候補でしょうか。Raspberry Pi4やJetson NanoにLinuxを入れてChromeを使ってもいいようなので、いずれ自作でVDO.Ninjaエンコーダーユニットを組んでみたい気もします。

私の理解ではファイアウォールを超えられつつもきちんと暗号化でP2P通信ができるので、なんだかんだでZoomやTeamsになりがちな業務案件でも説得の余地があるかなと。最悪ソースもってきてローカルサーバーを建てたらどうなの、とか。まぁ企業さんだと現場寄りの人を説得するだけでなく、そこから伝言ゲームで情シスとか上司とかに納得してしてもらう必要があるので難しいかもですが…

ともあれ非常に汎用性が高く、手軽で、遅延が少なく、安全な映像伝送手段としてNDIと並んで注目株ではないかなと思います。どこか機会があったら活用してみようと思います。

RTMP実験続き。HDMIキャプチャ+Android経由にて。

Pocket



前回の屋外UTに向けた配信環境の検討実験。

Androidでも使えるHDMI-USBキャプチャアダプタBU110で、スマホ画面にビデオカメラからの映像を映し、それをZoomやTeamsの画面共有で送ったらいいかなと思ってセットアップしてみた。

AVerMedia UVCキャプチャーデバイス BU110 DV456

AVerMedia UVCキャプチャーデバイス BU110 DV456

18,700円(02/05 07:36時点)
Amazonの情報を掲載しています

そしたら以前に購入してあったUSB Camera Proというアプリが、(USB WebカメラやHDMIキャプチャの多くが対応する)UVC入力映像を表示するだけでなくRTMP始め多くのプロトコルで配信できることを発見。前記事で構築したOBS Studio + NGINXの受信環境に対して送信テストしてみました。

USB Camera Proの特長として、

  • ハードウェアエンコーダによるH.264またはHEVC(H.265)エンコード対応
  • 自動または固定ビットレート、キーフレームの挿入秒数を指定可能
  • 解像度とそれに応じたフレームレートも指定可能。
  • 音声はステレオ48kHz固定(多分)
  • 複数のRTMPサーバー設定を記憶し、送信時にリストから選択可能
  • UVCカメラ検出時に自動起動
  • 起動時に自動RTMP送信開始
  • その他、録画や動体検知なども可能

という感じ。600円にしてはなかなか多機能です。UIは最低限でかなり使いづらいけどw。解像度とフレームレートは一定の関係があるらしく、例えば1280×720の場合、50~60fpsしか指定できず、30fpsや15fpsに落としてレートを稼ぐということはできないぽい。

WiFiで試した感じは先のビデオカメラ(NX80)内蔵のエンコーダーよりもかなりマシで1秒遅延くらい。音もきちんと届きます。

WAN経由は使ったAndroid端末のGalaxy Note 10+に入っている楽天モバイルMNOのSIMだとなぜかエラーになってつながらず。仕方ないのでまたしてもdocomo契約のiPhoneにテザリングさせたらすんなりOK。さすがにWAN経由だと遅延や画質が酷くなるかと思いきや、調子がいい時はWiFiとかわらない1秒遅延で収まることも。ただしその幅自体が不安定で、45秒くらいになったり音が途切れたり。途中で設定変えるとおかしくなりがちで、OBS再起動したり、「メディアソース」のプロパティ画面を一度開いてOKすると治ったり。ちょっと実務で使うのは不安が大きいかなー。

H.264と265ではビットレート1/2で同等の画質といわれるくらいデータ効率が良くなってるはずですが、ここもあまり差は感じず。ハードウェア支援が入ってる端末なら負荷もそんなに変わらないのかな?長時間送信し続けた時のバッテリーの減り方などまでは検証できておらず。

バッテリーの減りはやはり激しいです。問題なのは唯一のUSBポートがキャプチャアダプタで塞がるので充電しながら使えないという点。一応USB PD給電対応のハブで使えはしました。ただ充電しながらで発熱などはどうなるかは未知数。

■Teamsで画面共有してみる

とりあえずスマホ画面にカメラのスルー画を映すこと自体はできたので、今度はこれをTeamsの画面共有で送信してみました。結果としてはさすがにオンライン会議ツールだけあって遅延はかなり少なく1秒あるかないか位で安定。画質が犠牲になってそうですが、RTMPよりは安定してる印象。Teamsは解像度をかなり動的に変化させますがさほど見づらさなどな感じず。圧倒的にこちらを使った方が良いです。Teamsならば個別のストリームをNDIで取り出せるのでOBSに入れるのも楽勝。

ただPCの様に画面共有時にシステム音声を送信する機能はないので、カメラからの音声をTeamsに流すことはできなそう。スマホ本体のマイク音声になってしまうかも。Wireless Go2のようなUSB外部マイクの音を入れるにはさらにUSBポートが必要になるし、どうかなーって感じです。なおUSB Camera Pro自体は音声モニター機能がありUVCから来た音声をスピーカーで鳴らすことはできます。

■まとめ

RTMPはやはり古い規格なせいか、遅延やビットレート辺りの画質の安定性ではしんどいなーという印象。Teamsが直接UVCカメラの映像や音声を共有してくれたらなーと思えてなりません。

 

RTMP送信できるビデオカメラ(NX80)からOBS Studioに入力してみる

Pocket



今度、屋外でユーザーテストをする予定があって、映像をどう撮って見学者に配信するか検討をしています。屋外である製品を試用している参加者の様子を、見学者部屋またはリモートにリアルタイム中継したいという感じ。スマホで撮ってZoomとかTeamsに流せば簡単なんですが、やはり参加者が持つスマホの手元をアップで撮りたかったり、バッテリー含め連続稼働時間の問題や通信途絶時にも映像は録画しづづけたいも。やはりビデオカメラ自体でも録画をしつつ送信をしたい。HDMI出力映像ネット送信できてバッテリーでも稼働するものといえば、パッと思いつくのはLiveShellシリーズとXperia Proでしょうか。

LiveShell ProはATEM MINIと入替で手放してしまったし、Xperia Proは高い上にHDMI入力を使えるアプリは限られていてバクチ要素も高い(例えばZoomは現状ダメっぽい?)。

もうちょっと手持ち機材でなんとかできないかなと思いついたのがHXR-NX80がもっているRTMP/RTMPSの送信機能です。以前にちょっと試して上手くいかなくて諦めたんですが、再挑戦してみることに。OBS Studioのソースの1つとして入れられれば他の映像とミックスして記録ができます。

■RTMP/RTMPSとは?

RTMPはNDIやWebRTCなどよりも昔から(FLASH時代?)からある映像伝送のプロトコルです。RTMPSはSSLで暗号化するバリエーション(以下まとめてRTMPと記述します)。今でもYoutube LiveやTwitchなどのライブストリーミングサービスへの送信に使われてたりします。USTREAM華やかなりし頃のビデオカメラは単体でWi-FiにつながりRTMP/RTMPS送信する機能がついていました。ただUSTREAMが終わってしまった現在、あくまでUSTREAMを想定した設計になっていた製品と、カスタムサーバーを手入力して使えるものとで命運が分かれ、Panasonicなどは「ライブ配信機能自体の終了」のお知らせを出してたりします。そこはちょちょっとファーム修正してカスタムサーバーに対応して欲しかったものです。

とりあえず手持ち機材ではSONYの業務用カメラであるHXR-NX80がカスタムサーバー(URLとストリームキー)指定による送信に対応しているので、まずはこれでテスト。受け側であるOBS Studioは「メディアソース」ソースで「ローカルファイル」のチェックを外すとURLが入力できるフィールドが出現し、そこから設定できる_はずでした_。

■RTMPにはpushとpullがある!

さて早速NX80からOBSに映像を流してみようとするも、ちょっと様子がおかしい。

こちらはNX80のRTMP接続先の設定画面。URL欄とストリームキー(暗号キー)欄があります。

そしてこちらはOBSの「メディアソース」ソースのプロパティ画面。

どちらにもURLを指定する欄があります。一方OBS側にストリームキーを指定する欄はありません。ストリームキーはURLの最後につければ良いみたいとわかりましたが、それぞれが相手のURLを指定するってあんまり見ない設定方法です。OBS側は受け口をパスとストリームキーをまとめてURLの形で指定するのかなと思い、自身のIPアドレスをベースに適当に作って見てもダメ。

おかしいと思ってググってみるも、OBSからRTMPサーバーに配信する時の記事ばかりでなかなかOBSでソースとしてRTMPを受けることに関する情報が見つけられません。NX80側もYoutube Live向けの簡単な例があるだけ。

それでも調べているうちにわかったこととして、RTMPにはpushとpullに2種類の指定方法があって、文字通りpushは映像出力側(エンコーダー)から受け側のURLを指定して送りつけるもの、pullは映像受信側(デコーダー)が送り側のURLを指定するものです。そしてNX80はpushのみに対応し、pullの受け役はできない。OBSはpullのみに対応し、pushの受け役にはなれない。つまりどちらもクライアントとしてサーバーに要求する側であって、サーバーとして待ち受けすることができないという訳です。NX80は送る側、OBSは受ける側でマッチしているにも関わらず、どちらも自分が言い出しっぺになれなければ気が済まず、「聞く耳」は持たない、という感じでしょうか。

■仲介者としてRTMPサーバーを用意する

ということで、聞く耳持たないクライアント両方からの声を聞き互いを仲介する者としてRTMPサーバーが別途必要だということがわかりました。これの仕事はあくまで取り持ちだけなのでそんなに処理性能は求められないらしく、Apacheのライバル的なWebサーバーソフトであるNGINX(エンジンエックスと読みます)にRTMPエクステンションを組み込めば実現でき(両方とも無料で使える)、Raspberry Piなどでも充分実用になるようです。Raspberri PiでRTMPを受けてオンボードのHDMI出力から出力するというBlackmagic designのStreaming Bridgeみたいなこともできてしまうぽい(遅延は大きそうなものの、これはいずれチャレンジしたい)。

とりあえず今回は本当につながるかテストする為、OBSを動かしているWindows PC上にDockerで仮想サーバーを建てて実験してみました。

参考にしたのは以下の動画。

ただしLinuxでコマンドラインでの説明だったのを、WindowsのDocker Desktop(GUI)向けに適宜読み替えて進めました。Docker Desktop自体、初めてでよくわからず、なんでもできそうで以外とコマンドラインに頼る感じ?少なくとも最初にDockerイメージをもってくるところはシェルからやる必要がありました。ポイントは、動画の1:15くらいにあるように

としてやることです。-p 1935:1935がポイントで、ホストPCのポート1935と仮想PCのポート1935 を紐付ける(ポートフォワード)してやるわけです。これをしないでダウンロードサイトの例文で導入してしまうと通信ができない状態になります。コレでハマりました。きっと後からでも変更できるんでしょうけど、Docker Desktopからは見つけられませんでした。GUIでやろうとする場合はお気を付けください。

設定が完了するとこんな感じになりました。右上の5つのボタンの真ん中で起動した状態です。

「Ports」欄の上段がIPv4、下段がIPv6のポートです。IPv4が「0.0.0.0:1935」となっていますが、これで「(ホストPCのIPアドレス):1935」で通信が届きます。

5つボタンの左から2番目を押すとシェル(コマンドプロンプト)が出現するので、あとはまた動画に従い、nano(テキストエディタ)をインストールし、/etc/nginx/nginx.confを書き換えます。

完成形はこんな感じ。 これで、エンコーダー(今回はNX80)からは

を指定し(ストリーム名は空欄)とし、OBS Studioの「入力」欄は

とします(Dockerを動かしているホストPCのIPアドレスが192.168.0.153と仮定)。

NX80ではRTMP設定画面で「実行」し、カメラ映像画面に戻ったあと更に「THUMBNAIL」ボタンを押さないと配信が開始されないので注意。もちろんNX80上で同時に録画もできます。

■LAN内でも遅延が2秒程度、WAN経由で45秒!

ついにこれでNX80のリアルタイム映像をOBSソースとして入れることができました。NX80の内蔵Wi-Fi(2.4GHz)経由で自宅内LANでのやりとりですが遅延が2秒くらいあります。配信解像度が「640×360」と「1280×720」から選べますが、どちらも遅延は変わらない印象。DockerとはいえホストPCの能力はそれなりにあると思うので、NX80のエンコーダーによる遅延でしょうか。あるいはRTMPというプロトコル自体がそういう傾向なのかも知れません。

他のカメラやマイクとあわせることを思うと2秒という遅延はかなり厳しいですね。これがWAN経由だとどうでしょう?iPhone 12 Pro Maxにテザリングして、docomoの4G回線でテストしてみました(自宅側はdocomo光 PPPoE)。結果は45秒程度の遅延がありました。更に厳しいですね。

ちなみにOSB側の「メディアソース」プロパティで「可能場合ハードウェアデコードを使用」オプションはONにしてしまうと絵と音がズレてダメでした。なんでもハード支援を使えばいいってもんでもないですね。絵だけGPU処理になって同期が外れてしまうんでしょうか。音ズレが発生している場合は確認してみてください。

個人的メモ:RTX1210側の設定として、NATのポート開放、フィルタリングでポート1935のTCPおよびUDP通信をホストPCに向け、フィルター型ルート設定でIP+1935を送信元と宛先それぞれのフィルターを追加してやる必要がありました。

 

現地では中継拠点(受け)とカメラ側双方がモバイルルーター+LTE回線環境になることを考えるとさらに酷いかも知れません。また受け側はグローバルIPアドレスが必要になる点も注意が必要でしょう。ゲストWi-Fiなどが提供されていたとしても使えません。

そう思うとちょっと現実的には使いづらい方法な気がしてきました。

やはりTeamsを経由して受け側でNDIで取り出してOBSに持ってく方が素直かも知れません。

■まとめ

とりあえず定期的に興味がわきつつもなかなか成功しなかったRTMPが実際に動かせてみられて有意義な実験となりました。今後他のファクターも加味して活用の場を見定めていきたいと思います。

ユーザテストで活用するOBS Studio 日本語ガイドを公開しました

Pocket



とあるお客さん向けにOBS Studioのハンズオン勉強会を実施することになり、その時の資料をもったいないので公開しました。

今後もちょいちょい手入れするかもしれないのでGithubに置いておきます。ユーザーテストでOBSを使ってみたいという方の参考になれば幸いです。