Skip to content

❤ Vue海康萤石视频回放和云台控制功能

前端Vue使用海康萤石直播、回放、云台控制功能

1、官网文档:【萤石开放文档】

UIKit Javascript · 萤石开放平台API文档 (ys7.com)

☞ 最新代码和demo

github.com/Ezviz-OpenB…

☞ 云台控制功能

云台 · 萤石开放平台API文档 (ys7.com)

!问题1 老版本监控回放二合一模块 引入后无法隐藏DOM节点 需手动删除

!问题2 老版本监控回放二合一模块和新版本模块无法共用 不可以引入两个库 否则会造成模块切换后报错

———————————————————————————

2、简单使用

使用:【轻应用(H5/web)=>UIKit Javascript 】

官网文档地址: open.ys7.com/doc/zh/uiki…

npm 官网相关文档介绍: www.npmjs.com/package/ezu…

☞ 安装依赖

javascript
npm install ezuikit-js

☞ main.js内引入

javascript
import EZUIKit from 'ezuikit-js';
plain
<template>
  <div>
      <div id="videoPlayr"></div>
  </div>
</template>
 
<script>
 
import EZUIKit from "ezuikit-js";
var player = null;
export default {
  data(){
    return{
        videoInfo:{
            deviceurl:'',
            accessToken:'',
            deviceCode:'',
            deviceSerial:'',
          },
    }
  },
  methods: {
    videoPlayer() {
      player = new EZUIKit.EZUIKitPlayer({
        autoplay: true,
        id: "videoPlayr",   // 播放控件的ID
        accessToken: this.videoInfo.accessToken,   // 后端给的Token
        url: this.videoInfo.deviceurl,         // 后端给的URL
        template: "security", // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版;
        width: 1100,
        height: 563,
      });
  }
};
</script>

3、进阶方法调用

(1)停止播放

plain
play.stop()

4、问题以及解决方法:

- A切换到B设备播放时,A依旧在播放

player.stop()

- 在播放时,切换到其他模块/页面 也会造成关闭当前模块/页面后依旧在播放的问题

☞ 解决方法

在销毁时调用停止播放方法 (必须加)

- 视频销毁【调用萤石云ezuikit-js的视频对象销毁】

① 调用html原生
plain
document.getElementById('video-container1').innerHTML= "";

没起效果,元素虽然内容去掉,但是视频声音依然在

② 原生js remove()

(经检测十分的好用)

plain
if (_this[`${'player'+i}`]) {
  var stopPromise = _this[`${'player'+i}`].stop();
  stopPromise.then((data) => {
    _this[`${'player'+i}`] = null;
    let mdaid = "#videoPlayr" + i+'-wrap';
    document.querySelector(mdaid).remove();
  });
}

友情提示:

萤石视频存在问题不少,建议第一次使用的用户还是去使用阿里云带的!

Released under the MIT License.