# brentvatne/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/brentvatne-react-native-video).**

7,694 stars · 3,029 forks · Kotlin · MIT

## Links

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

## Description

react-native-video is a cross-platform mobile video player component for applications that requires the ability to render local files and streaming media. It provides a specialized client for adaptive media streaming, adjusting video quality based on real-time network conditions.

The project includes a DRM protected video player that secures and decrypts video assets using digital rights management standards. It also features a picture-in-picture video component that allows content to be detached into a floating window for multitasking on mobile devices.

The library covers offline video playback management, allowing the download of video files and captions to local storage. Additional capabilities include chapter marker navigation, playback buffering management, and background file upload services.

## Tags

### Graphics & Multimedia

- [Cross-Platform Media Players](https://awesome-repositories.com/f/graphics-multimedia/cross-platform-media-players.md) — Provides a cross-platform media player experience by wrapping native iOS AVPlayer and Android ExoPlayer.
- [Video Renderers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/3d-graphics-pipelines/scene-renderers/high-quality-scene-rendering/high-dynamic-range-rendering/video-renderers.md) — Provides video renderers that utilize native hardware acceleration to play local and streaming media. ([source](https://github.com/brentvatne/react-native-video#readme))
- [Adaptive Streaming Players](https://awesome-repositories.com/f/graphics-multimedia/media-players/adaptive-streaming-players.md) — Acts as an adaptive streaming player that adjusts quality based on real-time network conditions.
- [Media Streaming](https://awesome-repositories.com/f/graphics-multimedia/streaming-distribution/streaming-broadcasting/media-streaming.md) — Supports adaptive media streaming that optimizes video quality based on network throughput. ([source](https://github.com/brentvatne/react-native-video#readme))
- [DRM Integration](https://awesome-repositories.com/f/graphics-multimedia/video-production/video-players/drm-integration.md) — Integrates with native DRM modules to securely decrypt and play protected media content.
- [Media Buffer Managers](https://awesome-repositories.com/f/graphics-multimedia/media-buffer-managers.md) — Includes media buffer managers to control loading and clearing of video data for smooth playback. ([source](https://github.com/brentvatne/react-native-video#readme))
- [Offline Playback Management](https://awesome-repositories.com/f/graphics-multimedia/offline-playback-management.md) — Provides mechanisms to download video files and captions to local storage for playback without an internet connection.
- [Playback Buffering Management](https://awesome-repositories.com/f/graphics-multimedia/playback-buffering-management.md) — Controls media caching and pre-fetching within the native player to prevent playback stuttering during streaming.
- [Video Downloaders](https://awesome-repositories.com/f/graphics-multimedia/video-downloaders.md) — Provides capabilities for downloading online video content into local files for offline access.

### Part of an Awesome List

- [Video Playback](https://awesome-repositories.com/f/awesome-lists/media/video-playback.md) — Provides a comprehensive library for playing local and streaming video content in mobile applications.
- [Adaptive Bitrate Optimization](https://awesome-repositories.com/f/awesome-lists/media/video-transmission/adaptive-bitrate-optimization.md) — Implements adaptive bitrate optimization to automatically adjust video quality based on real-time network conditions.
- [Offline Playback Support](https://awesome-repositories.com/f/awesome-lists/media/video-playback/offline-playback-support.md) — Enables offline playback by downloading video files and captions to local storage. ([source](https://github.com/brentvatne/react-native-video#readme))
- [Media & Multimedia](https://awesome-repositories.com/f/awesome-lists/media/media-multimedia.md) — Video playback component.

### Security & Cryptography

- [Digital Rights Management](https://awesome-repositories.com/f/security-cryptography/digital-rights-management.md) — Implements digital rights management to protect streaming video assets via standard encryption.

### User Interface & Experience

- [Native Rendering Bridges](https://awesome-repositories.com/f/user-interface-experience/native-rendering-bridges.md) — Maps React components to native video players on iOS and Android via a native rendering bridge.
- [Picture-in-Picture Interfaces](https://awesome-repositories.com/f/user-interface-experience/picture-in-picture-interfaces.md) — Ships a picture-in-picture mode that detaches the video player into a floating window for multitasking. ([source](https://github.com/brentvatne/react-native-video#readme))
