Last active
March 9, 2017 12:21
-
-
Save andymason/3bdfc9d6a8bec155de86ba155761c94d to your computer and use it in GitHub Desktop.
Lower CPU usage than Flash player with the benefits of bitrate stream switching.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// How to use: | |
// 1. Save the bookmarklet | |
// 2. Go to a Giantbomb video page and click the Bookmarklet | |
// Bonus. Works on CBSi player so Gamespot video's work too | |
// ## Bookmarklet | |
javascript:(function(){var%20videoStream;var%20videoEl;var%20el;var%20vidWrapper=document.querySelector('.av-video-player');if(!vidWrapper||!vidWrapper.dataset.video){console.log('No%20video%20player%20element%20or%20dataset');}var%20videoData=JSON.parse(vidWrapper.dataset.video);videoStream=videoData.videoStreams.adaptive_stream;console.log(videoStream);videoEl=document.createElement('video');videoEl.controls=true;videoEl.style='width:100%;height:100%;position:relative;z-index:999;';vidWrapper.parentNode.replaceChild(videoEl,vidWrapper);el=document.createElement('script');el.addEventListener('load',function(){if(Hls.isSupported()){var%20hls=new%20Hls();hls.loadSource(videoStream);hls.attachMedia(videoEl);hls.on(Hls.Events.MANIFEST_PARSED,function(){videoEl.play();});}},false);el.src='https://cdn.rawgit.com/dailymotion/hls.js/master/dist/hls.min.js';document.body.appendChild(el);})(); | |
// Original source code | |
var videoStream; | |
var videoEl; | |
var el; | |
var vidWrapper = document.querySelector('.av-video-player'); | |
if (!vidWrapper || !vidWrapper.dataset.video) { | |
console.log('No video player element or dataset'); | |
} | |
var videoData = JSON.parse(vidWrapper.dataset.video); | |
videoStream = videoData.videoStreams.adaptive_stream; | |
console.log(videoStream); | |
videoEl = document.createElement('video'); | |
videoEl.controls=true; | |
videoEl.style = 'width:100%;height:100%;position:relative;z-index:999;'; | |
vidWrapper.parentNode.replaceChild(videoEl, vidWrapper); | |
el = document.createElement('script'); | |
el.addEventListener('load', function(){ | |
if(Hls.isSupported()) { | |
var hls = new Hls(); | |
hls.loadSource(videoStream); | |
hls.attachMedia(videoEl); | |
hls.on(Hls.Events.MANIFEST_PARSED,function() { | |
videoEl.play(); | |
}); | |
} | |
}, false); | |
el.src='https://cdn.rawgit.com/dailymotion/hls.js/master/dist/hls.min.js'; | |
document.body.appendChild(el); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment