npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dash-shaka-playback

v4.1.3

Published

clappr dash playback based on shaka player

Readme

dash-shaka-playback

A clappr playback to play dash based on the amazing shaka-player.

CI npm version License minified size jsDelivr monthly downloads

Breaking change in 5.0.0 — shaka-player is no longer bundled. Every artifact now expects you to provide it. See the migration note below.

Usage

You can use it from JSDelivr:

<script src="https://cdn.jsdelivr.net/npm/@clappr/player@latest/dist/clappr.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/shaka-player@4/dist/shaka-player.compiled.js"></script>
<script src="https://cdn.jsdelivr.net/npm/dash-shaka-playback@5/dist/dash-shaka-playback.min.js"></script>

or as an npm package:

yarn add dash-shaka-playback shaka-player@^4
# or
npm install dash-shaka-playback shaka-player@^4

Which artifact to load

| Scenario | Artifact | |---|---| | <script> / CDN, after @clappr/player (or @clappr/core) and shaka-player | dist/dash-shaka-playback.min.js | | Bundler, CommonJS / UMD entry | dist/dash-shaka-playback.js (package main) | | Bundler, ESM entry | dist/dash-shaka-playback.esm.mjs (package module) |

Migration note (5.0+): Every artifact now expects shaka-player from the page or bundler. If you loaded dash-shaka-playback.min.js with a single script tag, add shaka-player before it. If you aliased the deep path to avoid the bundled copy, remove that entry from your bundler's resolve.alias (webpack) or equivalent (Vite resolve.alias, Rollup alias) — the default entry is external now:

- 'dash-shaka-playback': 'dash-shaka-playback/dist/dash-shaka-playback.external.js',

Then just add DashShakaPlayback into the list of plugins of your player instance:

import Clappr from '@clappr/core'
import DashShakaPlayback from 'dash-shaka-playback'

const player = new Clappr.Player({
  source: '//storage.googleapis.com/shaka-demo-assets/angel-one/dash.mpd',
  plugins: [DashShakaPlayback],
  shakaConfiguration: {
    preferredAudioLanguage: 'pt-BR',
    streaming: { rebufferingGoal: 15 }
  },
  shakaOnBeforeLoad: function (shaka_player) {
    // shaka_player.getNetworkingEngine().registerRequestFilter() ...
  },
  parentId: '#player'
})

shaka-player (^3 || ^4) is a required peer dependency. CI and the demo exercise Shaka 4 only; 3.x remains in the peer range for existing consumers but is untested. Shaka 5+ is not supported.

Demo

dash shaka playback screenshot

DRM

If need to protect your content (DRM) you must use the shakaConfiguration following the shaka configuration need.

License Wrapping

If need to wrap DRM license requests or responses you use shakaOnBeforeLoad following shaka License Wrapping guide.

Development

Install yarn:

https://yarnpkg.com/lang/en/docs/install/

Install dependencies from the monorepo root:

yarn install

Run the Rollup dev server:

yarn start

By default, the dev server listens on http://0.0.0.0:8080.

Build the published artifacts (UMD, minified UMD, and ESM):

yarn release

All artifacts keep shaka-player external — provide it from the page or bundler.

"extra" features

This playback offers you an API for handling with: audio, video and text tracks.

selectTrack(track)
textTracks()
audioTracks()
videoTracks()

For the older versions check