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ユーザならそれぞれSyphonとScreenCaptureSyphon(有料)が相当します。
ネットワークの構築
※ネットワークについては全く詳しくないです。とりあえず動くように私の設定を載せておきます。なにかおかしなことを記述をしている場合はコメントを頂けると助かります。「ネットに繋がらなくなったー!」とかなっても自己責任で。
映像転送したいPC1とPC2をルーターに接続してください。
次にIPアドレスを固定します。OSCを利用するなど、NDI以外にもPC間の通信を行う際はやっていおいたほうが良いかも。
手順としては以下のようになります。
設定→ネットワークとインターネット→アダプターのオプションを変更する→イーサネット(を右クリックしてプロパティ)→インターネット プロトコル バージョン4(をクリックして、プロパティ)
固定のIPアドレスはとりあえず以下のようにしています。
これでLANの構築は完了です。
SPOUTのセットアップ
SPOUTとSPOUT TO NDIをダウンロードしてPC1とPC2にインストールしてください。
ファイアウォールの設定
PC1とPC2両方にファイアウォールの設定を行います。
コントロールパネル→システムとセキュリティ→Windowsファイアウォールによるアプリケーションの許可(をクリック)
設定の変更(をクリック)→NDI to Spout
とSpout to NDI
のプライベート
とパブリック
両方にチェックをつけます。
PC1とPC2が同じようになれば完了です。
私の環境だとNDI to Spout
とSpout to NDI
がそれぞれ4個ずつありますが、多分人によります。
疎通チェック
実際にSPOUTとSPOUT TO NDIを利用して映像の転送を行います。
PC1で以下を開き、
C:\Program Files (x86)\Spout2\DEMO
のSpoutSender.exe
と
C:\Program Files (x86)\SpoutToNDI\bin
のSpout to NDI.exe
PC2で以下を開きます。
C:\Program Files (x86)\SpoutToNDI\bin
のNDI to Spout
これで画像のように映像が写っていれば完了です🎉
送信側と受信側を入れ替えて試しておくと良いです。
Touch Designerで使う
先ほど開いたSPOUT類はすべて閉じてしましましょう。
準備が完了したのでようやくTouch Designerを利用します。PC1でTouch Designerを開きます。
適当に送りたい絵を作り。Syphon Spout Out
OPを後ろに繋ぎます。
PC1でSpoutToNDI
を開きウィンドウに映像が出ていれば成功です。
次に、PC2でNDIToSpout
を開いて映像が来ていれば完了です。
同じ要領でセッティングすることで様々なアプリケーションの映像をLAN越しに共有できるようになりました🎉
resolumeで受け取る
受け取る側の一例としてresolumeを使ってみます。
resolumeはデフォルトでNDIを利用できるため、何もする必要はありません。
このNOTE(TDSyphonSpoutOut)
をクリップに持っていくとこんな感じです。
無事にresolumeにTouchDesignerで作った映像を渡すことができました🎉🎉🎉
最後に
Spoutを利用して比較的かんたんにPC間の映像転送ができました!
いろいろ利用価値のあるものだと思うので皆様も遊んでみてください!!
次はPC間のサウンド共有やマウス&キーボード共有についても書こうかなと思います。
最後に、定期的にVJをさせていただいていて、12/16に中目黒solfaでVJをやるので、興味があれば遊びに来てください〜。
twitterかfacebookで連絡をもらえれば、ディスカウントできるかもしれません。
12/4のアドベントカレンダーはここまでになります。
文字ばっかり&TouchDesignerはほとんどど出てきませんでしたね。ごめんなさい。
12/3深夜に書くことが決まったので、マッハで作ったので色々説明足りてない部分が多いです。
なにか不明点あればコメントを頂ければ対応できるかもしれません。
それでは、より良い映像制作ライフを!