Back to All Guides
codeAugust 12, 20267 min readRTSPLink Dev Team

Vue 3 & Nuxt RTSP Surveillance Dashboard with HLS.js

Build a multi-feed CCTV monitoring wall in Vue 3 using HLS.js and WebSocket stream health tickers.

#Vue.js#Nuxt#HLS.js#Dashboard#Frontend
Live Stream Workbench

Need a live RTSP stream link right now to test this setup in VLC or OpenCV?

Test Live Stream

#1Vue 3 HLS Player Component

Mount HLS.js on HTML5 video elements in Vue 3:

Vue 3 HLS.js Component
<script setup lang="ts">
import { ref, onMounted, onUnmounted } from 'vue';
import Hls from 'hls.js';

const props = defineProps<{ streamUrl: string }>();
const videoElement = ref<HTMLVideoElement | null>(null);
let hls: Hls | null = null;

onMounted(() => {
  if (videoElement.value && Hls.isSupported()) {
    hls = new Hls({ lowLatencyMode: true, maxBufferLength: 4 });
    hls.loadSource(props.streamUrl);
    hls.attachMedia(videoElement.value);
  }
});

onUnmounted(() => {
  if (hls) hls.destroy();
});
</script>

<template>
  <video ref="videoElement" autoplay muted playsinline class="rounded-xl border border-slate-800" />
</template>

Ready to test your live RTSP video stream?

Generate free authenticated RTSP links with unlimited bandwidth and inspect frame timestamps in seconds.

Generate Free RTSP Link

Related Tutorials & Setup Guides

View all 100+ guides