From 33278fc2c5c61dfafec838ea54ed2734593e9559 Mon Sep 17 00:00:00 2001 From: Gabe Kangas Date: Wed, 10 Jun 2020 00:35:33 -0700 Subject: [PATCH] Replace hls.js with videojs for web playback --- webroot/index.html | 18 ++++++++++++++++-- webroot/js/app.js | 31 ------------------------------- 2 files changed, 16 insertions(+), 33 deletions(-) diff --git a/webroot/index.html b/webroot/index.html index 9963c9e9b..4663ac23e 100644 --- a/webroot/index.html +++ b/webroot/index.html @@ -6,8 +6,17 @@ href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" /> + + + + + - + + @@ -20,11 +29,16 @@
+ data-setup='{}' + > + +
{{ streamStatus }} {{ viewerCount }} {{ 'viewer' | plural(viewerCount) }}.
diff --git a/webroot/js/app.js b/webroot/js/app.js index f49afbe89..083db7b61 100644 --- a/webroot/js/app.js +++ b/webroot/js/app.js @@ -106,37 +106,6 @@ getStatus() setupWebsocket() setInterval(getStatus, 5000) -// HLS Video setup -const video = document.getElementById("video") -const videoSrc = "hls/stream.m3u8" -if (Hls.isSupported()) { - var hls = new Hls() - hls.loadSource(videoSrc) - hls.attachMedia(video) - hls.on(Hls.Events.MANIFEST_PARSED, function () { - video.play() - }); -} -// hls.js is not supported on platforms that do not have Media Source -// Extensions (MSE) enabled. -// -// When the browser has built-in HLS support (check using `canPlayType`), -// we can provide an HLS manifest (i.e. .m3u8 URL) directly to the video -// element through the `src` property. This is using the built-in support -// of the plain video element, without using hls.js. -// -// Note: it would be more normal to wait on the 'canplay' event below however -// on Safari (where you are most likely to find built-in HLS support) the -// video.src URL must be on the user-driven white-list before a 'canplay' -// event will be emitted; the last video event that can be reliably -// listened-for when the URL is not on the white-list is 'loadedmetadata'. -else if (video.canPlayType("application/vnd.apple.mpegurl")) { - video.src = videoSrc - video.addEventListener("loadedmetadata", function () { - video.play() - }); -} - function scrollSmoothToBottom(id) { const div = document.getElementById(id) $('#' + id).animate({