React Native View Recorder

Overview

React Native library for recording any view to video, with native hardware-accelerated encoding pipelines on iOS and Android. Supports Skia and programmatic audio mixing.

REC

Capture any View

Record a specific view to MP4, not the entire screen. Wrap content in RecordingView and call record().

REC

Skia Views Too

Record @shopify/react-native-skia canvases with the same RecordingView. No special setup needed.

0
1
2
3
4
5

Frame-by-Frame Control

Async onFrame callback lets you update content between each capture. Drive animations programmatically.

Supports Audio

Add your own audio file, or mix audio programmatically.

Overview

React Native View Recorder is a library designed to record any React Native view, not just the screen of the app. This is achieved through native hardware-accelerated encoding pipelines on both iOS and Android, without relying on FFmpeg or any GPL-licensed components.

It's great for providing your users with the ability to export videos from your app, whether it's a summary to share, a replay of a game, or a recording of their own animations/creations.

It supports Skia! This enables many more use cases. Just wrap your Skia canvas in RecordingView like any other view. See the Skia guide for details.

It also supports audio: mux any audio file (WAV, MP3, AAC, M4A) into your video natively, or use a per-frame callback for synthesized audio. No permissions required.

There are no bundled binaries, no FFmpeg, and no GPL/LGPL concerns. This library is fully MIT licensed.

Platform requirements

PlatformMinimum version
iOS13.0
AndroidSDK 26 (8.0)

On this page