From 5b9a4c4818243e7379ece21486431fb585969d00 Mon Sep 17 00:00:00 2001 From: Gagan Suie Date: Wed, 23 Aug 2023 20:30:23 -0500 Subject: [PATCH] Feat: added vime lib for hls stream --- package.json | 3 ++- .../Channel/Stream/VideoItem.svelte | 23 +++++++++++++++---- src/routes/+layout.svelte | 1 + 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 5470d702..c4d5164e 100644 --- a/package.json +++ b/package.json @@ -46,13 +46,14 @@ "tailwindcss": "^3.2.7", "tslib": "^2.5.0", "typescript": "^5.0.2", - "video.js": "^8.3.0", "vite": "^4.1.4" }, "dependencies": { "@neodrag/svelte": "^2.0.3", "@tailwindcss/aspect-ratio": "^0.4.2", "@tailwindcss/typography": "^0.5.9", + "@vime/core": "^5.4.1", + "@vime/svelte": "^5.4.1", "animate.css": "^4.1.1", "daisyui": "^3.2.1", "emoji-picker-element": "^1.18.1", diff --git a/src/lib/components/Channel/Stream/VideoItem.svelte b/src/lib/components/Channel/Stream/VideoItem.svelte index d017fe4e..a47be160 100644 --- a/src/lib/components/Channel/Stream/VideoItem.svelte +++ b/src/lib/components/Channel/Stream/VideoItem.svelte @@ -18,6 +18,7 @@ import { is_feature_stats_enabled, is_feature_obs_enabled } from '$lib/stores/remoteConfigStore' import { addScreen, getScreen, removeScreen } from '$lib/stream-utils' import IconDrawerVerification from '$lib/assets/icons/drawer/IconDrawerVerification.svelte' + import { Player, DefaultUi, Hls } from '@vime/svelte' export let video: any, channel: any @@ -51,6 +52,7 @@ // WHIP/WHEP variables that determine if stream is coming in $: isScreenLive = false $: isWebcamLive = false + $: hlsUrl = '' $: if (channel) { role = setRole({ userId: video._id, channel, currentUserId: $page.data.user?.userId }) @@ -120,7 +122,8 @@ if ($page.data.user?.userId === video._id) { switch (trackType) { case 'obs': - console.log('got here---- video.obs.playback?.hls', video.obs?.playback?.hls) + hlsUrl = video.obs?.playback?.hls + console.log('got here---- video.obs.playback?.hls', hlsUrl) // if (video.obs && $is_sharing_obs) { // const key = video.obs.webRTCPlayback.url + '-' + video._id // const existed = getScreen(key) @@ -210,7 +213,7 @@ switch (trackType) { case 'obs': if (video.obs && obsElement) { - obsElement.src = video.obs.rtmpsPlayback.url + obsElement.src = video.obs?.playback?.hls obsElement.muted = false obsElement.play() } else { @@ -415,6 +418,8 @@ } + +
(isHoverVideo = true)} @@ -436,7 +441,7 @@ {/if} {#if $is_feature_obs_enabled} - - - + + --> + + + + + + + + {/if}