Network Device Interface(NDI) 始めました
はじめに
映像系をもともと色々とやっていたため、ずっと気になっていた「AV over IP」を試してみる。
Danteは準備に費用が掛かりそうで、手の届きそうなNDIを勉強する。
Network Device Interface とは
SDIやHDMIを使った伝送がデフォルトだった中で、IPネットワークを使用した伝送技術。
TriCasterなどのメーカーであるNewTek社が開発し、映像・音声・メタデータをIPネットワークで伝送することが可能になった。
今までの伝送方法と同様に、SDI/HDMIでの映像・音声のエンベデッドをLANケーブルで可能にし、ネットワークスイッチ(1G以上)を用いて伝送を行う。
検証構成
今回は、以下の検証を行ってみる。
どちらもNDIとしては基礎的な内容になっていると思う。
別でネットワークの構築を行っているため、そのまま環境を流用する。
- 構成①:同セグメントでの映像・音声伝送
- 構成②:別セグメントからの映像伝送
また、使用する機材やソフトウェアは以下。
- 機材:スマートフォン(Pixel8a)、コントロール用ノートPC、別セグメント転送用ノートPC
- ソフトウェア:NDI Tools(コントロール用PC、転送用ノートPC)、DistroAV(コントロール用PC)、NDI HX Camera(スマホ・有料)
構成①:同セグメントでの映像・音声伝送
構成図
同セグメントでのNDIを使った映像・音声伝送を実施。

NDI Toolsのインストール
コントロール用PCに、「NDI Tools」をインストールする。
-
https://ndi.video/tools/ より、NDI Toolsをダウンロードする。今回はWindows版。

-
画面の表示に沿ってインストールを実施。基本設定で進める。
-
NDI Tools を起動する。
スマートフォンの用意
今回は映像・音声のソースとして、スマートフォンのPixel8aを使用。
- NDI HX Cameraをインストールする。
- アプリを起動する。基本これだけでOK。
NDI Toolsの起動、設定
-
WebCam をクリックして起動。

-
どこでもいいが、Video1の歯車アイコン>Pixel8a を選択する。

-
スマートフォンの映像が表示されればOK。
OBS、DistroAVのインストール
-
OBS Studioをインストールする。
-
DistroAVをインストールする。これはOBSにNDIソースを入力するために必要なプラグイン。

-
OBSを起動し、ソースとして「NDI Source」を選択。

-
プロパティからNDIソース(今回はPixel8a)を選択し、映像が表示されれば完了。

まとめ
同セグメントでの場合は、特にネットワーク設定は不要。
コンマ数秒のラグは発生するが、特に気にならない程度だった。
構成②:別セグメントからの映像伝送
構成図
別セグメントでのNDIを使った映像・音声伝送を実施。先ほどのスマートフォンの映像・音声と別セグメント上のPCの画面キャプチャをOBSに入力する。

キャプチャPCにNDI Toolsのインストール
今回は映像入力はないため、OBSおよびDistroAVのインストールは不要。
キャプチャPCのNDI Tools設定
-
NDI Toolsを起動する。
-
「Screen Capture」を選択すると、自動的に画面キャプチャをNDIで転送が始まる。

コントロール用PCの設定
別セグメントのソースを入力するには、IPの指定が必要。
-
NDI Toolsを起動する。
-
「Access Manager」を選択し、「External Source」のタブへ移動する。

-
IPアドレス横の+をクリックし、「Device IP Address」に、キャプチャPCのIPアドレスを入力する。

-
OKを押すと、受け付ける端末のIPが登録される。

受信の確認
-
NDI Toolsの「Discovery」で、キャプチャPCの映像が入力されているか確認する。

-
NDI Toolsの「WebCam」から、キャプチャPCのソースを選択して、映像が表示されるか確認する。

-
NDI Toolsの「Router」から、「Source」の番号で右クリックし、「Configure」から入力ソースを選択して表示を確認する。

OBSの設定
入力ソースは以下のパターンで設定が可能。
- OBSのソースとして、スマートフォン、キャプチャPCをそれぞれSourceとして認識させ、スイッチングする。
- OBSのソースとして、「Router」の「Destination」を選択し、NDI Tools側でスイッチングする。
認識がうまくいかない
上記の設定をして、Routerのところまではキャプチャ映像が入ってくるが、OBSではなぜか表示できなかった。
フレームレートやサイズを変更しても何も変わらず、最終的にはキャプチャPCの再起動で改善した。
まとめ
別セグメントでもIPネットワークをきちんと構築できていれば、ほとんど問題なく簡単に構築することが可能と感じた。
ネットワークの基礎知識があれば映像ネットワークの構築ができ、映像や音声の構成をまた別の形で考えることが面白かった。
ただ切り替え時に黒味が入ったり、スマートフォンが無線環境だったためにラグの大小があったり、ネットワークの安定性はある程度確保しないと実用は難しいかと。
グローバルIPが固定できればWAN間の転送もできると聞き、どこかでやれる環境があればやってみたい。
NDIを使ったOBSへの映像・音声入力までできたため、一度YouTubeLiveでテスト配信もしてみようかな。
もう少しNDIの構成を深く考えたり、あとはDanteもやってみたいな…。
Discussion