A JavaScript library for playing DASH and Smooth Streaming video with HTML5 Media Source Extensions, designed as a configurable core player engine.
RxPlayer is a JavaScript library that implements a DASH and Smooth Streaming media player for browsers using HTML5 Media Source Extensions and Encrypted Media Extensions. It acts as a core 'engine' for adaptive streaming, handling complex scenarios like multiple DRM keys, subtitle formats, and multi-threaded playback while developers provide the user interface. It solves the problem of building robust, configurable video players for modern streaming protocols.
Frontend developers and media engineers building custom video players for streaming services, especially those requiring support for DASH, Smooth Streaming, advanced DRM, and cross-device compatibility.
Developers choose RxPlayer for its production-tested reliability across diverse devices, highly configurable API, and ability to handle complex streaming scenarios like multi-DRM and adaptive bitrate switching without blocking the main application thread.
DASH/Smooth HTML5 Video Player
Built for Canal+'s diverse device ecosystem, from low-end set-top boxes to high-end computers, ensuring robust performance in real-world streaming scenarios.
Offers granular control over player behavior, DRM handling, and adaptive streaming algorithms, as detailed in the extensive API documentation with tutorials for quick start-up.
Core logic can run in a separate thread, preventing the player from blocking the main application and vice-versa, which enhances UI responsiveness for complex integrations.
Handles multiple DRM keys, fallback mechanisms, and persistent licenses, addressing complex encryption requirements common in premium streaming services.
As a non-UI engine, developers must build custom interfaces from scratch, increasing initial development time and effort compared to full-featured players like video.js.
HLS is only supported in 'directfile' mode on compatible browsers, which may not suffice for all HLS-based streaming needs without additional workarounds or native fallbacks.
The extensive configurability and advanced features, such as segment scheduling and DRM fallbacks, can be overwhelming for developers new to adaptive streaming or with simpler requirements.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.