Loading...
ResolumeVJ機材

スマートフォンのカメラ映像を無線でResolumeに飛ばしてみる「NDI Cam編」

こんにちはSabaLeoN szkです。

本日は久々の NDI 関係記事。

NDI については過去の記事にて色々記載していますのでご参照を。

経緯は「無線でカメラ映像飛ばせないかな?」とこの前質問を受けたのですが、過去に自分が行き着いた方法はこれであり、当時は7万弱の大金を払って実装したので、あれから4年ほど経つのでもっとローコストでできないかと思い改めて検証してみました。

ちなみにその「過去の方法」はこれ、そろそろ4年になるのか・・・
あっ、別に今回の方法が優れているというわけではなく、安定性と画質を見たらこの方法は安牌なのでご安心を。

さて本題、どうやら現在はNDIでスマートフォンのカメラ映像を飛ばせるアプリがあるらしい。
早速試してみよう。

■NDI Cam

今回使ったのはこれ!
Iphoneのアプリである「NDICam」です。

https://apps.apple.com/us/app/ndicam/id1074065391

価格は日本円にして1200円程。
ちなみにNDITek公式で出している「NDI Tricapture」なる無料ソフト、それとUIがまったく一緒の有料ソフト「NDI HQ Camera」なるソフトも存在していますが、今回はより安く実装可能だったこのソフトを使いました。

アイコンをタッチすると起動します。

Iphone上の画面はこんな感じ。

起動した時点ですでにNDIは送出されています。

■Resolume側でのINPUT

通常NDIを使う方法と同じく メディアライブラリ からSource→NDI Serversで対象を選びます。
(NDICam)となっているものが今回の対象。

余談ですが、下のスクリーンショットにある「TC Camera」の方は上で記載した「無料で使えるほうのNDITek公式アプリ」です。
今回Resolumeで取り込もうとしたところ「スイッチャーのFWをアップデートしてください」と表示され画面取り込みができませんでした。
何かスイッチャーかなんか挟む必要があるんですかね。

NDICamをクリップに入れて選択すると。

こんな感じで映ります。あっ、メンダコー
ここで嬉しいのは「カメラのUIは映らない」ということ。
カメラ素材として使いやすいのはGood。
また、ラグもほとんどなく、ほぼリアルタイムと言っても過言ではないでしょう。
今回は無線かつ宅内の同一LAN環境ですので切断もありませんでしたが、外のクラブ環境で使うとどうなることやら・・・ここは検証が必要そうですね。

尚解像度はデフォルトでFullHDで変更不可能。
720pで送信させてくれるとネットワーク的にも嬉しいのですが…


動いてる図、GIFなのでFPS低め。
ただこれGIFでやってなんかいみあんのかな(後日ちゃんとした動画に更新します)

■設定

ということでカメラ側の設定をば。

メイン画面

まずはメイン画面のUIの説明から。

インカメラ切り替え

カメラの画質と送信スピードを切り替えます。
Resolumeやネットワーク上の処理というよりもIphone側の処理負荷の調整です。
動作中に変更すると落ちる時があったので、一度設定をFIXしたら動かさないほうがよさそう。

ライトを点灯

フォーカスのロック

ストリームするか。OFFの場合はストリームを停止しますが、Resolume上では「OFFLINEにはならず」、画面が一時停止したように見えます。

設定画面

続いて設定画面。

設定できることは多くなく、以下で紹介する設定程度。
解像度下げれたらいいんだけどなぁ

・NDIName→Resolume上で(NDICam)と表示されていたところを変更できます。
・NDI4 DiscoveryServer:中継器や宛先の指定が必要なスイッチャーがある場合はここに設定。
・EnableAudio:ONの場合は音声も送出できます。
・PreventSleep:スマートフォン側本体のスリープをしないようにします。
・TallyFlash:不明
・25FPS/29.97FSP:FPSモードの変更。原理上25のほうが安定するはず。

■感想した完走

ですが、実用レベルではあるものの、Iphoneが発熱したので、長時間の使用(1時間越え)にはもうちょっと検証がいりそう。
また電池持ちも気になる。
価格は1000円ちょっとで済むので気楽にワイヤレスカメラが欲しい人は良い方法かもしれません。

ちなみにAndroid版はないです。(血涙


こちらの記事もおすすめです

data-matched-content-ui-type="image_card_stacked" data-matched-content-rows-num="3" data-matched-content-columns-num="1" data-ad-format="autorelaxed"