| | |
| | | <span style="color: #fff; font-size: 2.5rem; font-weight: bold" |
| | | >è§é¢çæ§å³ä¾§</span |
| | | > |
| | | <!-- <video |
| | | id="video" |
| | | controls |
| | | autoplay |
| | | muted |
| | | width="100%" |
| | | height="100%" |
| | | ></video> --> |
| | | <img src="@/assets/imgs/right.png" alt="" /> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </template> |
| | | <script setup> |
| | | import { ref, onMounted, nextTick, onUnmounted } from "vue"; |
| | | import { |
| | | ref, |
| | | onMounted, |
| | | nextTick, |
| | | onUnmounted, |
| | | onActivated, |
| | | onDeactivated, |
| | | onBeforeUnmount, |
| | | } from "vue"; |
| | | import { useRouter } from "vue-router"; |
| | | import { ElMessage } from "element-plus"; |
| | | import { |
| | |
| | | |
| | | client.value.onerror = function () {}; |
| | | }; |
| | | |
| | | //è§é¢çæ§ |
| | | const webRtcServer = ref(); |
| | | // webrtcæå¡å¨å°å |
| | | const IP = "http://127.0.0.1:8000"; |
| | | |
| | | // å建è§é¢å®ä¾ |
| | | |
| | | const initVideo = () => { |
| | | webRtcServer.value = new WebRtcStreamer("video", IP); |
| | | //éè¦æ¥ççrtspå°å,æ ¹æ®èªå·±çæåå¤´ä¼ å
¥å¯¹åºçrtspå°åå³å¯ã |
| | | //注æï¼è§é¢ç¼ç æ ¼å¼å¿
é¡»æ¯H264çï¼å¦åæ æ³æ£å¸¸æ¾ç¤ºï¼ç¼ç æ ¼å¼å¯å¨æå头çåå°æ´æ¹ |
| | | webRtcServer.value.connect( |
| | | "rtsp://admin:MXmx2380#@192.168.1.168:554/h264/Camera 01/main/av_stream" |
| | | ); |
| | | }; |
| | | //rtsp://admin:MXmx2380#@192.168.1.168:554/h264/ch1/main/av_stream |
| | | // 鿝è§é¢å®ä¾ |
| | | |
| | | const destroyVideo = () => { |
| | | webRtcServer.value && |
| | | (webRtcServer.value.disconnect(), (webRtcServer.value = null)); |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | initVideo(); |
| | | // çå¬çªå£å¤§å°åå |
| | | window.addEventListener("resize", () => { |
| | | nextTick(() => { |
| | |
| | | // getPosition(); |
| | | getParameter(); |
| | | }); |
| | | // 页颿¿æ´» |
| | | |
| | | onActivated(() => { |
| | | // ç¼åé¡µé¢ æå¼é¡µé¢ å®ç°ææ¾ |
| | | const video = document.getElementById("video"); |
| | | video.paused && video.play(); |
| | | }); |
| | | // 页é¢åç¨ |
| | | |
| | | onDeactivated(() => { |
| | | // ç¼åé¡µé¢ ç¦»å¼é¡µé¢ å®ç°æå |
| | | const video = document.getElementById("video"); |
| | | video.play && video.pause(); |
| | | }); |
| | | |
| | | onBeforeUnmount(() => { |
| | | destroyVideo(); |
| | | }); |
| | | onUnmounted(() => { |
| | | isStart.value = false; |
| | | clearInterval(timer.value); |