Spout is an industry open standard video sharing framework – a way of sharing whole frame buffer imagery between applications. Delta can capture Spout as a capture device and show it anywhere on the output canvas, and manipulate it as with any other capture resource type.
Spout can be used to input live realtime graphics from another application (e.g. Unreal, or Unity) resident on the server (or via network), with the realtime app running in the background behind the server’s playback window. The realtime app can also render part normal imagery and part alpha plane in order to key the Spout window into the normal playback content.
Care should be taken to ensure that normal playback performance is still maintained when the realtime app is running so that smooth playback is achieved in all cases – this will be dependent on the system performance (graphics card mostly) and the realtime app’s requirements.
Install Spout on the server. Configure Spout to have a known sender name. In this example, the Spout Sender DEMO app is being used. The application can normally be found in C:\Program Files (x86)\Spout2\DEMO. If you run SpoutSender.exe you’ll something similar to this:
The sender name can be set by going to File > Sender Name. Enter the name you want to use; here we use ‘test1’ as an example sender name:
This name now shows in the sending window:
Adding to the Delta Timeline
Open DeltaServer and DeltaGUI. From the Capture tab of the Resources window, drag the Spout resource onto the timeline. Double-click the timeline resource, and select the Timeline tab, to add the sender name you set above (test1) as the SpoutID:
Shared Memory mode is not recommended because is it quite slow. If you are using Shared Memory mode, you will want to enable that mode in the resource. If you’re using texture memory, then it should be left disabled.
Once you click Apply, the capture resource will receive the video from your specified Spout instance, and the Delta playback window will match the Spout output: