UNPKG

shaka-player

Version:
79 lines (67 loc) 2.74 kB
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>TurtleTube - Encrypted Content</title> <!-- Load the Shaka Player library. --> <script src="shaka-player.compiled.js"></script> </head> <body> <video id="video" width="640" height="480" crossorigin="anonymous" controls autoplay> Your browser does not support HTML5 video. </video> </body> <script> function initPlayer() { // Install polyfills. shaka.polyfill.installAll(); // Find the video element. var video = document.getElementById('video'); // Construct a Player to wrap around it. var player = new shaka.player.Player(video); // Attach the player to the window so that it can be easily debugged. window.player = player; // Listen for errors from the Player. player.addEventListener('error', function(event) { console.error(event); }); // Construct a DashVideoSource to represent the DASH manifest and provide // a callback to interpret the ContentProtection elements. var mpdUrl = 'https://turtle-tube.appspot.com/t/e6/dash.mpd'; var estimator = new shaka.util.EWMABandwidthEstimator(); var source = new shaka.player.DashVideoSource(mpdUrl, interpretContentProtection, estimator); // Load the source into the Player. player.load(source); } /** * @param {string} schemeIdUri The ContentProtection's scheme ID URI. * @param {!Node} contentProtection The ContentProtection element. * @return {Array.<shaka.player.DrmInfo.Config>} An array of Config * objects or null if the element is not understood by this application. */ function interpretContentProtection(schemeIdUri, contentProtection) { // This is the UUID which is used by edash-packager to represent // Widevine. This is the only scheme we are expecting for this // application. if (schemeIdUri == 'urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed') { // We will use Widevine's testing license server. In a real app, // you would run your own front-end service for this. var licenseServerUrl = 'https://widevine-proxy.appspot.com/proxy'; // The EME key system identifier for Widevine. var keySystem = 'com.widevine.alpha'; return [{ 'keySystem': keySystem, 'licenseServerUrl': licenseServerUrl }]; } console.warn('Unrecognized scheme: ' + schemeIdUri); return null; } document.addEventListener('DOMContentLoaded', initPlayer); </script> </html>