NDIのSDKを使用すると、解像度とフレームレートの依存がなくなり自由な映像が送れる話です。
NDI 5.6 White Paper
https://ndi.video/wp-content/uploads/2023/09/NDI-5.6-White-Paper-2023.pdf
Features
- NDI 5.0 compatible (runtime is dynamically loaded so will work with any installed compatible NDI version)
- Send/receive 2D jitter matrices of any size. 3-plane RGB and 4-plane RGBA both supported.
- YUV mode for high-performance usage.
- Send/receive unlimited number of audio channels.
- Objects can set/report preview/program tally status on a video source.
NDIはNewTekが開発しているVideo Over IPの技術で、PCベースであるNDI Toolsはフリーで使用が可能です。また、配布されているSDKを使用し、自由にNDIを扱う事が出来ます。
今回は、Cycling'74 Max用にjitterでNDIを扱えるオブジェクト、jit.ndiの紹介です。
jit.ndi。上記リンクからダウンロードできる
解像度は4K以上を扱う事が可能だがPCの性能に左右される
NDIはアルファチャンネルを扱う事も可能な為、NDI SDK経由すれば解像度フリーのアルファチャンネル付き画像の合成が出来ます。(Dataton WATCHOUTに対してNDIで送り表示させることも可能。但し、ネットワークインフラの構築に知識が必要)
※NDI HXには非対応(有償ライセンスの為と思われる)。NDI ToolsにはNXプラグインがありNDI Monitorではデコードが可能
アルファチャンネル付きPNGを作成これをNDIで送ると・・・
アルファチャンネル付き画像として扱える。これはNDIモニタでのテスト表示
あまりに簡単に表示が可能なので驚く・・・
jitterで扱える為、Max側でビデオミキサを作成し、仮想ビデオスイッチャで映像の送出を行う事もできる。上記は従来のビデオスイッチャを模倣したパッチ
Video Over IPが手軽に扱える。NDIはPTP同期を使用していないのが不思議・・・
SDK使用の為、オーディオもマルチチャンネルが送れる(上限無し)。上記は64chをテストしている例
参考にjit.ndi.sender~を使ったNDIファイルベースプレーヤを作成してみました。
NDI VIDEO PLAYER v0.7
jit.ndi v0.3.0 by David Butler / Pixsper Ltd.
Font "DSEG" by けしかん
NDI® is a registered trademark of NewTek, Inc
ndimaxsetting.json
を編集することで自動再生、ループ、NDI出力解像度、NDIフレームレートの設定が可能。
NDI出力解像度はアスペクト比を保持する関係上こちらで最初に指定してください。
解像度の上限は無し、フレームレートは60.00fpsが最大です。ですが、Maxのjitterを使用してのビデオ再生はGPUをそれほどうまく使えるわけではありませんのですぐ上限がくるかと思います。
NDI VIDEO PLAYER:ダウンロード先
近年はAudio Over IP、Video Over IP系の技術が手軽に利用できるため、こうした情報を取得しに行き、実際に自分で試せるのが良いですね。
しかしどんどんソフトウェアベースに移行している為、求められる知識の幅が非常に大きいのを体感します。NDI SDKでは解像度とフレームレートが自由!なのは構いませんが、そもそもフレームレートがなぜ決まっているのか、送出する為の機器の制約があるのか・・・など、基礎的な映像の知識が必要な事もまた事実です。知らないでは済まされないとは言いますが、幅が広すぎる昨今です・・・。