Shaka Player is an open-source JavaScript library designed to play adaptive media formats including DASH and HLS directly in web browsers without requiring plugins or Flash. The library leverages modern web standards such as MediaSource Extensions and Encrypted Media Extensions to deliver adaptive bitrate streaming capabilities. It also supports offline storage and playback of media using IndexedDB, with license storage depending on individual browser capabilities.
The repository demonstrates significant community engagement and maintenance activity. The repository shares contributors with major projects including Microsoft's VSCode and TypeScript, as well as the Rust language project.
Shaka Player supports an extensive platform matrix covering desktop browsers including Chrome, Firefox, Edge, and Safari across Windows, Mac, and Linux. Mobile support extends to Android and iOS devices, with native playback support on iOS 9 and later. The library also supports specialized platforms including Chromecast, Tizen TV, WebOS, Hisense, Vizio, Xbox One, PlayStation 4 and 5, Titan OS, and TiVo OS, though many of these are community-supported rather than actively tested by the core team.
For DASH content, Shaka Player supports VOD, Live, and In-Progress Recordings with features including multi-period content, Xlink elements, various segment index formats, multi-codec manifests, encrypted content with key rotation, trick mode tracks, WebVTT and TTML subtitles, CEA-608/708 captions, and MPD chaining.
The library includes experimental support for MOQT streaming format with draft-14 and draft-16 compliance, supporting audio, video, and text with adaptive bitrate and DRM capabilities. It also provides MPEG-5 Part2 LCEVC decoding support on browsers with Media Source Extensions SourceBuffer support. The design philosophy emphasizes keeping the library lightweight, simple, and free from third-party dependencies, with all necessary build and deployment resources included in the source code. The project maintains multiple active branches with documented maintenance schedules and provides a development roadmap for future enhancements.