RtspStream.vue 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <script setup>
  2. import { onMounted, onBeforeUnmount } from "vue";
  3. import videojs from "video.js";
  4. import "video.js/dist/video-js.css";
  5. // import "videojs-contrib-hls";
  6. onMounted(() => {
  7. const player = videojs("videoPlayer", {
  8. techOrder: ["html5"],
  9. sources: [
  10. {
  11. src: "https://cmm.ai:9101/stream.m3u8", // 替換成 HTTP 服務器地址
  12. type: "application/x-mpegURL",
  13. },
  14. ],
  15. });
  16. onBeforeUnmount(() => {
  17. if (player) {
  18. player.dispose();
  19. }
  20. });
  21. });
  22. </script>
  23. <template>
  24. <div class="rtsp-video-content">
  25. <video
  26. id="videoPlayer"
  27. class="video-js vjs-default-skin"
  28. autoplay
  29. muted
  30. playsinline
  31. preload="auto"
  32. ></video>
  33. </div>
  34. </template>
  35. <style lang="scss" scoped>
  36. .rtsp-video-content {
  37. width: 100vw;
  38. height: 100vh;
  39. overflow: hidden;
  40. margin: 0;
  41. padding: 0;
  42. transform: rotate(180deg);
  43. background-color: #000;
  44. video {
  45. position: absolute;
  46. top: 0;
  47. left: 0;
  48. width: 100vw !important;
  49. height: 100vh !important;
  50. }
  51. }
  52. </style>