I am trying to test local livestreaming via WebRTC in Omniverse Composer. I use kit version 107.2.0-rc.2+feature.1698.259b628f.gl. I have successfully enabled the following extensions:
omni.kit.livestream.webrtc
omni.kit.livestream.core
omni.services.transport.server.http
The Problem: When I start the application and navigate to http://127.0.0.1:8111/), I receive a {“detail”:“Not Found”} JSON response.
This indicates that the HTTP server is running on the specified port, but the static files for the WebRTC client are missing or the endpoint path is different in this version. I cannot find the omni.kit.livestream.app extension in the Extension Manager to provide the frontend files.
Could you please clarify or identify which extension provides the frontend files if omni.kit.livestream.app is unavailable? Or maybe I am going the wrong way?
In general, I’m looking for a solution for streaming to a web page with the ability to rotate objects, move them, and click buttons in the viewport from the browser page. Is this even possible?
Hi there and thanks for posting. Ok, so first you are using an old version. 107, has been surpassed by 108, and 109 and we are getting ready for 110. So I would advice upgrading. It is always best to get the latest version.
The workflow is completely different. You just build a fresh new template from 109, and when it asks you about USD Composer or USD Viewer, and it asks you about adding an “application layer”, you say yes, and it add a specific streaming kit file as a “layer” on top of the basic kit file, containing the web streaming extensions.
Then you install this “web sample viewer” to connect to the ports that are hard coded into the kit file.
Here is an older video, showing the workflow with kit 106.5. It is still valid except you do not need the -d option.
Thanks, the solution works =) As I understand it, it only works with 1 user. What if I need several people to be able to use the web page and a new instance of Omniverse Composer should be launched for each user. Is this even possible? If so, what should I use?
Yes it is possible, but not really practical through this basic method. You would need to talk to NVIDIA Enterprise Sales about setting up a dedicated on demand streaming solution. This basic streaming code, just works for one user. Not multiple. There are several Enterprise solutions for wide streaming and multiple users.
Another option you could consider are the “Omniverse Kit App Streaming APIs” which use Kubernetes to manage multiple streams: Overview — Kit App Streaming