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

最近の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みたいなモニタ一体型ソリューションも考えてたりするんですかね。これはこれでいいかも。

Raspberry Pi 4でUSBカメラ映像をHDMIに変換できるか実験(ATEM Miniと使いたい)

最近、ユーザテストの撮影用カメラとしてOBSBot Tinyが小さくて画角調整がしやすくて大変気に入っています。この製品はUSB接続のWebカメラなので、PCでOBS Studioなどで録画/配信するには適していますが、HDMI入力しかないATEM Miniシリーズには使えません。

そこで、Raspberry Pi 4(以下RP4)でUSBカメラとして認識してそのリアルタイムスルー画をHDMIというかX上でフルスクリーン表示すればATEM Miniシリーズでキャプチャできるんじゃないかという発想です。しかもRP4にはHDMI出力が2つあります。複数のUSBカメラを接続し、それぞれを個別のHDMI出力に出せれば、2カメを1台のRP4で変換できるんじゃないか、とか。

■RP4の設定

今RP4は半導体不足の煽りで品不足、価格高騰気味なようですが、幸い少し買ったものがありました。

確か1万強くらいだったと思うので、お急ぎでない方は価格が落ち着いてから買った方がよろしいかと思います。

ケースはこちら。RP4のボードより一回り大きくなりますが、内部変換ケーブルによってフルサイズのHDMIポートが2つになる点が魅力です。

+1,000円でUSB電源アダプタが付属するセットもあるようです。自分は当初適当なUSB充電器を使えばいいやと買わなかったんですが、実際にUSBにWebカメラを接続してキャプチャしたりすると電圧不足警告が表示されました。一般的な非PDの5V充電器だと2.0Aが上限なので、やはりRP4に売られている3.0Aのものを買った方が良さそうということで結局追加しました。少し割安なので最初からセットで買うのがオススメです。

また派生モデルとして下部にM2 SSD(USB接続)を追加したモデルもあるようです。録画なども考える場合はこちらも良さげです。

ウチはとりあえずこちらのSDカードでセットアップしました。

小さいmicroSDは「あれ、どこいった?」となりがちですが、そんな時この水色のカラーが目立つので扱い易いです。

■OSインストール

ちょうどRaspiOSの64bit版が正式扱いになったというニュースをみたので、これを機に新規セットアップしました。公式から2022-01-28-raspios-bullseye-arm64.zipを落としてきて解凍し、これまた公式ツールのRaspberry Pi Imagerを使ってSDカードに展開しました。

当初X-WindowのないLiteで軽量なシステムを構築できないかもトライしましたが、色々ツールを入れるのが大変で断念。キーボードやらネットワーク設定やらもひと手間です。結局あきらめてフルバージョン(X-Windowsあり)で仕切り直し。結果的に必要なツールは揃っており苦労なく表示できました。

■USBカメラの映像をウインドウに表示する

当たり前っちゃ当たり前ですが、OBSBot tinyの初代および4Kモデル双方とも差すだけで認識しました。

表示ツールはVLCなども試したんですが遅延が大きく、ffplayがマシという感じです。ただしフルHDにするとかなり遅延が出てATEM Miniへの入力ソースとしては致命的。1280×720ならほぼ気にならないですがフレームレートは10fpsに強制的に落とされてしまいました。

起動はターミナルからこんな感じ。

ffplay -i /dev/video0 -video_size hd720 -an -fs

-iで入力デバイス。OBSBot Tiny初代と4Kを同時に挿した場合、それぞれ/dev/video0と/dev/video2にアサインされました。

-video_sizeは1280×720や1920×1080のように書いてもいいですし、hd720、hd1080のような略記も使えます。

-anは音声無効化、-fsは全画面表示です(ESCで終了)。

-framerate 30などとつけるとフレームレート指定ができますが、hd720でも強制的に10fpsに落とすよ、というウォーニングが出て上書きされてしまいます。

実験したところ、サイズをwvgaにすると950×540になり15fps、vgaなら640×360で30fpsになりました。30fpsあると明らかに残像感がなく綺麗ですが、遅延としては差は感じません。HD720/10fpsかWVGA/15fpsが実用上バランスが良いかなと思います。

正直もうちょっと行けるかと思ってたんですが微妙な結果でした。もしかするとハードウェアデコーダーを使うなど何かしら設定で改善する余地もあるかもですが、吊しの状態だとこれが限度でした。

追記:

オプションでMotionJPEGを明示したところ改善がありました。v4l2-ctlコマンドで対応コーデックを調べたところ、こんな結果が。

pi@raspberrypi:~ $ v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
	Type: Video Capture

	[0]: 'MJPG' (Motion-JPEG, compressed)
		Size: Discrete 640x360
			Interval: Discrete 0.017s (60.000 fps)
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
		Size: Discrete 960x540
			Interval: Discrete 0.017s (60.000 fps)
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
		Size: Discrete 1280x720
			Interval: Discrete 0.017s (60.000 fps)
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
		Size: Discrete 1920x1080
			Interval: Discrete 0.017s (60.000 fps)
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
	[1]: 'YUYV' (YUYV 4:2:2)
		Size: Discrete 640x360
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 960x540
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 1280x720
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 1920x1080
			Interval: Discrete 0.200s (5.000 fps)
	[2]: 'H264' (H.264, compressed)
		Size: Discrete 640x360
			Interval: Discrete 0.017s (60.000 fps)
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
		Size: Discrete 960x540
			Interval: Discrete 0.017s (60.000 fps)
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
		Size: Discrete 1280x720
			Interval: Discrete 0.017s (60.000 fps)
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
		Size: Discrete 1920x1080
			Interval: Discrete 0.017s (60.000 fps)
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)

先に書いた上限値はYUYVモードのもののようで、MotionJPEGとH.264ならばMax 60fpsが目指せそうだったので追加検証してみた結果、

  • H.264は重く、MotionJPEGが良いカンジ
  • それでもフルHDは遅延発生

ということで、現状のベストコマンドは、

ffplay -i /dev/video0 -pixel_format mjpeg -video_size hd720 -an -fs

ということになりそうです。これで30fpsになりました。-framerate 60を明示的につけるとlow voltage警告が出て絵が止まったりシステムがフリーズしたので、こちらは別途3A電源が届いてから実験します。とりあえず720p/30fpsが出ればATEMなどでPinPするソースとしては充分かなと思います。

・デュアルディスプレイに同時表示は無理そう

残念ながら1台のRP4でHDMI 2系統にそれぞれWebカメラ映像を出すことは現状ダメぽいです。上記の限界があるので単純に負荷2倍だと厳しいというのもありそうですが、どもそもffplayが現状マルチストリームに対応してないようです。別々のターミナルから同時起動しても、最初のプロセスを閉じるまで2つ目が開かない感じです。

■まとめ

Raspberry Pi 4を使って、USB接続のWebカメラを簡単にHDMI出力デバイスとして扱うことができました。ただしせっかくHDMI出力が2系統あるRP4でも並行出力は無理そう。そろそろ日本でも出回るRaspberry Pi Zero 2で同等のことができるなら、Webカメラ1台ごとにこちらを装着するのも良いかも知れません。結局電源がいるという意味ではビデオカメラを使うのとかわらないですが、物理サイズが大きく違うので、運搬が楽になったり、撮影中の存在感を減らすことができる点はメリットかと思います。なにか3DプリンターでOBSBot Tinyと一緒にマウントできるケースを作ってみたいです。

今後の課題としては、

  • 電源オンでHDMIに全画面出力が出るところまで起動処理の自動化
  • SDカードを損耗を防ぐためにシステムのRead Only化
  • 長時間耐久テスト

などを行っていきたいと思います。