Replace hls.js with videojs for web playback
This commit is contained in:
@@ -6,8 +6,17 @@
|
|||||||
href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css"
|
href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css"
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<!-- unpkg : use the latest version of Video.js -->
|
||||||
|
<link href="//unpkg.com/video.js/dist/video-js.min.css" rel="stylesheet">
|
||||||
|
<link
|
||||||
|
href="https://unpkg.com/@videojs/themes@1/dist/fantasy/index.css"
|
||||||
|
rel="stylesheet"
|
||||||
|
/>
|
||||||
|
<script src="//unpkg.com/video.js/dist/video.min.js"></script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
|
|
||||||
|
<script src="//vjs.zencdn.net/7.8.2/video.min.js"></script>
|
||||||
|
|
||||||
<!-- Used for animating the scrolling of the chat div. Can that be done other ways? -->
|
<!-- Used for animating the scrolling of the chat div. Can that be done other ways? -->
|
||||||
<script src="vendor/jquery-2.1.4.min.js"></script>
|
<script src="vendor/jquery-2.1.4.min.js"></script>
|
||||||
@@ -20,11 +29,16 @@
|
|||||||
<div class="w-4/6">
|
<div class="w-4/6">
|
||||||
<video
|
<video
|
||||||
id="video"
|
id="video"
|
||||||
|
class="video-js vjs-theme-fantasy"
|
||||||
preload="auto"
|
preload="auto"
|
||||||
|
poster="https://picsum.photos/900/600"
|
||||||
autoplay
|
autoplay
|
||||||
controls
|
controls
|
||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
></video>
|
data-setup='{}'
|
||||||
|
>
|
||||||
|
<source src="hls/stream.m3u8" type="application/x-mpegURL"/>
|
||||||
|
</video>
|
||||||
<div id="app">
|
<div id="app">
|
||||||
{{ streamStatus }} {{ viewerCount }} {{ 'viewer' | plural(viewerCount) }}.
|
{{ streamStatus }} {{ viewerCount }} {{ 'viewer' | plural(viewerCount) }}.
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -106,37 +106,6 @@ getStatus()
|
|||||||
setupWebsocket()
|
setupWebsocket()
|
||||||
setInterval(getStatus, 5000)
|
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) {
|
function scrollSmoothToBottom(id) {
|
||||||
const div = document.getElementById(id)
|
const div = document.getElementById(id)
|
||||||
$('#' + id).animate({
|
$('#' + id).animate({
|
||||||
|
|||||||
Reference in New Issue
Block a user