Streaming Technology#

The streaming service of Omniverse on DGX Cloud (OVC) leverages the power of WebRTC, which extends the conventional client-server model by introducing a peer-to-peer communication paradigm using a web browser.

When users initiate a web stream through either the user portal or the public streaming API service, OVC redirects their browser into the web streaming client while passing connection details. These details include:

  • A Fully Qualified Domain Name (FQDN) for the signaling and media server

  • An encrypted session ID

The web streaming client then utilizes the FQDN and session ID to establish secure streaming.

Architecture of OVC Streaming service

The diagram above illustrates this process. Upon the initiation of a Kit-based application container within an NVIDIA OVX node, the streamSDK library embedded in this application launches signaling and media servers, exposing them to the node. Subsequently, our streaming control services map the IP Address and ports of these servers to our reverse proxy in order to allow users to access these services.

Our reverse proxy combines two distinct techniques to streamline the user consumption of these services.

First it uses HA Proxy in order to ensure a secure connection for signaling servers via a single TCP Port of 48322. This involves embedding a unique session ID within the secure websocket header. This identification mechanism empowers HA Proxy to accurately route each request to its corresponding backend, maintaining a robust and efficient communication channel.

Second, we leverage Linux iptables for the efficient proxying of UDP-based media ports. This technique involves populating an array of backend ports (ranging from 30000 to 32767) and backend IPs during the initialization of the reverse proxy. While the signaling server proxying relies on a single TCP port, OVC directly exposes multiple UDP ports within the range of 10500 to 20000 to clients.

The transmission of media data, in conjunction with the monitoring of transmission statistics associated with data streams via the RTP Control Protocol (RTCP), is facilitated through the Secure Real-time Transport Protocol (SRTP). This protocol works in tandem with DTLS for SRTP key and association management, enhancing the security and integrity of the transmitted data.