見出し画像

ちょっとした遅延比較実験:ATEM で M/V モニタしながら、PGM OUT を PC に NDI で出力

ちょっとした実験。遅延比較。ATEM で M/V モニタしながら、PGM OUT を PC に NDI で出力する。普通に考えると、ATEM mini Pro は直に NDI を出力できないので普通は無理。HDMI OUT を NDI エンコードすると M/V が出力される笑。

この実験、ATEM と Wirecast/vMIX/OBS なんかの合成&スイッチング&エンコーディング ソフトウェアを NDI 経由で組み合わせて使っている人には役に立つかも。

NDI だとマルチキャストできるので、ソース(カメラなど)を2台ずつ用意しなくても、2台のPCでそれぞれ Wirecast や vMIX などを動かしておくことでバックアップができます※。

とはいえ、NDI エンコーダーはそこそこ値段がするので、すべてのソースに NDI エンコーダーを付けたら結構な金額になります。

そこで、同時使用しないカメラはいったん ATEM などでスイッチングしてからエンコーダー通して Wirecast なんかに取り込むってことはよくされていると思います。(下の図の上のパターン)

ATEM mini Pro から NDI 経由でメインとバックアップの Wirecast に映像を取り込む

ただ、ここで問題なのは、ATEM の HDMI 出力は1つしかないこと。基本、モニター用なので M/V を選択すると HDMI からは M/V の出力となります(当たり前w)。なので、PGM を選択してエンコーダー(Ultra Encode など)に送る必要がありますが、そうなると、他のソースの状況が確認できません。

そこで、ATEM mini Pro には Ethernet に PGM を rtmp で配信する機能があるので(主要機能なので当然w)、それを使って rtmpd を動作させている PC に対して rtmp で送出して、rtmpd 側で NDI に変換し、メインとバックアップのそれぞれの PC に NDI で送る。(上の図の下のパターン)

こうすることで、モニターで M/V を見ながら、各 PC には PGM OUT を NDI で送出できます。Ultra Encode などのハードウェアも不要です。

で、実際やってみた。

やっぱり結構なタイムラグが出るね。もちろん、ネットワーク環境や各機器の能力に依存するけど。

計測してみたら、図の上の構成では遅延は 0.3 秒(30fps で約 10 フレーム。カメラ+ATEM+UttraEncode+Wirecast+Network のトータル)程度で、図の下の構成では、1.8 秒(同 58 フレーム。カメラ+ATEM+rtmpd+Wirecast+Network のトータル)程度だった。1.8 秒が許容されるコンテンツなら、全く問題なく使えると思います。

【脚注】

※ 上記のようなことを書くと「LAN#1部分が冗長化できてない」とか言う自称一流エンジニアのマウント野郎が出てくるのだけど、ATEM にカード突っ込めないし。そういうヤツに限って、「じゃあ、あなた常にソースもスイッチングソフトのバックアップ用意してますか?」と訊いたら、どちらも用意してなかったりする。あるあるだ。これは「NDI を便利に使った冗長化」なので「できる範囲でやる」というのが趣旨です。

いいなと思ったら応援しよう!