Uniapp_集成海康监控视频

展示效果如下:

1、到海康开放平台下载播放器开发包,并解压 

2、 将海康文件夹 bin 中文件除 txt 文件,放入当前 uniapp 项目中(在 static 中新建文件夹 lib 放置其中)

3、在 lib 目录下创建 webplayer.html 文件

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <script src="./h5player.min.js"></script>
    <style type="text/css">
      .myplayer {
        width: 90vw;
        height: 28vh;
        border-radius: 2vh;
        overflow: hidden;
      }
    </style>
  </head>
  <body>
    <div id="play_window" class="myplayer"></div>

    <script>
      // 初始化插件
      var myPlugin = new JSPlugin({
        szId: "play_window", //需要英文字母开头 必填
        szBasePath: "./", // 必填,引用H5player.min.js的js相对路径
      });
      play();

      function play() {
        // 视频流
        var playURL = GetQueryString("cameraUrl");
        console.log("视频流地址:", playURL);
        // 窗口下标
        var curIndex = 0;
        // 获取监控点唯一标识,方便作为抓图存储的key
        // var cameraIndexCode = GetQueryString("cameraIndexCode")
        // 视频预览
        myPlugin
          .JS_Play(
            playURL,
            {
              playURL,
              mode: 1, // 0 普通模式 / 1 高级模式
            },
            curIndex
          )
          .then(
            () => {
              console.info("JS_Play success ");
              // 设置取流连接超时时间
              let nTime = 300000;
              myPlugin.JS_SetConnectTimeOut(curIndex, nTime).then(
                () => {
                  console.info("JS_SetConnectTimeOut success");
                  myPlugin.JS_OpenSound(curIndex).then(
                    () => {
                      console.info("JS_OpenSound success");
                    },
                    (err) => {
                      console.info("JS_OpenSound failed");
                    }
                  );
                },
                (err) => {
                  console.info("JS_SetConnectTimeOut failed", err);
                }
              );
            },
            (err) => {
              console.info("JS_Play failed:", err);
            }
          );
        myPlugin.JS_FullScreenDisplay(true);
        // myPlugin.JS_FullScreenSingle(curIndex)
        //开启声音
      }

      // 截图
      function onScreenshot() {
        console.log("点击截屏");
        // 窗口下标
        var curIndex = 0;
        // 获取监控点唯一标识,方便作为抓图存储的key
        // var cameraIndexCode = GetQueryString("cameraIndexCode")
        // 文件名称
        var fileName = "img";
        // 文件类型
        var fileType = "JPEG";
        //下载到本地
        myPlugin.JS_CapturePicture(curIndex, fileName, fileType).then(
          (res) => {
            console.info("JS_CapturePicture success");
          },
          (err) => {
            console.info("JS_CapturePicture failed", err);
          }
        );
      }

      //取url中的参数值
      function GetQueryString(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
        var r = window.location.search.substr(1).match(reg);
        if (r != null) return unescape(r[2]);
        return null;
      }
    </script>
  </body>
</html>

 4、集成在监控播放页面中

项目中的海康监控播放页面使用 web-view 控件,通过传入的动态src【插件播放器页面地址+监控通道url地址】向页面传入参数等即可实现监控播放器播放

<template>
  <view class="video">
    <web-view :src="webURL"></web-view>
  </view>
</template>
<script>
export default {
  data() {
    return {
      webURL: "", // web-view要引入的页面url
      cameraIndexCode: "", // 监控设备编号
      url: "", //接口回调的url播放地址
    };
  },
  onLoad(option) {
    this.getDetail(option.id);
  },
  methods: {
    getDetail(idData) {
      this.$u.api
        .getmonitor({
          id: idData,
          protocol: "ws",
        })
        .then((res) => {
          if (res.data == null) {
            this.$u.toast("视频流地址为空");
          }
          this.url = res.data;
          this.previewURLs();
        })
        .catch((error) => {
          console.error(error);
        });
    },
    // 获取视频流
    previewURLs() {
      // 视频流需要根据监控设备编号获取 接口请求这里省略
      // cameraUrl 走后台接口获取到监控的视频流
      this.webURL = "/static/lib/webplayer.html?cameraUrl=" + this.url;
    },
  },
};
</script>
<style scoped lang="scss"></style>
您可以通过引入海康威视的web开发包来实现uniapp集成海康威视摄像头的功能。首先,您需要下载并解压海康威视web开发包,可以在中找到下载链接。然后,在uniapp项目的static文件夹下创建一个文件目录,比如命名为H5player。接下来,将开发包中的demo文件目录中的内容放到static文件夹下的H5player目录中,如所描述的。接着,您可以按照web开发包的文档,通过调用其中提供的接口,来进行初始化插件、调整大小、登录、获取设备基本信息、获取通道等操作。具体参考中的接口封装示例。通过这些步骤,您就可以在uniapp中成功集成海康威视摄像头了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Uniapp 引入海康视频](https://blog.csdn.net/reverb_/article/details/128566918)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [vue+js+海康web开发包接入海康威视摄像头](https://download.csdn.net/download/weixin_46653941/87555074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值