Add HLS support (and upgrade Video.JS)
This commit is contained in:
parent
da99ea8288
commit
d06c614ccc
10 changed files with 6217 additions and 1392 deletions
|
|
@ -1,5 +1,5 @@
|
|||
(function() {
|
||||
var CUSTOM_EMBED_WARNING, CustomEmbedPlayer, DEFAULT_ERROR, DailymotionPlayer, EmbedPlayer, FilePlayer, GoogleDriveYouTubePlayer, HITBOX_ERROR, HitboxPlayer, ImgurPlayer, LivestreamPlayer, Player, RTMPPlayer, SoundCloudPlayer, TYPE_MAP, TwitchPlayer, USTREAM_ERROR, UstreamPlayer, VideoJSPlayer, VimeoPlayer, YouTubePlayer, codecToMimeType, genParam, sortSources,
|
||||
var CUSTOM_EMBED_WARNING, CustomEmbedPlayer, DEFAULT_ERROR, DailymotionPlayer, EmbedPlayer, FilePlayer, GoogleDriveYouTubePlayer, HITBOX_ERROR, HLSPlayer, HitboxPlayer, ImgurPlayer, LivestreamPlayer, Player, RTMPPlayer, SoundCloudPlayer, TYPE_MAP, TwitchPlayer, USTREAM_ERROR, UstreamPlayer, VideoJSPlayer, VimeoPlayer, YouTubePlayer, codecToMimeType, genParam, sortSources,
|
||||
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
|
||||
hasProp = {}.hasOwnProperty;
|
||||
|
||||
|
|
@ -1257,6 +1257,37 @@
|
|||
|
||||
})(Player);
|
||||
|
||||
window.HLSPlayer = HLSPlayer = (function(superClass) {
|
||||
extend(HLSPlayer, superClass);
|
||||
|
||||
function HLSPlayer(data) {
|
||||
if (!(this instanceof HLSPlayer)) {
|
||||
return new HLSPlayer(data);
|
||||
}
|
||||
this.setupMeta(data);
|
||||
HLSPlayer.__super__.constructor.call(this, data);
|
||||
}
|
||||
|
||||
HLSPlayer.prototype.load = function(data) {
|
||||
this.setupMeta(data);
|
||||
return HLSPlayer.__super__.load.call(this, data);
|
||||
};
|
||||
|
||||
HLSPlayer.prototype.setupMeta = function(data) {
|
||||
return data.meta.direct = {
|
||||
480: [
|
||||
{
|
||||
link: data.id,
|
||||
contentType: 'application/x-mpegURL'
|
||||
}
|
||||
]
|
||||
};
|
||||
};
|
||||
|
||||
return HLSPlayer;
|
||||
|
||||
})(VideoJSPlayer);
|
||||
|
||||
TYPE_MAP = {
|
||||
yt: YouTubePlayer,
|
||||
vi: VimeoPlayer,
|
||||
|
|
@ -1273,7 +1304,8 @@
|
|||
hb: HitboxPlayer,
|
||||
us: UstreamPlayer,
|
||||
im: ImgurPlayer,
|
||||
vm: VideoJSPlayer
|
||||
vm: VideoJSPlayer,
|
||||
hl: HLSPlayer
|
||||
};
|
||||
|
||||
window.loadMediaPlayer = function(data) {
|
||||
|
|
|
|||
|
|
@ -1366,6 +1366,13 @@ function parseMediaLink(url) {
|
|||
};
|
||||
}
|
||||
|
||||
if ((m = url.match(/(.*\.m3u8)/))) {
|
||||
return {
|
||||
id: m[1],
|
||||
type: "hl"
|
||||
};
|
||||
}
|
||||
|
||||
/* Shorthand URIs */
|
||||
// To catch Google Plus by ID alone
|
||||
if ((m = url.match(/^(?:gp:)?(\d{21}_\d{19}_\d{19})/))) {
|
||||
|
|
@ -1441,7 +1448,7 @@ function stripImages(msg){
|
|||
return msg;
|
||||
}
|
||||
return msg.replace(IMAGE_MATCH, function(match,img){
|
||||
return CHANNEL.opts.enable_link_regex ?
|
||||
return CHANNEL.opts.enable_link_regex ?
|
||||
'<a target="_blank" href="'+img+'">'+img+'</a>' : img;
|
||||
});
|
||||
}
|
||||
|
|
|
|||
6966
www/js/video.js
6966
www/js/video.js
File diff suppressed because it is too large
Load diff
12
www/js/videojs-contrib-hls.min.js
vendored
Normal file
12
www/js/videojs-contrib-hls.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue