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.