Skip to content

clappr/dash-shaka-playback

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0270bda Â· Nov 6, 2023
Jul 19, 2017
Nov 1, 2023
Jan 21, 2021
Jan 21, 2021
Jan 22, 2021
Apr 2, 2018
Dec 21, 2015
Jul 19, 2017
Jan 22, 2021
Nov 6, 2023
Jan 21, 2021
Mar 30, 2023

Repository files navigation

npm version license

dash-shaka-playback

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

CDN JSDELIVR: https://cdn.jsdelivr.net/gh/clappr/dash-shaka-playback@latest/dist/dash-shaka-playback.js

CDNJS: https://cdnjs.cloudflare.com/ajax/libs/dash-shaka-playback/2.0.5/dash-shaka-playback.js

NPM: https://www.npmjs.com/package/dash-shaka-playback/

Changelog

  • supports closed caption (subtitles)

Demo

dash shaka playback screenshot

Usage

<html>
  <head>
    <script src="https://cdn.jsdelivr.net/gh/clappr/clappr@latest/dist/clappr.min.js"></script>
    <script src="https://cdn.jsdelivr.net/gh/clappr/dash-shaka-playback@latest/dist/dash-shaka-playback.js"></script>
  </head>

  <body>
    <div id="player"></div>
    <script>
      var 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'
        });
    </script>
  </body>
</html>

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:

yarn install

Run dev. server :

yarn start

By default, dev. server is listening on http://0.0.0.0:8080.

Build plugin:

yarn dist

By default, Shaka player is bundled with plugin. A "lightweight" version of this plugin, without shaka player bundled, dash-shaka-playback-external.min.js is available.

"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