Edited at

Touch Designer 有料版を使わずにSPOUT&NDIで映像共有

TouchDesigner Advent Calendar 2018 12/4の記事です。


これはなに

複数PC間で映像のやり取りを低レイテンシで(ほとんど)お金を掛けずにやる方法を紹介します。

windows間での共有を想定しています。

最終的にはこんな感じです。2台のPCでバナナが回る映像を共有しています。


記事を読んでできるようになること

内容としてはNDIを用いるためのローカルエリアネットワーク(以下LAN)の構築です。

LAN構築やファイアーウォールの設定でハマりやすいポイントなどの紹介し、読み終わればとりあえず映像共有ができるようになることを目指します。


そもそもなんでそんな事するの?

例えば

- 一台のPCでTouch Designerでビジュアルを作り、もう一台のPCでそれにエフェクト

- 一台のPCでテクスチャーをリアルタイムで生成しながら、もう一台でマッピング

とか、高負荷でリッチな表現を複数台のPCに分散させることができれば、あんなことやこんなこと夢のある無茶ができる気がしませんか!!

しかしながら、夢を叶えるには乗り越えなくてはいけない壁がつきものです…。


立ちふさがる壁

それは、お金です。

こういったことも以下とか使えば簡単です。

はい。素敵なお値段ですね。ただでさえ高価なPCを複数台使うのに、更に出費は嫌ですね。。。

ならば、壁を登らずに迂回しましょう。


迂回ルート

複数台のPCを繋いだLANを作り、SPOUTやSyphonを経由してNDIでの映像の転送を行います。

NDIとは

NDI(Network Device Interface)の略で、IPで映像転送を行うための規格です。

LAN内で利用することで低レイテンシな映像の転送を実現しています。

特に何かを購入する必要はありません。


準備するもの

ルーター

NDIの利用にはLAN構築が必要なので、ルーターは必須です。持ってなければ買ってください。

LANといっても難しいことは考えずルーターにケーブルを刺すだけで大丈夫です。

私はUSB給電でコンパクトなcoregaのsw-05gtxuを利用しています。

ギガビットイーサネットに対応してるものなら問題なく利用できると思います。

※Touch DesignerのCOMMERCIAL版使っている場合はNDI In TOPやNDI Out TOPがあるので、ルーターがあれば複数PC間での映像共有ができると思います。

SPOUT(Syphon)

今回の要です。COMMERCIAL版が使えない私達はこれを利用します。

SPOUTは異なるアプリケーション間での描画をやり取りするオープンソースのソフトウェアです。

このSPOUTには映像をNDIに送り出してくれるSPOUT TO NDIがあります。

これを使うことで映像の転送を行っていきます。

※MacユーザならそれぞれSyphonScreenCaptureSyphon(有料)が相当します。


ネットワークの構築

※ネットワークについては全く詳しくないです。とりあえず動くように私の設定を載せておきます。なにかおかしなことを記述をしている場合はコメントを頂けると助かります。「ネットに繋がらなくなったー!」とかなっても自己責任で。

映像転送したいPC1とPC2をルーターに接続してください。

次にIPアドレスを固定します。OSCを利用するなど、NDI以外にもPC間の通信を行う際はやっていおいたほうが良いかも。

手順としては以下のようになります。

設定→ネットワークとインターネット→アダプターのオプションを変更する→イーサネット(を右クリックしてプロパティ)→インターネット プロトコル バージョン4(をクリックして、プロパティ)





固定のIPアドレスはとりあえず以下のようにしています。

これでLANの構築は完了です。


SPOUTのセットアップ

SPOUTSPOUT TO NDIをダウンロードしてPC1とPC2にインストールしてください。


ファイアウォールの設定

PC1とPC2両方にファイアウォールの設定を行います。

コントロールパネル→システムとセキュリティ→Windowsファイアウォールによるアプリケーションの許可(をクリック)



設定の変更(をクリック)→NDI to SpoutSpout to NDIプライベートパブリック両方にチェックをつけます。



PC1とPC2が同じようになれば完了です。

私の環境だとNDI to SpoutSpout to NDIがそれぞれ4個ずつありますが、多分人によります。


疎通チェック

実際にSPOUTとSPOUT TO NDIを利用して映像の転送を行います。

PC1で以下を開き、

C:\Program Files (x86)\Spout2\DEMOSpoutSender.exe

C:\Program Files (x86)\SpoutToNDI\binSpout to NDI.exe

PC2で以下を開きます。

C:\Program Files (x86)\SpoutToNDI\binNDI to Spout

これで画像のように映像が写っていれば完了です🎉



送信側と受信側を入れ替えて試しておくと良いです。


Touch Designerで使う

先ほど開いたSPOUT類はすべて閉じてしましましょう。

準備が完了したのでようやくTouch Designerを利用します。PC1でTouch Designerを開きます。

適当に送りたい絵を作り。Syphon Spout OutOPを後ろに繋ぎます。



PC1でSpoutToNDIを開きウィンドウに映像が出ていれば成功です。

次に、PC2でNDIToSpoutを開いて映像が来ていれば完了です。



同じ要領でセッティングすることで様々なアプリケーションの映像をLAN越しに共有できるようになりました🎉


resolumeで受け取る

受け取る側の一例としてresolumeを使ってみます。

resolumeはデフォルトでNDIを利用できるため、何もする必要はありません。



このNOTE(TDSyphonSpoutOut)をクリップに持っていくとこんな感じです。



無事にresolumeにTouchDesignerで作った映像を渡すことができました🎉🎉🎉


最後に

Spoutを利用して比較的かんたんにPC間の映像転送ができました!

いろいろ利用価値のあるものだと思うので皆様も遊んでみてください!!

次はPC間のサウンド共有やマウス&キーボード共有についても書こうかなと思います。

最後に、定期的にVJをさせていただいていて、12/16に中目黒solfaでVJをやるので、興味があれば遊びに来てください〜。

twitterfacebookで連絡をもらえれば、ディスカウントできるかもしれません。

12/4のアドベントカレンダーはここまでになります。

文字ばっかり&TouchDesignerはほとんどど出てきませんでしたね。ごめんなさい。

12/3深夜に書くことが決まったので、マッハで作ったので色々説明足りてない部分が多いです。

なにか不明点あればコメントを頂ければ対応できるかもしれません。

それでは、より良い映像制作ライフを!