RVE LogoReact Video EditorDOCS
RVE SDK/Rendering/Rendering/Client Side Rendering/Introduction

Introduction

Client-side rendering in the browser using WebCodecs

Client-Side Rendering (Browser Export) — Default

Client-side rendering is the default rendering mode in the RVE SDK. Users can export videos directly in their browser — no server infrastructure required. Under the hood, the SDK uses @remotion/web-renderer to encode video using the browser's built-in WebCodecs API.

This is enabled automatically when you use the SDK without providing a customRenderer. There are no API routes to implement, no servers to manage, and no cloud configuration. The video is rendered frame-by-frame in the browser and downloaded as an MP4 when complete.


When to Use Client-Side Rendering

Client-side rendering is the default — you're already using it if you haven't configured a customRenderer. It's ideal for:

  • Getting started - works out of the box with zero setup
  • Local-first apps - no server costs or infrastructure to maintain
  • Prototyping and demos - ship a working export immediately
  • Light to medium workloads - most use cases work well client-side

Still confused?

Think of client-side rendering like editing a photo in your browser and hitting "Save As" - the processing happens right on your device. No uploads, no servers, no waiting for a cloud job. The tradeoff is that rendering speed depends on the user's hardware, and some advanced features aren't available in this mode.


Browser Requirements

Client-side rendering requires a browser that supports the WebCodecs API. If a user's browser does not support it, the editor shows a dialog that recommends a supported browser. You can also connect RVE Cloud Rendering so the render does not depend on browser support.

BrowserSupported
Chrome 94+Yes
Edge 94+Yes
FirefoxNo
SafariNo

Browser compatibility

WebCodecs is not supported in all browsers. If your users need a server path, use RVE Cloud Rendering. Use SSR or Lambda when your team must own the infrastructure.


Feature Limitations

When browser export is active, the editor hides some controls because the browser export cannot draw them:

  • Green screen removal: the control is hidden on video items, and the AI tab is hidden on image items.
  • Media padding: the padding controls are hidden on video and image items.
  • Audio fades: the Fade in and Fade out sliders are hidden on sound items.

The blur keyframe applies only to text and shapes. The browser export cannot draw blur correctly on images and videos, so blur is not available for them.

Animations, 3D layouts, keyframes, and caption word highlights work in browser export.


Export Waits for Media

Before the browser export draws a frame, it waits for fonts, Lottie animations, and video frames to load. Thus the first frames can take more time than the frames after them.


How It Works

User clicks "Export Video"
       │
       ▼
Browser checks WebCodecs support
  - Unsupported: shows browser dialog
  - Supported: continues
       │
       ▼
renderMediaOnWeb() renders each frame
  - Uses hardware acceleration when available
  - Waits for fonts, Lottie, and video
  - Shows a progress bar to the user
       │
       ▼
Render complete, MP4 blob created
  - Downloads automatically to the user's device

CSR vs Server Rendering

Browser rendering is the default. Use RVE Cloud Rendering when you need broad browser support, long videos, automation, or high-volume production work.

BrowserRVE Cloud RenderingSelf-managed SSR or Lambda
Where it runsUser's browserRVE Cloud in your selected regionYour infrastructure
Server setupNoneSecure proxy routesFull render infrastructure
Best forGetting started and light useProduction, batches, and high volumeFull infrastructure control
Browser supportChrome and EdgeAnyAny

Next Steps