# thewidlarzgroup/react-native-video

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/thewidlarzgroup-react-native-video).**

7,698 stars · 3,028 forks · Kotlin · MIT

## Links

- GitHub: https://github.com/TheWidlarzGroup/react-native-video
- Homepage: https://docs.thewidlarzgroup.com/react-native-video/
- awesome-repositories: https://awesome-repositories.com/repository/thewidlarzgroup-react-native-video.md

## Description

react-native-video is a cross-platform video player component for React Native that enables the playback of local and remote video files using native platform decoders. It functions as an adaptive streaming player supporting HLS, DASH, and SmoothStreaming formats with automatic bitrate selection and quality adaptation.

The project is distinguished by its support for industry-standard digital rights management, including Widevine, FairPlay, and PlayReady, and a plugin-based architecture that allows for the injection of custom analytics or playback logic without modifying the core library. It also includes native picture-in-picture capabilities to maintain playback in a floating overlay and specialized rendering and focus management for television platforms.

The capability surface extends to offline video management, allowing the download of encrypted streams, subtitle tracks, and audio tracks for playback without an internet connection. It provides programmatic control over playback events and supports background video uploads with retry logic and progress tracking.

## Tags

### Graphics & Multimedia

- [Cross-Platform Video Playback](https://awesome-repositories.com/f/graphics-multimedia/cross-platform-video-playback.md) — Plays local and remote video files across iOS, Android, and Web using a single unified interface. ([source](https://docs.thewidlarzgroup.com/react-native-video/))
- [Adaptive Stream Players](https://awesome-repositories.com/f/graphics-multimedia/media-players/adaptive-streaming-players/adaptive-bitrate-streaming/adaptive-stream-players.md) — Provides an adaptive streaming player for HLS and DASH content with automatic quality adjustment.
- [Adaptive Streaming Players](https://awesome-repositories.com/f/graphics-multimedia/adaptive-streaming-players.md) — Provides an adaptive streaming player supporting HLS, DASH, and SmoothStreaming with automatic quality adaptation.
- [Media Playback Controls](https://awesome-repositories.com/f/graphics-multimedia/media-playback-controls.md) — Provides programmatic control over video tracks, buffering behavior, and playback events through a component interface. ([source](https://cdn.jsdelivr.net/gh/thewidlarzgroup/react-native-video@master/README.md))
- [Adaptive Streaming Players](https://awesome-repositories.com/f/graphics-multimedia/media-players/adaptive-streaming-players.md) — Functions as an adaptive streaming player supporting HLS, DASH, and SmoothStreaming with automatic bitrate selection.
- [DRM-Protected Adaptive Streaming](https://awesome-repositories.com/f/graphics-multimedia/media-players/adaptive-streaming-players/adaptive-bitrate-streaming/adaptive-stream-players/drm-protected-adaptive-streaming.md) — Streams HLS, DASH, and SmoothStreaming content with automatic quality adaptation and Widevine, FairPlay, or PlayReady decryption.
- [Plugin-Based Architectures](https://awesome-repositories.com/f/graphics-multimedia/media-players/plugin-based-architectures.md) — Uses a plugin-based architecture to allow custom logic injection into the video playback pipeline.
- [Video Content](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/graphics-media-assets/media-assets/video-content.md) — Renders local and remote video files and streams across multiple platforms using native platform decoders. ([source](https://cdn.jsdelivr.net/gh/thewidlarzgroup/react-native-video@master/README.md))
- [Media Track Selectors](https://awesome-repositories.com/f/graphics-multimedia/media-track-selectors.md) — Allows switching between multiple audio tracks and subtitle formats during playback to support different languages. ([source](https://docs.thewidlarzgroup.com/react-native-video/))
- [DRM Persistence](https://awesome-repositories.com/f/graphics-multimedia/offline-playback-management/server-transcoded-offline-downloaders/drm-persistence.md) — Enables offline playback of encrypted video by persisting decryption keys and media tracks.
- [DRM Content Playback](https://awesome-repositories.com/f/graphics-multimedia/play-queue-orderings/drm-content-playback.md) — Supports the decryption and playback of secured video streams using industry-standard digital rights management. ([source](https://cdn.jsdelivr.net/gh/thewidlarzgroup/react-native-video@master/README.md))
- [Video Playback Components](https://awesome-repositories.com/f/graphics-multimedia/video-playback-components.md) — Offers a cross-platform video playback component using native platform decoders for iOS, Android, and Web.
- [DRM-Enabled Players](https://awesome-repositories.com/f/graphics-multimedia/video-production/video-players/drm-enabled-players.md) — Provides a media player that decrypts and plays secured video streams using Widevine, FairPlay, and PlayReady.
- [DRM Integration](https://awesome-repositories.com/f/graphics-multimedia/video-production/video-players/drm-integration.md) — Integrates with decryption systems to secure video streams and prevent unauthorized distribution of copyrighted media.
- [DRM-Protected Players](https://awesome-repositories.com/f/graphics-multimedia/video-production/video-players/drm-protected-players.md) — Provides a video player that decrypts and plays secured streams using Widevine, FairPlay, and PlayReady standards.
- [TV-Optimized Components](https://awesome-repositories.com/f/graphics-multimedia/media-players/adaptive-streaming-players/dash-live-tv-players/tv-optimized-components.md) — Renders video on television platforms with specialized remote control navigation and focus management.
- [Offline Playback Management](https://awesome-repositories.com/f/graphics-multimedia/offline-playback-management.md) — Downloads and manages adaptive streams with multi-language audio and subtitles for offline viewing. ([source](https://cdn.jsdelivr.net/gh/thewidlarzgroup/react-native-video@master/README.md))
- [Adaptive Stream Offline Storage](https://awesome-repositories.com/f/graphics-multimedia/offline-playback-management/server-transcoded-offline-downloaders/adaptive-stream-offline-storage.md) — Allows downloading HLS streams with multi-language audio and subtitles, including DRM-protected content, for offline use.
- [TV Interaction Management](https://awesome-repositories.com/f/graphics-multimedia/tv-device-rendering/tv-interaction-management.md) — Renders video content on television platforms with specialized remote control navigation and directional focus management. ([source](https://cdn.jsdelivr.net/gh/thewidlarzgroup/react-native-video@master/README.md))
- [Multi-Track Video Downloaders](https://awesome-repositories.com/f/graphics-multimedia/video-downloaders/bilibili-video-downloads/multi-track-video-downloaders.md) — Enables downloading multiple subtitle and audio tracks alongside the video stream for offline playback. ([source](https://docs.thewidlarzgroup.com/offline-video-sdk))
- [TV-Optimized Playback Engines](https://awesome-repositories.com/f/graphics-multimedia/video-production/video-players/tv-optimized-playback-engines.md) — Provides video playback components optimized for television hardware and big-screen interfaces.

### Mobile Development

- [React Native Video Players](https://awesome-repositories.com/f/mobile-development/react-native-video-players.md) — Acts as a comprehensive video player component for React Native with adaptive bitrate and DRM support.
- [Native API Bridges](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-platform-integrations/native-platform-access/native-api-bridges.md) — Bridges JavaScript playback commands to native platform decoders through a thin abstraction layer.
- [Mobile Video Player Development](https://awesome-repositories.com/f/mobile-development/mobile-video-player-development.md) — Serves as a cross-platform component for creating video playback experiences on mobile operating systems.
- [React Native Components](https://awesome-repositories.com/f/mobile-development/react-native-ecosystem/react-native-components.md) — Provides a highly extensible React Native component for video playback via a plugin system.

### Part of an Awesome List

- [Video Playback](https://awesome-repositories.com/f/awesome-lists/media/video-playback.md) — Plays local and remote video files using native platform decoders for broad format support. ([source](https://cdn.jsdelivr.net/gh/thewidlarzgroup/react-native-video@master/README.md))
- [Offline Playback Support](https://awesome-repositories.com/f/awesome-lists/media/video-playback/offline-playback-support.md) — Stores encrypted video streams and decryption keys locally to enable playback without an internet connection.

### Development Tools & Productivity

- [Extensible Media Players](https://awesome-repositories.com/f/development-tools-productivity/extensible-media-players.md) — Implements a plugin-based architecture for extending player behavior with custom analytics and playback logic.
- [Remote Control Navigation](https://awesome-repositories.com/f/development-tools-productivity/window-managers/element-focus-controllers/remote-control-navigation.md) — Implements directional focus management and remote control input handling for television platforms.

### Security & Cryptography

- [Digital Rights Management](https://awesome-repositories.com/f/security-cryptography/digital-rights-management.md) — Implements industry-standard digital rights management to protect copyrighted content and restrict unauthorized access. ([source](https://cdn.jsdelivr.net/gh/thewidlarzgroup/react-native-video@master/README.md))
- [DRM Encryption Schemes](https://awesome-repositories.com/f/security-cryptography/privacy-data-protection/data-encryption/end-to-end-encryption/media-encryption/drm-encryption-schemes.md) — Uses industry-standard DRM encryption schemes to protect video streams and prevent unauthorized distribution. ([source](https://docs.thewidlarzgroup.com/react-native-video/))
- [Custom DRM Providers](https://awesome-repositories.com/f/security-cryptography/digital-rights-management/custom-drm-providers.md) — Allows implementation of custom rights managers through a plugin system for integration with specific DRM providers. ([source](https://docs.thewidlarzgroup.com/react-native-video/docs/v6/other/plugin))
- [DRM Manager Implementations](https://awesome-repositories.com/f/security-cryptography/identity-based-access-control/credential-based-access-controls/custom-credential-providers/drm-manager-implementations.md) — Enables the replacement of the default rights handler with custom logic for specific provider integrations. ([source](https://docs.thewidlarzgroup.com/react-native-video/docs/v6/other/plugin))

### Content Management & Publishing

- [DRM Content Downloaders](https://awesome-repositories.com/f/content-management-publishing/community-content-feeds/community-content-downloaders/restricted-content-downloaders/drm-content-downloaders.md) — Enables downloading encrypted video and persisting decryption keys to allow protected content playback offline. ([source](https://docs.thewidlarzgroup.com/offline-video-sdk))

### Networking & Communication

- [Supplemental Track Downloaders](https://awesome-repositories.com/f/networking-communication/remote-file-downloads/progress-tracking-file-downloads/telegram-media-downloads/supplemental-track-downloaders.md) — Provides the ability to save multiple subtitle and audio tracks associated with a video stream for offline use. ([source](https://docs.thewidlarzgroup.com/offline-video-sdk))

### Software Engineering & Architecture

- [Plugin Extenders](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/developer-authoring-interfaces/custom-module-implementations/module-functionality-extenders/plugin-extenders.md) — Allows the integration of custom logic for analytics and workflows without forking the core library. ([source](https://cdn.jsdelivr.net/gh/thewidlarzgroup/react-native-video@master/README.md))
- [Player Behavior Extenders](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/developer-authoring-interfaces/custom-module-implementations/module-functionality-extenders/plugin-extenders/player-behavior-extenders.md) — Enables the addition of custom analytics and playback modifications via a plugin system. ([source](https://cdn.jsdelivr.net/gh/thewidlarzgroup/react-native-video@master/README.md))

### System Administration & Monitoring

- [Media Player Analytics](https://awesome-repositories.com/f/system-administration-monitoring/media-player-analytics.md) — Provides type-safe plugin interfaces to connect native analytics systems for monitoring video playback behavior. ([source](https://docs.thewidlarzgroup.com/react-native-video/docs/v6/other/plugin))

### User Interface & Experience

- [Component Lifecycle Controllers](https://awesome-repositories.com/f/user-interface-experience/component-lifecycle-controllers.md) — Synchronizes React component states with native player events to control video playback lifecycles.
- [Picture-in-Picture Interfaces](https://awesome-repositories.com/f/user-interface-experience/picture-in-picture-interfaces.md) — Interfaces with native system APIs to maintain video playback in a floating picture-in-picture overlay.
- [Playback Controls](https://awesome-repositories.com/f/user-interface-experience/playback-controllers/playback-automation/playback-controls.md) — Exposes a React component interface for managing video playback state and control methods.
- [TV Remote and Gesture Controls](https://awesome-repositories.com/f/user-interface-experience/tv-remote-and-gesture-controls.md) — Supports television platforms with specialized remote control navigation and directional focus management.
- [TV Navigation Interfaces](https://awesome-repositories.com/f/user-interface-experience/video-players/tv-navigation-interfaces.md) — Adapts rendering and remote control input handling for television platforms with directional focus management.
