Syphon, Spout and NDI
Syphon (Mac), Spout (PC) and NDI (both Mac and PC) are great tools to route the visual output of one program to another.
Syphon and Spout work on the same computer. The output of one application can be picked up by another. This way, you can for instance get jiggy with your funky Processing sketches, but apply effects and map them to a surface with Resolume Arena. Or send your Resolume output to another application like MadMapper.
There's no hard limit to how many applications you can connect like this. At a certain point your computer will just start smoking.
NDI works the same but over the network. So you can send the output of Resolume running on one computer to Resolume running on a different computer, without the need for extra hardware. Just a regular network connection will work.
Using NDI, you can send video from a Mac to a PC and vice versa, no problem. Just like with Syphon and Spout, there's no hard coded limit to how many connections you can set up. Of course your network bandwidth will get full at one point.
Syphon, Spout and NDI input are always enabled in Resolume.
Any program that is sending its output will show up under the sources tab. You can add them to a deck like you would any other live input.
You can use as many inputs at the same time as you want.
The moment Syphon, Spout and/or NDI is enabled via the Output Menu, Resolume will immediately start broadcasting its main output as well.
Other Syphon/Spout enabled applications running on this computer will now pick up Resolume's composition output.
Computers on the same network will now pick up Resolume's composition output via NDI.
For applications that do not auto-detect broadcasting Syphon/Spout servers, Resolume's main output identifies itself to as follows:
App Name: "Avenue" or "Arena".
Server Name: "Composition" (for the main composition output) or “Screen 1” (when using the Advanced Output to route a screen).
The NDI protocol doesn't currently have a way to select which network interface it uses to send data. As a consequence, it will use your Wifi when you have both wireless and wired connections active. Especially on OSX, it will always default to Wifi when it's available.
As you can imagine, sending video over Wifi is pretty crap. So you'll want to disable your wireless connection when setting up NDI.
Discovery vs Connection
Sometimes an NDI source is available from the Sources tab, but shows a red Offline mark when used as a clip. It will also show up as 0x0 in size.
When this happens, in 99% of the cases you have an IP mismatch. Although both computers are physically connected to the same network and able to 'see' each other, they're not set to the same IP range, so the pixels can not be delivered.
The best way to troubleshoot it, is to disable all your network adapters except the one you are using for NDI, and then set each to use a manual but different IP in the same range (ie 220.127.116.11 and 18.104.22.168).
NDI is a professional video over IP protocol. To use it, you need to know how to manage your IPs correctly. If that sounds really hard, it's because it is. IT is a real job and a completely different ballpark from video, so maybe it's smart to get help from someone that has experience setting up networks.
Resolume Arena allows you to further control this via the Advanced Output. Syphon, Spout and NDI outputs can be treated like a separate physical screen.
This allows you to warp the output before sending it, or to select parts of your composition to send. While you can still send a different output to your physical screens.
When sending to Syphon/Spout you can change the width and the height of the output as desired.
Syphon Example Code
Example code for Processing:
client = new SyphonClient(this, "Arena", "Composition");
Or for Avenue:
client = new SyphonClient(this, "Avenue", "Composition");
If you use a Syphon output via the Advanced Output of Arena, you can name the server yourself:
client = new SyphonClient(this, "Arena", "Screen 1");