vue项目集成萤石云在Web系统中实现实时摄像头监控及控制功能

需求

需求: 开发人员在产线上放置一个萤石摄像头,前端在可视化大屏上实时监控,且控制左右上下功能。

效果

vue项目集成萤石云在Web系统中实现实时摄像头监控及控制功能

萤石云接入web前期准备工作

  1. 阅读萤石云API文档:萤石云开放平台开发者文档

  2. 阅读萤石云控制API文档:萤石云摄像头控制文档

  3. 需要准备设备序列号,萤石云视频地址,accessToken,在代码中我将会写成乱码形式。

  4. 了解调用API时候返回的错误码,根据错误码做出响应的操作:萤石云调用API时出现的错误码

  5. 萤石云参数说明:参数说明,使用地址
    vue项目集成萤石云在Web系统中实现实时摄像头监控及控制功能

  6. vue项目安装依赖

    npm install ezuikit-js@0.2.4
    

vue项目集成萤石云在Web系统中实现实时摄像头监控及控制功能
7. 页面引入ezuikit

import EZUIKit from "ezuikit-js";
  1. 页面使用,及其控制开关实现
<template>
  <div>
    <div id="video-container" ref="video" class="content video">视频</div>
    <div class="btn_box">
      <el-button
        style="margin-left: 10px;"
        round
        size="mini"
        icon="el-icon-top-left"
        @click="directionControl(4)"
      ></el-button>
      <el-button
        round
        size="mini"
        icon="el-icon-top"
        @click="directionControl(0)"
      ></el-button>
      <el-button
        round
        size="mini"
        icon="el-icon-top-right"
        @click="directionControl(6)"
      ></el-button>
      <el-button
        round
        size="mini"
        icon="el-icon-back"
        @click="directionControl(2)"
      ></el-button>
      <el-button
        round
        size="mini"
        icon="el-icon-video-play"
        @click="stopTurn"
      ></el-button>
      <el-button
        round
        size="mini"
        icon="el-icon-right"
        @click="directionControl(3)"
      ></el-button>
      <el-button
        round
        size="mini"
        icon="el-icon-bottom-left"
        @click="directionControl(5)"
      ></el-button>
      <el-button
        round
        size="mini"
        icon="el-icon-bottom"
        @click="directionControl(1)"
      ></el-button>
      <el-button
        round
        size="mini"
        icon="el-icon-bottom-right"
        @click="directionControl(7)"
      ></el-button>
    </div>
  </div>
</template>
  1. 相关JS代码

import EZUIKit from "ezuikit-js";
import axios from "axios";
export default {
  mounted() {
    this.initEZUIKitPlayer();
  },
  data() {
    return {
      eZUIKitPlayer: null,
      accessToken:
        "at.b1bw5w7f8ogfo0rjcd5chidksjdu9jty-361f07133z-1oity3u-dth2n7yvl",
      accessUrl: "ezopen://open.ys7.com/F6293ADF88/1.hd.live",
    };
  },
  methods: {
    //停止控制控制云台
    stopTurn() {
      axios({
        url: "https://open.ys7.com/api/lapp/device/ptz/stop",
        method: "post",
        params: {
          accessToken: this.accessToken,
          // direction:num,
          channelNo: 1, // 通道号
          deviceSerial: "F6245FF7788", //序列号
        },
        timeout: 2000,
      }).then((res) => {
        //  console.log(res.data)
        if (res.data.code == "60000") {
          this.$message(res.data.msg);
        }
      });
    },
    // 云平台控制
    directionControl(num) {
      axios({
        url: "https://open.ys7.com/api/lapp/device/ptz/start",
        method: "post",
        params: {
          accessToken: this.accessToken, //accesstoken码,一般一周过期
          speed: 2, //旋转速度
          direction: num, //方向,传入数字,对应数字在api文档有
          channelNo: 1, // 通道号
          deviceSerial: "F62937788", //序列号
        },
        timeout: 2000,
      }).then((res) => {
        if (res.data.code == "60000") {
          this.$message(res.data.msg);
        }
      });
    },
    // 初始化萤石云视频对接
    initEZUIKitPlayer() {
      this.eZUIKitPlayer = new EZUIKit.EZUIKitPlayer({
        id: "video-container",
        accessToken: this.accessToken,
        url: this.accessUrl,
        header: ["capturePicture", "save", "zoom"],
        footer: ["fullScreen"],
        width: 375,
        height: 257,
        autoplay: true,
        audio: 1,
        template: "simple",
      });
    },
  },
};
</script>
  1. CSS相关代码

<style lang="scss" scoped>
.content {
  background: #fff;
  height: 368px;
}
.btn_box {
  margin: 0px auto;
  width: 190px;
  height: 125px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-content: space-around;
}
</style>
  1. 获取实时视频API说明

vue项目集成萤石云在Web系统中实现实时摄像头监控及控制功能
后续了解更多功能,继续更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/662622.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

企业电脑加密系统是如何发展的,今天最可靠的电脑加密系统是什么

企业电脑加密系统历经了几十年的发展&#xff0c;如今技术已经逐渐成熟&#xff0c;加密强度和防泄密效果越来越显著&#xff0c;那么它是怎么发展的&#xff0c;以及当今使用的加密技术是什么呢&#xff1f; 一、发展历程 1.早期探索阶段&#xff1a; 时间&#xff1a;上世纪…

SELINUX=enforcing时无法启动httpd服务的解决方案(semanage命令以及setroubleshoot-server插件的妙用)

一、问题描述&#xff1a; 当/etc/selinux/conf被要求必须是SELINUXenforcing&#xff0c;不被允许使用setenforce 0宽松模式 我们启动httpd就会报错&#xff1a; Job for httpd.service failed because the control process exited with error code. See "systemctl s…

在outlook的邮件中插入HTML;HTML模板获取;页面组态手动生成HTML

本文介绍如何在outlook发送邮件时&#xff0c;在邮件中插入HTML&#xff0c;此HTML可以从获取模板自行进行修改。 文章目录 一、下载HTML模板&#xff08;或自己制作好HTML文件&#xff09;二、outlook新增宏三、新建邮件&#xff0c;插入HTML四、通过图像化页面组态手动生成HT…

sprongboot+vue 游泳馆管理系统

游泳馆管理系统 spring bootvue 主要有游泳课程预约、网上购票、教练预约、游泳器材管理、会员管理等功能&#xff1b; 1、管理员 登录、修改密码 购票管理&#xff1a;查看订单、删除订单、修改订单 教练管理&#xff1a;教练信息查询、修改 课程信息&#xff1a;增删改查课程…

2024-5-29 石群电路-17

2024-5-29&#xff0c;星期三&#xff0c;17:26&#xff0c;天气&#xff1a;晴&#xff0c;心情&#xff1a;晴.今天又是阳光明媚的一天&#xff0c;没有什么特别的事情发生&#xff0c;给女朋友做了好吃的&#xff0c;吃了西瓜&#xff0c;加油学习&#xff0c;嘻嘻嘻~~~~ 今…

JVM之垃圾判断的详细解析

垃圾判断 垃圾介绍 垃圾&#xff1a;如果一个或多个对象没有任何的引用指向它了&#xff0c;那么这个对象现在就是垃圾 作用&#xff1a;释放没用的对象&#xff0c;清除内存里的记录碎片&#xff0c;碎片整理将所占用的堆内存移到堆的一端&#xff0c;以便 JVM 将整理出的内…

ADF: 获取Data Lake Storage上的文件列表并根据文件名删除文件

假设 Data Lake 上有个test的文件夹&#xff0c;有如下文件 目标&#xff1a;使用Azure Data Factory的Pipeline获取这个目录下的文件名列表&#xff0c;并删除掉以"ETC"开头的文件。 步骤&#xff1a; 1. 需要在Linked services中新建一个能连接到Data Lake的连接…

Type ‘null‘ is not assignable to type ‘T‘. - ArkTSCheck

设置泛型将参数配置为 null 时抛出了如下异常: Type null is not assignable to type T. T could be instantiated with an arbitrary type which could be unrelated to null. <ArkTSCheck> 解决办法 在 null 后面添加 ! 即可,以表示该值不会为 null data: T null! 以…

CPU占用率很高,相应很慢排查思路

获取线程状态 通过top -c命令可以动态显示进程及其占用资源的排行榜 可以看到&#xff0c;CPU占用率100%的PID是80972&#xff0c;定位到该进程之后&#xff0c;我们再从线程的dump日志中去定位. 使用top -H -p 80972命令查找到该进程中消耗CPU最多的线程&#xff0c;从下面的…

鸿蒙开发接口图形图像:【@ohos.window (窗口)】

窗口 窗口提供管理窗口的一些基础能力&#xff0c;包括对当前窗口的创建、销毁、各属性设置&#xff0c;以及对各窗口间的管理调度。 该模块提供以下窗口相关的常用功能&#xff1a; [Window]&#xff1a;当前窗口实例&#xff0c;窗口管理器管理的基本单元。[WindowStage]&…

[Qt]关于QListWidget、QScrollArea 为什么在QDesigner上设置了之后界面上仍然不生效的问题

前言 最近做了一些有关QListWidget和QScrollArea的控件&#xff0c;我去&#xff0c;这两个控件是真的坑&#xff0c;明明我在QDesigner的操作界面上对这两个控件的界面进行了修改&#xff0c;但是编译出来的软件就是看上去什么都没有&#xff0c;很坑&#xff0c;Gpt也没解决…

【贪心算法】C++解决回文串、增减字符串匹配、分发饼干、跳跃游戏、加油站问题

1. 前言 贪心算法&#xff08;Greedy Algorithm&#xff09;是一种在每一步选择中都采取当前状态下最优决策的算法。贪心算法通常用来解决最优化问题&#xff0c;其核心思想是通过局部最优解逐步推导出全局最优解。 在贪心算法中&#xff0c;我们并不总是考虑到未来可能发生的…

Centos7网络故障,开机之后连不上网ens33mtu 1500 qdisc noop state DOWN group default qlen 1000

说明 这是Linux系统网络接口的信息&#xff0c;其中"mtu 1500"表示最大传输单元大小为1500字节&#xff0c;“qdisc noop”表示没有设置特殊的队列算法&#xff0c;“state down”表示该接口当前处于关闭状态&#xff0c;“group default”表示该接口属于“default”…

Java设计模式:享元模式实现高效对象共享与内存优化(十一)

码到三十五 &#xff1a; 个人主页 目录 一、引言二、享元设计模式的概念1. 对象状态的划分2. 共享机制 三、享元设计模式的组成四、享元设计模式的工作原理五、享元模式的使用六、享元设计模式的优点和适用场景结语 [参见]&#xff1a; Java设计模式&#xff1a;核心概述&…

企业如何打造通证经济生态闭环详解(下)

一、原始账户&#xff1a;用户注册即生成【原始账户】【托管账户】。 原始账户用于存储用户所获取的通证积分&#xff0c;原始账户的公钥与私钥由用户所有&#xff0c;安全、私密、去中心化。 通过原始账户&#xff0c;用户可进行转账、收款的点对点传输&#xff0c;并可查看…

I2C协议详解

文章目录 概念工作模式 原理工作原理工作流程IIC协议的关键特点IIC通信过程 优点与缺点优点缺点 概念 IIC&#xff08;Inter-Integrated Circuit&#xff09;协议&#xff0c;也常被称为TWI&#xff08;Two-Wire Interface&#xff09;协议&#xff0c;是一种用于短距离通信的…

CyberDAO M级共识交流会·西安站圆满落幕:共筑Web3美好未来

CyberDAO M级共识交流会于2024年5月28日在西安隆重举行&#xff0c;这是一场CyberDAO精英汇聚的盛会&#xff0c;以同心共筑&#xff0c;志在必达为主题口号与DAO精英携手并进&#xff0c;共筑CyberDAO美好宏图。CyberDAO的使命是降低WEB3的门槛&#xff0c;帮助用户轻松抓住行…

STM32的时钟介绍

目录 前言1. 简介1.1 时钟是用来做什么的1.2 时钟产生的方式 2. 时钟树的组成2.1 时钟源2.1.1 内部时钟2.1.2 外部时钟 2.2 PLL锁相环2.3 SYSCLK2.4 AHB和HCLK2.5 APB和PCLK2.6 总结 3. STM32时钟的使用步骤4.我的疑问4.1 使用MSI和HSI有什么区别吗&#xff1f;4.2 MSI的频率为…

【ai】livekit:Agents 4: livekit-plugins-openai和LiveKit Plugins Silero安装与分析

先提高下性能然后本文 继续按照 上一篇【ai】livekit:Agents 3 : pythonsdk和livekit-agent的可编辑模式下的安装构建 livekit-gent的插件。pycharm 工程 配置Microsoft Defender 排除列表 livekit-plugins-openai 本地安装

window自动启动bat文件

开机自动开启远程桌面&#xff0c; WinR 执行netplwiz 命令进入设置&#xff1b;取消勾选&#xff0c;可选择所需用户&#xff0c;点击应用&#xff0c;输入远程的密码即可 开机自动开启远程桌面&#xff0c; WinR 执行netplwiz 命令进入设置&#xff1b;取消勾选&#xff0…