NVIDIA CloudXR.js: Browser-based XR Streaming SDK
NVIDIA CloudXR.js is a JavaScript Client SDK that enables developers to build enterprise web applications for streaming high-performance VR and AR content from the CloudXR Runtime. Built on NVIDIA CloudXR™ technology, this library provides seamless integration between web browsers and remote rendering systems, allowing users to experience immersive 3D applications directly in their browser.
How Immersive Web Streaming with CloudXR.js Works
The SDK offers a complete solution for immersive web (WebXR) streaming, featuring automatic session management, optimized network protocols, and cross-platform compatibility. You can create rich VR/AR experiences that leverage the power of remote servers while maintaining the accessibility and ease of deployment that web applications provide. While we provide examples for WebGL and React Three Fiber implementations, CloudXR.js is a generic solution that integrates with any WebXR-compatible framework, making it suitable for a wide range of use cases, from simple 3D visualizations to complex interactive applications.
The workflow diagram below shows the streaming pipeline utilizing CloudXR.js. In the workflow, an XR headset captures the operator's head and hand motion through the browser's immersive web capabilities. The browser sends this data to the XR application on the server, which renders and submits stereo views to the streaming pipeline. The XR application then encodes and streams the rendered views back to the XR headset for real-time display using a low-latency, GPU-accelerated pipeline.
Robotics and Teleoperations
CloudXR enables remote immersion for humanoid robot training and low-latency operational control in robotics applications.
Digital Twins With Omniverse
Stream Omniverse Enterprise apps immersively to simulate complex industrial spaces with accurate digital twins in real time.
OpenXR Development
Support OpenXR applications with global-level scaling, enabling compatibility across a diverse range of XR devices.
Get Started With CloudXR.js
A CloudXR Runtime server application is needed to work with the CloudXR.js-based client. Below are the core three steps to get an end-to-end sample experience to run.
Download the artifacts from GitHub through git and NGC through Web UI or NGC CLI.
Step 1: Run OpenXR Server Application
# checkout our LOVR sample application git glone https://github.com/NVIDIA/cloudxr-lovr-sample # build and run the server ./run.bat --webrtc
Step 2: Download SDK and Client Sample
ngc registry resource download-version "nvidia/cloudxr-js:6.1.0" git clone https://github.com/NVIDIA/cloudxr-js-samples
Step 3: Build and Run the Web Client
cd simple npm install <path/to/download/sdk/tarball> npm run build npm run dev-server
Starter Kits
Streaming to Quest/Pico
This guide gets you streaming XR content from a server to a client on your local network.
Understanding the Samples
The following documents provide high-level information about the sample web clients built on top of CloudXR.js..
CloudXR.js Learning Library
Get started with CloudXR.js today.