소스 검색

player初始化

liuqiang 1 년 전
부모
커밋
7d8846a9c9
2개의 변경된 파일66개의 추가작업 그리고 53개의 파일을 삭제
  1. 1 1
      index.html
  2. 65 52
      src/views/SacnPage/SacnPage.vue

+ 1 - 1
index.html

@@ -9,6 +9,6 @@
   <body>
     <div id="app"></div>
     <script type="module" src="/src/main.js"></script>
-    <script src="/module/PlayerControl.js"></script>
+    <script src="module/PlayerControl.js"></script>
   </body>
 </html>

+ 65 - 52
src/views/SacnPage/SacnPage.vue

@@ -85,36 +85,69 @@ const uploadLock = ref(true); // 上传锁
 let backTimer = null; // 返回计时器
 const canUpload = ref(true); // 是否可以上传
 let tracker;
+
+// ------------------- NVR 相关配置 ------------------- 
+const NVRInit = () => {
+  let options = {
+    wsURL: "ws://" + "192.168.101.108" + ":" + "80" + "/rtspoverwebsocket",
+    rtspURL:
+    "rtsp://" +
+    "192.168.101.108"+":" +
+    "80" +
+    "/cam/realmonitor?channel=" +
+    1 +
+    "&subtype=" +
+    0 +
+    "&proto=Private3",
+    username: "admin",
+    password: "admin123",
+  };
+  let videoObj = document.getElementById("video");
+  let canvasObj = document.getElementById("canvas");
+  const player = new PlayerControl(options);
+  console.log(player, "player");
+  player.on("WorkerReady", function () {
+    //当文件准备完成后,开始拉流。
+    player.connect();
+  });
+  player.init(videoObj, canvasObj); // 初始化播放器
+  // RPC.login('admin', 'admin123', false).then((res)=>{
+  //   console.log(res,'res');
+  // })
+};
+
+
+//-----------------------------------------------
 // 检查摄像头并设置视频流
-async function checkCamera() {
-  // 获取媒体设备信息
-  const navigator = window.parent.navigator.mediaDevices;
-  if (!navigator) {
-    window.alert("该浏览器不支持开启摄像头,请更换最新版浏览器");
-  }
-  //   console.log(navigator, "navigator");
-  //判断用户是否拥有摄像头
-  const devices = await navigator.enumerateDevices();
+// async function checkCamera() {
+//   // 获取媒体设备信息
+//   const navigator = window.parent.navigator.mediaDevices;
+//   if (!navigator) {
+//     window.alert("该浏览器不支持开启摄像头,请更换最新版浏览器");
+//   }
+//   //   console.log(navigator, "navigator");
+//   //判断用户是否拥有摄像头
+//   const devices = await navigator.enumerateDevices();
 
-  // 如果存在媒体设备,获取摄像头视频流
-  if (devices) {
-    // 请求用户媒体设备(摄像头)
-    const stream = await navigator.getUserMedia({
-      audio: false,
-      video: {
-        width: 280, // 设置视频宽度
-        height: 280, // 设置视频高度
-        facingMode: "user", // 使用前置摄像头
-      },
-    });
+//   // 如果存在媒体设备,获取摄像头视频流
+//   if (devices) {
+//     // 请求用户媒体设备(摄像头)
+//     const stream = await navigator.getUserMedia({
+//       audio: false,
+//       video: {
+//         width: 280, // 设置视频宽度
+//         height: 280, // 设置视频高度
+//         facingMode: "user", // 使用前置摄像头
+//       },
+//     });
 
-    // 如果视频元素存在,将视频流绑定到视频元素上并开始播放
-    if (videoEl.value) {
-      videoEl.value.srcObject = stream;
-      videoEl.value.play();
-    }
-  }
-}
+//     // 如果视频元素存在,将视频流绑定到视频元素上并开始播放
+//     if (videoEl.value) {
+//       videoEl.value.srcObject = stream;
+//       videoEl.value.play();
+//     }
+//   }
+// }
 
 // 拍摄函数,截取摄像头当前帧并显示在页面上
 function shoot() {
@@ -291,10 +324,9 @@ const init = () => {
 //调接口把图片传到后端
 const uploadImgFn = (imageDataUrl) => {
   // 发送原生axios请求地址为192.168.101.13/face-login
-  if(!canUpload.value) {
-    uploadImgFn()
-    return
-  };
+  if (!canUpload.value) {
+    return;
+  }
   canUpload.value = false;
   setTimeout(() => {
     canUpload.value = true;
@@ -325,35 +357,16 @@ const uploadImgFn = (imageDataUrl) => {
       console.log(error);
     });
 };
-// // 上传图片
-// const screenshotAndUpload = () => {
-//   // 上锁避免重复发送请求
-//   uploadLock.value = false;
-
-//   // 绘制当前帧图片转换为base64格式
-//   // let canvas = document.getElementById("screenshotCanvas");
-//   // let data = video.value;
-//   // console.log('canvas',canvas);
-//   // let ctx = canvas.getContext("2d");
-//   // ctx.clearRect(0, 0, canvas.width, canvas.height);
-//   // ctx.drawImage(data, 0, 0, canvas.width, canvas.height);
-//   let base64Img = canvas.toDataURL("image/jpeg");
-
-//   // 使用 base64Img 请求接口即可
-//   // console.log("base64Img:", base64Img);
-
-//   // 请求接口成功以后打开锁
-//   // this.uploadLock = true;
-// };
 
 // 在组件挂载后执行检查摄像头的操作
 onMounted(() => {
-  checkCamera();
+  // checkCamera();
   // setTimeout(() => {
   //   shoot();
   // }, 3000);
   pagInit();
   init();
+  NVRInit();
   backTimer = setTimeout(() => {
     router.push("/");
   }, 30000);