Upload base files from development machine
This commit is contained in:
273
player.js
Normal file
273
player.js
Normal file
@@ -0,0 +1,273 @@
|
||||
/**
|
||||
* This script is the main player script designed for hooverhigh
|
||||
* HooverHighVideoPlayer 2 <https://hooverhigh.ml/>
|
||||
* Copyright oxmc. <https://oxmc.xyz/>
|
||||
*/
|
||||
|
||||
function gup(name) {
|
||||
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
|
||||
var regexS = "[\\?&]" + name + "=([^&#]*)";
|
||||
var regex = new RegExp(regexS);
|
||||
var results = regex.exec(window.location.href);
|
||||
if (results == null)
|
||||
return "";
|
||||
else
|
||||
return results[1];
|
||||
};
|
||||
|
||||
var pad = function(n, x, c) {
|
||||
return (new Array(n).join(c || '0') + x).slice(-n);
|
||||
};
|
||||
|
||||
var padRight = function(n, x, c) {
|
||||
return (x + (new Array(n).join(c || '0'))).slice(0, n);
|
||||
};
|
||||
|
||||
//This variable is never used, but is here if a user wants to include jquery automaticly if option is set:
|
||||
var jquerycodelink = "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js";
|
||||
|
||||
if (window.jQuery) {
|
||||
//jQuery is loaded:
|
||||
var jquery_version = jQuery.fn.jquery || jQuery().jquery;
|
||||
console.log("Jquery loaded, version: ", jquery_version);
|
||||
if (jquery_version < "3.3.1") {
|
||||
throw new Error("This version of jquery is not supported for this script, use jquery 3.3.1");
|
||||
};
|
||||
} else {
|
||||
throw new Error("jQuery not loaded, this script requires jquery 3.3.1");
|
||||
};
|
||||
|
||||
const defvideourl = "https://cdn.hooverhigh.ml/videos/Welcome-to-Hoover-High-School_1668535472506.mp4";
|
||||
const defvideoposter = "https://cdn.hooverhigh.ml/images/hooverhightornado.png?w=200&h=200";
|
||||
const defvideowatermark = 'https://cdn.hooverhigh.ml/images/hooverhightornado.png?w=100&h=100';
|
||||
const defvideowatermarkurl = "https://www.gusd.net/hooverhs";
|
||||
const defvideotext = "";
|
||||
const defvidtext = false;
|
||||
const defvidup = "";
|
||||
const defvideotype = "video/mp4";
|
||||
const deftechorder = ["html5"];
|
||||
const defshareurl = window.location.href || "https://hooverhigh.ml/player.html";
|
||||
const rup = false;
|
||||
|
||||
const showads = false;
|
||||
|
||||
var videoplayers = document.querySelectorAll("video");
|
||||
|
||||
if (typeof videoplayers != "undefined" && typeof videoplayers != null && typeof videoplayers == "object") {
|
||||
|
||||
for (let i = 0; i < videoplayers.length; i++) {
|
||||
let videourl, videotype, videoposter, videowatermark, videowatermarkurl, videotext, vidtext, vidup, shareurl, isdatasrc, techorder;
|
||||
|
||||
isdatasrc = false;
|
||||
|
||||
if ($(videoplayers[i]).data("vidsrc") != null && typeof $(videoplayers[i]).data("vidsrc") == "string" && $(videoplayers[i]).data("vidsrc") != "undefined") {
|
||||
isdatasrc = true;
|
||||
videourl = $(videoplayers[i]).data("vidsrc");
|
||||
} else {
|
||||
if (rup == true && gup("vid") != null && gup("vid").length != 0 && isdatasrc == false) {
|
||||
videourl = gup("vid");
|
||||
vidup = `?vid=${videourl}`;
|
||||
} else {
|
||||
videourl = defvideourl;
|
||||
vidup = defvidup;
|
||||
};
|
||||
};
|
||||
if ($(videoplayers[i]).data("srctype") != null && typeof $(videoplayers[i]).data("srctype") == "string" && $(videoplayers[i]).data("srctype") != "undefined") {
|
||||
videotype = $(videoplayers[i]).data("srctype");
|
||||
} else {
|
||||
if (rup == true && gup("vidsrctype") != null && gup("vidsrctype").length != 0) {
|
||||
videotype = gup("vidsrctype");
|
||||
} else {
|
||||
videotype = defvideotype;
|
||||
};
|
||||
};
|
||||
if ($(videoplayers[i]).data("poster") != null && typeof $(videoplayers[i]).data("poster") == "string" && $(videoplayers[i]).data("poster") != "undefined") {
|
||||
videoposter = $(videoplayers[i]).data("poster");
|
||||
} else {
|
||||
if (rup == true && gup("vidpost") != null && gup("vidpost").length != 0) {
|
||||
videoposter = gup("vidpost");
|
||||
} else {
|
||||
videoposter = defvideoposter;
|
||||
};
|
||||
};
|
||||
if ($(videoplayers[i]).data("watermark") != null && typeof $(videoplayers[i]).data("watermark") == "string" && $(videoplayers[i]).data("watermark") != "undefined") {
|
||||
videowatermark = $(videoplayers[i]).data("watermark");
|
||||
} else {
|
||||
if (rup == true && gup("vidwatermark") != null && gup("vidwatermark").length != 0) {
|
||||
videowatermark = gup("vidwatermark");
|
||||
} else {
|
||||
videowatermark = defvideowatermark;
|
||||
};
|
||||
};
|
||||
if ($(videoplayers[i]).data("watermarkurl") != null && typeof $(videoplayers[i]).data("watermarkurl") == "string" && $(videoplayers[i]).data("watermarkurl") != "undefined") {
|
||||
videowatermarkurl = $(videoplayers[i]).data("watermarkurl");
|
||||
} else {
|
||||
if (rup == true && gup("vidwatermarkurl") != null && gup("vidwatermarkurl").length != 0) {
|
||||
videowatermarkurl = gup("vidwatermarkurl");
|
||||
} else {
|
||||
videowatermarkurl = defvideowatermarkurl;
|
||||
};
|
||||
};
|
||||
if (rup == true && gup("vidtext") != null && gup("vidtext").length != 0) {
|
||||
videotext = gup("vidtext");
|
||||
vidtext = true;
|
||||
} else {
|
||||
videotext = defvideotext;
|
||||
vidtext = defvidtext;
|
||||
};
|
||||
|
||||
shareurl = `${defshareurl}${vidup}`;
|
||||
|
||||
if (videotype == "video/youtube") {
|
||||
techorder = ["youtube", "html5"];
|
||||
shareurl = videourl;
|
||||
} else {
|
||||
techorder = deftechorder;
|
||||
};
|
||||
|
||||
//console.log(videourl);
|
||||
//console.log(videotype);
|
||||
//console.log(videoposter);
|
||||
//console.log(videowatermark);
|
||||
//console.log(videowatermarkurl);
|
||||
//console.log(vidtext);
|
||||
//console.log(techorder);
|
||||
|
||||
var player = videojs(videoplayers[i], {
|
||||
plugins: {
|
||||
hotkeys: {
|
||||
volumeStep: 0.1,
|
||||
seekStep: 5,
|
||||
enableModifiersForNumbers: false
|
||||
},
|
||||
},
|
||||
textTrackSettings: vidtext,
|
||||
techOrder: techorder
|
||||
});
|
||||
|
||||
if ($(videoplayers[i]).data("vr") != null && typeof $(videoplayers[i]).data("vr") == "boolean" && $(videoplayers[i]).data("vr") != "undefined" && $(videoplayers[i]).data("vr") == true) {
|
||||
console.log("VR Init");
|
||||
player.mediainfo = player.mediainfo || {};
|
||||
player.mediainfo.projection = '360';
|
||||
// AUTO is the default and looks at mediainfo:
|
||||
player.vr({projection: 'AUTO', debug: true, forceCardboard: false});
|
||||
};
|
||||
|
||||
if (showads == true) {
|
||||
// initalize ad plugin for this player
|
||||
player.exampleAds({
|
||||
debug: true
|
||||
});
|
||||
|
||||
var Html5 = videojs.getTech('Html5');
|
||||
|
||||
var eventList = Html5.Events.concat(Html5.Events.map(function(evt) {
|
||||
return 'ad' + evt;
|
||||
})).concat(Html5.Events.map(function(evt) {
|
||||
return 'content' + evt;
|
||||
})).concat([
|
||||
// events emitted by ad plugin
|
||||
'adtimeout',
|
||||
'contentupdate',
|
||||
'contentplayback',
|
||||
'readyforpreroll',
|
||||
'readyforpostroll',
|
||||
// events emitted by third party ad implementors
|
||||
'adsready',
|
||||
'adscanceled',
|
||||
'adplaying',
|
||||
'adstart', // startLinearAdMode()
|
||||
'adend', // endLinearAdMode()
|
||||
'nopreroll',
|
||||
'nopostroll'
|
||||
|
||||
]).filter(function(evt) {
|
||||
var events = {
|
||||
progress: 1,
|
||||
timeupdate: 1,
|
||||
suspend: 1,
|
||||
emptied: 1,
|
||||
durationchange: 1,
|
||||
contentprogress: 1,
|
||||
contenttimeupdate: 1,
|
||||
contentsuspend: 1,
|
||||
contentemptied: 1,
|
||||
adprogress: 1,
|
||||
adtimeupdate: 1,
|
||||
adsuspend: 1,
|
||||
ademptied: 1,
|
||||
adabort: 1
|
||||
}
|
||||
|
||||
return !(evt in events);
|
||||
});
|
||||
|
||||
player.on(eventList, function(event) {
|
||||
var d, str, evt;
|
||||
|
||||
evt = event.type;
|
||||
|
||||
d = new Date();
|
||||
d = '' +
|
||||
pad(2, d.getHours()) + ':' +
|
||||
pad(2, d.getMinutes()) + ':' +
|
||||
pad(2, d.getSeconds()) + '.' +
|
||||
pad(3, d.getMilliseconds());
|
||||
});
|
||||
};
|
||||
|
||||
var shareOptions = {
|
||||
socials: ['fb', 'tw', 'reddit', 'telegram', 'whatsapp'],
|
||||
url: shareurl,
|
||||
title: 'HooverHigh Video',
|
||||
description: 'video.js share plugin',
|
||||
image: 'https://hooverhigh.ml/assets/img/HooverHS.png',
|
||||
// required for Facebook and Messenger
|
||||
fbAppId: '436772158593997',
|
||||
redirectUri: `${shareurl}#close`,
|
||||
embedCode: `<iframe src='${shareurl}' width='560' height='315' frameborder='0' allowfullscreen></iframe>`
|
||||
}
|
||||
|
||||
//Init plugins:
|
||||
player.errors();
|
||||
player.errors.extend({
|
||||
"web-vr-hls-cors-not-supported": {
|
||||
headline: 'HLS 360 Error',
|
||||
message: 'Your browser/device does not support HLS 360 video. See http://webvr.info for assistance.'
|
||||
}
|
||||
});
|
||||
//player.replayButton();
|
||||
player.share(shareOptions);
|
||||
|
||||
//Set player src and poster:
|
||||
player.poster(videoposter);
|
||||
player.src({
|
||||
src: videourl,
|
||||
type: videotype,
|
||||
});
|
||||
|
||||
//Set player watermark:
|
||||
player.watermark({
|
||||
fadeTime: null,
|
||||
position: 'top-right',
|
||||
image: videowatermark,
|
||||
url: videowatermarkurl
|
||||
});
|
||||
|
||||
//Captions:
|
||||
if (vidtext != null && vidtext == true) {
|
||||
const trackEl = player.addRemoteTextTrack({
|
||||
src: videotext
|
||||
}, false);
|
||||
// Get all text tracks for the current player.
|
||||
/*var tracks = player.textTracks();
|
||||
for (var i = 0; i < tracks.length; i++) {
|
||||
var track = tracks[i];*/
|
||||
// Find the English captions track and mark it as "showing".
|
||||
/*if (track.kind === 'captions' && track.language === 'en') {
|
||||
track.mode = 'showing';
|
||||
}
|
||||
}*/
|
||||
};
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user