UNPKG

cdnbye

Version:
55 lines (51 loc) 2.41 kB
<!DOCTYPE html> <html lang="en"> <div class="container"> <video controls crossorigin playsinline></video> </div> <p id="version"></p> <h3>download info:</h3> <p id="info"></p> <link rel="stylesheet" href="//cdn.plyr.io/3.4.7/plyr.css"> <script src="//cdn.plyr.io/3.4.7/plyr.js"></script> <script src="//cdn.jsdelivr.net/npm/cdnbye@latest"></script> <script> document.querySelector('#version').innerText = `hls.js version: ${Hls.version} cdnbye version: ${Hls.engineVersion}`; document.addEventListener('DOMContentLoaded', () => { var source = 'https://video-dev.github.io/streams/x36xhzz/url_2/193039199_mp4_h264_aac_ld_7.m3u8'; var video = document.querySelector('video'); // For more options see: https://github.com/sampotts/plyr/#options // captions.update is required for captions to work with hls.js var player = new Plyr(video, { captions: {active: true, update: true, language: 'en'}, // autoplay: true, }); if (!Hls.isSupported()) { video.src = source; } else { // For more Hls.js options, see https://github.com/dailymotion/hls.js var hls = new Hls({ p2pConfig: { logLevel: true, live: false, // set to true in live mode wsSignalerAddr: 'wss://opensignal.cdnbye.com', getStats: function (totalP2PDownloaded, totalP2PUploaded, totalHTTPDownloaded) { var total = totalHTTPDownloaded + totalP2PDownloaded; document.querySelector('#info').innerText = `p2p ratio: ${Math.round(totalP2PDownloaded/total*100)}%, saved traffic: ${totalP2PDownloaded}KB, uploaded: ${totalP2PUploaded}KB`; }, // Other p2pConfig options provided by CDNBye } }); hls.loadSource(source); hls.attachMedia(video); window.hls = hls; // Handle changing captions player.on('languagechange', () => { // Caption support is still flaky. See: https://github.com/sampotts/plyr/issues/994 setTimeout(() => hls.subtitleTrack = player.currentTrack, 50); }); } // Expose player so it can be used from the console window.player = player; }); </script>