Skip to content

Shaka Player with Peer5 for DASH integration




Shaka Player is a free and open source HTML5 video player that supports playing MPEG-DASH without any plugin. In addition Shaka plays HLS video on the Chromecast.

The integration with Peer5 plugin is easy and involves just two lines of code. In addition to the player script, simply include the Peer5 client and the matching Peer5 ShakaPlayer plugin based on your player version.

Peer5 client and plugins scripts

Add the following two scripts to the head of your player's page, based on your player version:

ShakaPlayer v2.x

1
2
<script src="//api.peer5.com/peer5.js?id=PEER5_CUSTOMER_ID"></script>
<script src="//api.peer5.com/peer5.shakaplayer2.plugin.js"></script>

Complete Example (ShakaPlayer 2)

The following information needs to be filled according to your actual data:

  • PEER5_CUSTOMER_ID   your Peer5 Customer ID
  • MANIFEST_FILE   url to your .mpd file (or .m3u8 on the Chromecast)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>ShakaPlayer Demo</title>
    <!-- Peer5 scripts -->
    <script src="//api.peer5.com/peer5.js?id=PEER5_CUSTOMER_ID"></script>
    <script src="//api.peer5.com/peer5.shakaplayer2.plugin.js"></script>

    <!-- Player scripts -->
    <script src="//ajax.googleapis.com/ajax/libs/shaka-player/2.5.9/shaka-player.compiled.js"></script>
</head>
<body>
    <video id="video" width="640" controls autoplay></video>
    <script>
      shaka.polyfill.installAll();

      if (shaka.Player.isBrowserSupported()) {
        var video = document.getElementById('video');          
        var player = new shaka.Player(video);
        player.load('MANIFEST_FILE');
      }
      else {
        console.error('Shaka player is not supported in this browser');
      }
    </script>
</body>
</html>

Visit here for the full Shaka Player docs.

To test that you integrated with Peer5 correctly, and to see stats about what the Peer5 integration is doing, you can view the stats overlay.