Add support for MP4 videos
This commit is contained in:
parent
034fe81081
commit
402dd568f9
|
@ -203,7 +203,7 @@
|
||||||
<div id="player-window" class="modal">
|
<div id="player-window" class="modal">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<span class="close">×</span>
|
<span class="close">×</span>
|
||||||
<video id="player" preload="none" controls width="100%">
|
<video id="player" preload="none" controls width="100%" height="800">
|
||||||
</video>
|
</video>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -389,32 +389,40 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
function play(recording) {
|
function play(recording) {
|
||||||
if (Hls.isSupported()) {
|
let src = recording.playlist;
|
||||||
var video = document.getElementById('player');
|
src = '..' + src;
|
||||||
var hls = new Hls();
|
let hmacOfPath = CryptoJS.HmacSHA256(src, hmac);
|
||||||
hls.attachMedia(video);
|
if (hmac.length > 0) {
|
||||||
hls.on(Hls.Events.MEDIA_ATTACHED, function () {
|
src += "?hmac=" + hmacOfPath;
|
||||||
let src = recording.playlist;
|
|
||||||
let hmacOfPath = CryptoJS.HmacSHA256(src, hmac);
|
|
||||||
src = '..' + src;
|
|
||||||
if (hmac.length > 0) {
|
|
||||||
src += "?hmac=" + hmacOfPath;
|
|
||||||
}
|
|
||||||
console.log(src);
|
|
||||||
hls.loadSource(src);
|
|
||||||
hls.on(Hls.Events.MANIFEST_PARSED, function (event, data) {
|
|
||||||
console.log("manifest loaded, found " + data.levels.length + " quality level");
|
|
||||||
$('#player-window').css('display', 'block');
|
|
||||||
video.play();
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
} else {
|
|
||||||
$.notify('Loading HLS video streaming support failed', 'error');
|
|
||||||
console.log('HLS is not supported');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(console) console.log('Playing video from', src);
|
||||||
|
|
||||||
|
if(src.indexOf('.mp4') > 0) {
|
||||||
|
var video = document.getElementById('player');
|
||||||
|
video.src = src;
|
||||||
|
$('#player-window').css('display', 'block');
|
||||||
|
video.play();
|
||||||
|
} else {
|
||||||
|
if (Hls.isSupported()) {
|
||||||
|
var video = document.getElementById('player');
|
||||||
|
var hls = new Hls();
|
||||||
|
hls.attachMedia(video);
|
||||||
|
hls.on(Hls.Events.MEDIA_ATTACHED, function () {
|
||||||
|
console.log(src);
|
||||||
|
hls.loadSource(src);
|
||||||
|
hls.on(Hls.Events.MANIFEST_PARSED, function (event, data) {
|
||||||
|
console.log("manifest loaded, found " + data.levels.length + " quality level");
|
||||||
|
$('#player-window').css('display', 'block');
|
||||||
|
video.play();
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$.notify('Loading HLS video streaming support failed', 'error');
|
||||||
|
console.log('HLS is not supported');
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function calculateSize(sizeInByte) {
|
function calculateSize(sizeInByte) {
|
||||||
|
@ -656,7 +664,11 @@
|
||||||
recording.ko_progressString = ko.observable(recording.progress === -1 ? '' : recording.progress);
|
recording.ko_progressString = ko.observable(recording.progress === -1 ? '' : recording.progress);
|
||||||
recording.ko_size = ko.observable(calculateSize(recording.sizeInByte));
|
recording.ko_size = ko.observable(calculateSize(recording.sizeInByte));
|
||||||
recording.ko_status = ko.observable(recording.status);
|
recording.ko_status = ko.observable(recording.status);
|
||||||
recording.playlist = '/hls' + recording.path + '/playlist.m3u8';
|
if (recording.path.endsWith('.mp4')) {
|
||||||
|
recording.playlist = '/hls' + recording.path;
|
||||||
|
} else {
|
||||||
|
recording.playlist = '/hls' + recording.path + '/playlist.m3u8';
|
||||||
|
}
|
||||||
observableRecordingsArray.push(recording);
|
observableRecordingsArray.push(recording);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue