Streaming Settings for Configurators
This content will guide you through the process of customizing the streaming settings for your 3D product configurator. Alternatively, you may choose to use the omni.usd_composer.streaming.bat.zip file from the Configurator Sample Instructions.
Allow React App to Set Render Resolution of Streamed Kit App
The Kit App’s default application window size is 1920x1080 pixels by default. A React App (or other client) can request the Kit App to use a different size.
To enable the size to be dynamic, the Kit App should be launched with argument
--/app/livestream/allowResize=1:
omni.create.bat --/app/livestream/allowResize=1
The React App’s AppStream.jsx
sets the resolution in the below section. Here we request 3840x2160:
// Pack the local-specific config.
const server = this.props.streamConfig.server;
const width = 3840;
const height = 2160;
const fps = 60;
const url =
`server=${server}&resolution=${width}:${height}&fps=${fps}&mic=0&cursor=free&autolaunch=true`
Run the App Headless
To run the Kit App headless, use –no-window argument:
omni.create.bat --no-window
Enable Streaming and Messaging at Startup
omni.kit.livestream.webrtc
and omni.kit.livestream.messaging
provides streaming and messaging capabilities. There is also a performance improvement that can be used via the --/app/livestream/skipCapture=1
argument. Here is how to enable them at startup:
omni.create.bat --enable omni.kit.livestream.webrtc --enable omni.kit.livestream.messaging --/app/livestream/skipCapture=1
Enable Action Graph’s Script Node Extension
The Script Node allows creating additional Action Graph functionality when there is no time to develop additional Action Graph nodes. Enabling the Extension causes a security warning to be displayed by default. To hide this warning, you can add the below launch arguments. Be careful to only load USD Stages that have known Script Nodes. Script nodes are free to execute any Python code.
omni.create.bat --/app/omni.graph.scriptnode/enable_opt_in=false --enable omni.graph.scriptnode
Fabric Delegate
Using Fabric Scene Delegate can improve the performance of the interactive experience. To turn it on via a launch argument:
omni.create.bat --/app/useFabricSceneDelegate=true
Summary
The above arguments can be combined in various ways depending on needs; for example:
omni.create.bat --/app/livestream/allowResize=1 --no-window --enable omni.kit.livestream.webrtc --enable omni.kit.livestream.messaging --/app/livestream/skipCapture=1
➤ Next Steps: Add a React Component to your Configurator