Web Development
Developing a client application that can embed a streaming Omniverse Kit Application is largely the same as for other streaming envrionments.
If you already have experience embedding Kit Application Streaming into your application, you should have no issues doing so with an Omniverse Application Streaming API instance.
And if you are new to Kit Application Streaming, a great way to learn is the Embedded Web Viewer example. It walks you through the process of embedding a streaming Kit Application into a web-client using our client libraries. The skills you learn there will directly translate into embedding a stream from a Omniverse Application Streaming API instance.
Background information
Before diving into how to embed a Omniverse Kit Application into your application, it is helpful to undertand how an Omniverse Application Streaming API instance manages Kit Applications.
The Deploying Omniverse Kit Applications guide walks through how Application
, ApplicationVersion
and ApplicationProfile
are used to deploy a Kit Application to an instance. These are key concepts you will need to know to integrate your application with an Omniverse Application Streaming API instance.
The ApplicationProfile
determines how a Omniverse Kit Application will run in the cluster on a GPU Worker Node. Understanding how it specifies the resources that are necessary (e.g., cpu, memory) and the configuration options it can specify will be important for you to know as you have to specify an ApplicationProfile
when requesting a Kit Application stream.
Take the time to read through these, as it is presumed you have a basic understanding, going forward.
Overview
As a web developer wanting to embed a Omniverse Kit Application stream into your application, it is helpful to break it down into these steps:
Find (or verify) the
Application
andApplicationVersion
you want to stream.Find (or verify) an appropriate
ApplicationProfile
. 1Create the stream.
Connect to the streaming Kit Application once it is ready.
Disconnect the client from the stream when done.
Terminate the stream when it is no longer required. 2
Steps 1-2. require the
Application & Profile
service.Step 3. requires the
Streaming Session
serviceStep 4. uses the client-side
omniverse-webrtc-streaming-library
to connect to the WebRTC stream from the Kit ApplicationStep 5. uses the
omniverse-webrtc-streaming-library
to disconnect from the stream.Step 6. uses the
Streaming Session
service to terminate the Kit Application stream.
Footnotes
- 1
The profile must be configured to work with the application and version you want to stream and have the proper configuration for the desired workflow.
- 2
Streams must be explicitly terminated. There is no automatic “garbage collection” of unused or disconnected streams.