Skip to content

TheWidlarzGroup/react-native-video

Repository files navigation

React Native Video Component

The most battle-tested open-source video player component for React Native with support for DRM, offline playback, HLS/DASH streaming, and more.

🔍 Features

  • 📱 Plays all video formats natively supported by iOS/Android
  • ▶️ Local and remote playback
  • 🔁 Streaming: HLS • DASH • SmoothStreaming
  • 🔐 DRM: Widevine & FairPlay (See free DRM stream example)
  • 📴 Offline playback, video download, support for side-tracks and side-captions (via optional SDK)
  • 🎚️ Fine-grained control over tracks, buffering & events
  • 🧩 Expo plugin support
  • 🌐 Basic Web Support
  • 📱 Picture in Picture
  • 📺 TV Support

✨ Project Status

Version State Architecture
v5 and lower ❌ End-of-life Commercial Support Available Old Architecture
v6 🛠 Maintained (community + TWG) Old + New (Interop Layer)
v7 🚀 Active Development Old + New (Full Support)

react-native-video v7 introduces full support for the new React Native architecture, unlocking better performance, improved consistency, and modern native modules.


📚 Documentation & Examples

🚀 Quick Start

Install

# Install dependencies
yarn add react-native-video

# Install pods
cd ios && pod install

Usage

import Video from 'react-native-video';

export default () => (
  <Video
    source={{ uri: 'https://www.w3schools.com/html/mov_bbb.mp4' }}
    style={{ width: '100%', aspectRatio: 16 / 9 }}
    controls
  />
);

🧩 Plugins

Offline SDK Preview

1 · 📥 Offline SDK

Enable offline streaming with full control over downloads, license lifecycle, secure storage, and media access.

  • Track selection (bitrate, audio, subtitles)
  • Pause / resume & background queueing
  • Expiration & auto-cleanup
  • Built for Android & iOS
  • Read the SDK Docs

2 · 🧪 Architecture

Write your own plugins to extend library logic, attach analytics or add custom workflows - without forking the core SDK.
Plugin documentation


💼 TWG Services & Products

Offering Description
Professional Support Packages Priority bug-fixes, guaranteed SLAs, roadmap influence
Issue Booster Fast-track urgent fixes with a pay‑per‑issue model
Offline Video SDK Plug‑and‑play secure download solution for iOS & Android
Integration Support Hands‑on help integrating video, DRM & offline into your app
Free DRM Token Generator Generate Widevine / FairPlay tokens for testing
Ready Boilerplates Ready-to-use apps with offline HLS/DASH DRM, video frame scrubbing, TikTok-style video feed, background uploads, Skia-based frame processor (R&D phase), and more
React Native Video Upgrade Guide Common upgrade pitfalls & how to solve them

See how TWG helped Learnn ship a world‑class player in record time - case study.

Contact us at [email protected]

🌍 Social

📰 Community & Media

  • 🗽 React Summit US – How TWG helped Learnn boost video performance on React Native.
    Watch the talk »

  • 🧨 v7 deep dive – Why we’re building v7 with Nitro Modules Watch on X »

  • 🛠️ Well-maintained open-source library - What does it truly mean? - Bart's talk for React Native Warsaw Watch here »

  • 📺 “Over the Top” Panel - Building Streaming Apps for Mobile, Web, and Smart TVs - Bart giving his insights on the industry Watch here »

About

A <Video /> component for react-native

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 326