Web Development

../../_images/ovas_api_banner_thin.png

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:

  1. Find (or verify) the Application and ApplicationVersion you want to stream.

  2. Find (or verify) an appropriate ApplicationProfile. 1

  3. Create the stream.

  4. Connect to the streaming Kit Application once it is ready.

  5. Disconnect the client from the stream when done.

  6. Terminate the stream when it is no longer required. 2

  • Steps 1-2. require the Application & Profile service.

  • Step 3. requires the Streaming Session service

  • Step 4. uses the client-side omniverse-webrtc-streaming-library to connect to the WebRTC stream from the Kit Application

  • Step 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.