Installation and Accessing the App
OpenRV Web is a browser-based VFX image and video review tool that requires no installation for end users. It runs entirely in the browser with no server-side processing. There are two ways to access it: via the hosted live demo or by self-hosting a local instance.
Live Demo
The fastest way to start using OpenRV Web is through the hosted version:
https://lifeart.github.io/openrv-web
Open this URL in a supported browser (Chrome, Firefox, Safari, or Edge) and begin reviewing media immediately. No account or installation is required. All processing happens locally in the browser -- files never leave the machine.
Self-Hosting
For studios, teams, or individuals who prefer to host their own instance, OpenRV Web can be built and deployed as a static website.
Prerequisites
Before building OpenRV Web, ensure the following tools are installed:
- Node.js 18 or later -- download from nodejs.org
- pnpm package manager -- install via
npm install -g pnpm - Git -- for cloning the repository
Clone and Install
Open a terminal and run the following commands:
# Clone the repository
git clone https://github.com/lifeart/openrv-web.git
cd openrv-web
# Install dependencies
pnpm installDevelopment Server
To start a local development server with hot module replacement:
pnpm devThe server starts on http://localhost:5173 by default. Open this URL in a browser to use OpenRV Web locally. Changes to source files are reflected immediately without a full page reload.
Production Build
To create an optimized production build:
pnpm buildThis generates static files in the dist/ directory. The build process minifies JavaScript, optimizes assets, and bundles WebAssembly modules for EXR, JPEG XL, JPEG 2000, HEIC, and OCIO decoding.
To preview the production build locally:
pnpm previewDeploying to a Web Server
The production build output in dist/ is a collection of static files (HTML, JavaScript, CSS, WASM) that can be served by any web server. No server-side runtime is required.
Static File Hosting
Copy the contents of dist/ to any static file hosting service:
- GitHub Pages -- the official demo uses this approach via GitHub Actions
- Netlify, Vercel, or Cloudflare Pages -- drag and drop the
dist/folder - nginx or Apache -- serve the
dist/directory as the document root - Amazon S3 + CloudFront -- upload files to an S3 bucket with CloudFront distribution
MIME Type Configuration
Ensure the web server serves WebAssembly files with the correct MIME type. If .wasm files fail to load, add the following MIME type mapping to the server configuration:
application/wasm wasmHTTPS Recommendation
Some browser APIs used by OpenRV Web (such as WebCodecs for video decoding, clipboard access, and the Fullscreen API) require a secure context. Serve the application over HTTPS in production to ensure all features work correctly.
Cross-Origin Headers
If loading media from external origins (e.g., a CDN or separate media server), ensure those servers include appropriate CORS headers:
Access-Control-Allow-Origin: *Without CORS headers, the browser blocks cross-origin media loading and audio extraction.
Environment Variables
OpenRV Web supports optional configuration through Vite environment variables:
| Variable | Purpose |
|---|---|
VITE_NETWORK_SIGNALING_SERVERS | Custom WebSocket signaling server URLs for collaborative review sessions |
Set these in a .env file at the project root before building.
Verifying the Installation
After deploying, verify that the application loads correctly:
- Open the URL in a supported browser
- Confirm the viewer interface appears with the header bar, timeline, and canvas area
- Drag and drop an image or video file onto the viewer
- Verify playback controls respond to keyboard shortcuts (
Spaceto play/pause)
If any issues arise, consult the Troubleshooting guide.
Related Pages
- Browser Requirements -- minimum browser versions and required APIs
- Quick Start -- load media and use basic controls
- Troubleshooting -- resolve common setup issues