前回USBカメラ3台をNDI化してネットワークに送信しました。それら3本の映像を受信して、点キーでカメラを切り替える表示アプリをUE5で作ってみます。

 

前回USBカメラ3台をNDI化してネットワークに送信
https://riragon.com/ubuntu22-04-gstreamer-ndi-sdk-gst-plugin-ndi/

UE5(Unreal Engine 5)でNDIを受信して表示する方法
https://riragon.com/unreal-engine-5-ndi-reception-display-guide/

 

UE5.2を起動して、次のようなプロジェクトを作りました。CameraActorを4つ。NDIスクリーンを3つです。

事前にNDIプラグインをONにしております。

NDIの受信設定も3つ作成しておきました。

点キーを押すとカメラが切り替わるブループリントを作成しました。

0なら全体。1なら左のカメラ、2なら中央、3なら右といった感じです。最初だけ全体を表示します。

映像に残像が出るので以下をNoneにしています。

こんな感じにNDIカメラの映像を切り替えできました。実用性という点では、あまり良い使い方ではないかもしれません。

 

しかしNDIIOのエラー出てしまい、、アプリの書き出しができず。。。断念。それから30時間ぐらい思考錯誤にて解決しました。まず以下のNDIIOエラーが出てBUILD FAILEDします。

Expecting to find a type to be declared in a module rules named ‘NDIIO’… This type must derive from the ‘ModuleRules’ type defined by Unreal Build Tool

UATHelper: パッケージ化 (Windows): BUILD FAILED

 

正しくNDIIOプラグインをパッケージ化できていないようです。そこでUE_5.2のフォルダー内にあったNDIIOをプロジェクト内に移動しました。コピーではなく移動です。元のフォルダーを残さないで移動します。

C:\Program Files\Epic Games\UE_5.2\Engine\Plugins\NDIIO\

↓UE5.2のプロジェクトフォルダーndiplayer05だった場合

C:\Users\—-\Documents\Unreal Projects\ndiplayer05\

にPluginsを作成して、NDIIOフォルダーを丸ごと移動しました。これでビルドできました。

以上からプラグインを移動したことで認識しました。