Web Development#

../../_images/ovas_api_banner_thin.png

Developing a client application that can embed a streaming Omniverse Kit App is largely the same as for other streaming envrionments.

If you already have experience embedding Kit App Streaming into your application, you should have no issues doing so with an Omniverse Kit App Streaming instance.

And if you are new to Kit App Streaming, a great way to learn is the Embedded Web Viewer example. It walks you through the process of embedding a streaming Kit App into a web-client using our client libraries. The skills you learn there will directly translate into embedding a stream from a Omniverse Kit App Streaming instance.

Background information

Before diving into how to embed a Omniverse Kit App into your application, it is helpful to understand how an Omniverse Kit App Streaming instance manages Kit Applications.

The Deploying Omniverse Kit Apps guide walks through how Application, ApplicationVersion and ApplicationProfile are used to deploy a Kit App to an instance. These are key concepts you will need to know to integrate your application with an Omniverse Kit App Streaming instance.

The ApplicationProfile determines how a Omniverse Kit App 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 App 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 App 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 App 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 App

  • Step 5. uses the omniverse-webrtc-streaming-library to disconnect from the stream.

  • Step 6. uses the Streaming Session service to terminate the Kit App stream.

Footnotes