位置: IT常识 - 正文

vue集成海康h5player实现播放(h5调用海康摄像头)

编辑:rootadmin
vue集成海康h5player实现播放 文章目录前言准备工作视频demo官方文档官方工具开源工具开始开发效果问题点前言

推荐整理分享vue集成海康h5player实现播放(h5调用海康摄像头),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:海康威视web插件,uniapp海康威视,海康 html,vue海康威视,vue集成海康威视nvr视频回放,vue集成海康web控制,vue集成海康威视nvr视频回放,vue海康威视,内容如对您有帮助,希望把文章链接给更多的朋友!

本篇章只针对官方提供个h5player工具,做播放和分屏demo。

当然本篇章也是针对已经接触了海康视频对接的开发者。

准备工作视频demo官方文档

API https://open.hikvision.com/docs/docId?productId=5c67f20bb254d61550c2f63e&version=%2F658c4efa2595486c9ff140401628ff41&curNodeId=39e50b5c0aa84b47995614c9a102b75f

官方工具

https://open.hikvision.com/download/5c67f20bb254d61550c2f63e?type=10&id=53a1d2fe6a6f4b34b7aaccd37cd9c73d

开源工具

Dplayer:https://dplayer.diygod.dev/,这个支持的格式也很多,不过需要MSE支持

开始开发vue集成海康h5player实现播放(h5调用海康摄像头)

代码比较简单,就直接上了,先看代码

<template> <div id="app"> <el-container> <el-row> <el-input v-model="code" placeholder="输入监控点编码" @change="onChangeCode"></el-input> <el-button @click="onSubmit">默认预览</el-button> <el-button @click="onTwoSubmit(2)">4分屏</el-button> <el-button @click="onTwoSubmit(4)">16分屏</el-button> <el-button @click="onTwoSubmit(8)">64分屏</el-button> </el-row> <el-row> <div id="player" style="width: 800px;height: 800px;"></div> </el-row> </el-container> </div></template>// 请求工具import http from '@/http/http2.js'// 官方提供的播放工具import '@/static/util/h5player.min.js'export default { name: 'hik', data () { return { // 监控点编码 code: '', // 播放器对象 player: null } }, mounted () {// 页面加载初始化 this.initPlayer() }, methods: { /** * 初始化播放器 */ initPlayer () { this.player = new window.JSPlugin({ // 需要英文字母开头 必填 szId: 'player', // 必填,引用H5player.min.js的js相对路径 szBasePath: './static/util', // 当容器div#play_window有固定宽高时,可不传iWidth和iHeight,窗口大小将自适应容器宽高 iWidth: 600, iHeight: 400, // 分屏播放,默认最大分屏4*4 iMaxSplit: 16, iCurrentSplit: 1, // 样式 oStyle: { border: '#343434', borderSelect: '#FFCC00', background: '#000' } }) }, /** * 获取取流连接 * @returns {*} */ getPreviewUrl () { let tempCode = '61077001001320000018' if (this.code) { tempCode = this.code } const param = { 'cameraIndexCode': tempCode, 'streamType': 0, 'protocol': 'ws', 'transmode': 1 }// 这里 return http.post('/ay-video-manage/video/monitor/getRealTimeMonitorVideo', param) }, /** * 播放 */ play (index) { const _this = this this.getPreviewUrl().then(res => { if (res.status !== 200) { _this.$message.warning('获取视频流失败!') return } let preUrl = res.data.data.url const param = { playURL: preUrl, // 1:高级模式 0:普通模式,高级模式支持所有 mode: 1 } // 索引默认0 if (!index) { index = 0 } _this.player.JS_Play(preUrl, param, index).then(() => { // 播放成功回调 console.log('播放成功') }, (err) => { console.log('播放失败') }) }) }, /** * 监控点更新 * @param data */ onChangeCode (data) { this.code = data this.play() }, /** * 默认预览 */ onSubmit () { this.play() }, /** * 分屏,这里我太懒了,就循环了一个视频流 */ onTwoSubmit (num) { const _this = this // 这里的分屏,是以列来算的,如果这里参数2,那么就是横竖两列,就是4格 this.player.JS_ArrangeWindow(num).then( () => { // 循环取流 for (let i = 0; i < num * num; i++) { _this.play(i) } }, e => { console.error(e) } ) } }}

这里用的js是海康工具里下的

下载之后,将/bin目录下的文件复制到项目static下,这个工具的说明文档(API)在上一层的doc下面

效果

问题点官方提供的js文件不止一个,在初始化和播放时都会调用其他的js文件,那么就存在一个路径问题,我这里将所有的js都放在了src同目录下的static下了,然后在src下,也有一个static目录,不过里面只放了一个h5player.min.js,这样在使用h5player.min.js时就能调用到其他js,在初始化播放器时,需要设置js的相对路径属性szBasePath,所有的js都会添加这个路径前缀海康视频,大部分是h264编码,但也会存在h265的视频编码,如果使用hls是播放不了h265编码格式的视频的,所有,需要找一个方式,那就是使用官方提供的这个h5playerrtsp和rtmp比较麻烦,我是不想考虑的

然后这是ws流的对视频流的支持情况

我是个业余的前端,有什么不对还望指出

本文链接地址:https://www.jiuchutong.com/zhishi/287166.html 转载请保留说明!

上一篇:Vue项目线上发布,都有缓存不生效怎么办?(vue项目上线教程)

下一篇:Narrenmuehle(愚人磨坊风车),德国Dülken (© dpa picture alliance/Alamy)(愚人二部曲)

  • 让你的微博粉丝快速倍增的八大技巧(微博粉丝怎么让别人看不见)

    让你的微博粉丝快速倍增的八大技巧(微博粉丝怎么让别人看不见)

  • 网站推广外链快速增加技巧(外链推广工具)

    网站推广外链快速增加技巧(外链推广工具)

  • 天翼机顶盒怎么用手机投屏(天翼机顶盒怎么投屏不了)

    天翼机顶盒怎么用手机投屏(天翼机顶盒怎么投屏不了)

  • iphonexs屏幕无反应(iphonexs屏幕无反应怎么强制关机)

    iphonexs屏幕无反应(iphonexs屏幕无反应怎么强制关机)

  • 华为手机怎么换应用图标(华为手机怎么换键盘)

    华为手机怎么换应用图标(华为手机怎么换键盘)

  • 控制幻灯片放映的三种方式是(控制幻灯片放映时间按钮在哪)

    控制幻灯片放映的三种方式是(控制幻灯片放映时间按钮在哪)

  • soul陌生人可见在广场可见吗(soul陌生人可见是哪些人)

    soul陌生人可见在广场可见吗(soul陌生人可见是哪些人)

  • 美团会员买一送一什么意思(美团会员买一送一)

    美团会员买一送一什么意思(美团会员买一送一)

  • 微信朋友圈背景怎么弄(微信朋友圈背景动态视频)

    微信朋友圈背景怎么弄(微信朋友圈背景动态视频)

  • 淘宝亲情号解除会有通知吗(淘宝亲情号解除双方有提示吗)

    淘宝亲情号解除会有通知吗(淘宝亲情号解除双方有提示吗)

  • 视频聊天流量耗的多吗(视频聊天 流量)

    视频聊天流量耗的多吗(视频聊天 流量)

  • 拼多多和淘宝是一家吗(拼多多和淘宝是一个老板吗)

    拼多多和淘宝是一家吗(拼多多和淘宝是一个老板吗)

  • 电话号码格式怎么输入才是正确(电话号码格式怎么填)

    电话号码格式怎么输入才是正确(电话号码格式怎么填)

  • 淘宝直播可以放录好的视频吗(淘宝直播可以放微信二维码吗)

    淘宝直播可以放录好的视频吗(淘宝直播可以放微信二维码吗)

  • iphone通知有延迟怎么解决(iphone通知延迟好久)

    iphone通知有延迟怎么解决(iphone通知延迟好久)

  • 多媒体数据压缩的标准(多媒体数据压缩编码技术有哪几种标准)

    多媒体数据压缩的标准(多媒体数据压缩编码技术有哪几种标准)

  • 小米9se有呼吸灯吗(小米9se有呼吸灯嘛)

    小米9se有呼吸灯吗(小米9se有呼吸灯嘛)

  • 滴滴报备乘客是否知道(滴滴出行报备是什么意思)

    滴滴报备乘客是否知道(滴滴出行报备是什么意思)

  • oppok5后壳是什么材质(oppok5是什么后盖)

    oppok5后壳是什么材质(oppok5是什么后盖)

  • 粉笔账号可以多人同用吗(粉笔账号可以多注册吗)

    粉笔账号可以多人同用吗(粉笔账号可以多注册吗)

  • iphone11有夜拍模式吗(iphone11夜拍模式)

    iphone11有夜拍模式吗(iphone11夜拍模式)

  • iphone8plus怎么开热点(iPhone8plus怎么开流量)

    iphone8plus怎么开热点(iPhone8plus怎么开流量)

  • iphone原彩显示要开吗(苹果原彩显示要打开吗)

    iphone原彩显示要开吗(苹果原彩显示要打开吗)

  • 视频会议系统的主要功能

    视频会议系统的主要功能

  • 苹果xmax能用电信卡吗(苹果xmax手机电池容量多大)

    苹果xmax能用电信卡吗(苹果xmax手机电池容量多大)

  • 小米互传在哪(小米互传在哪里看文件)

    小米互传在哪(小米互传在哪里看文件)

  • qq轻聊版如何看空间(qq轻聊版如何查看空间)

    qq轻聊版如何看空间(qq轻聊版如何查看空间)

  • 58同城怎么解绑身份证(58同城怎么解绑银行卡)

    58同城怎么解绑身份证(58同城怎么解绑银行卡)

  • 【今日端午】 (© su_pei/iStock/Getty Images Plus)(今天端午节是几月几号啊)

    【今日端午】 (© su_pei/iStock/Getty Images Plus)(今天端午节是几月几号啊)

  • 如何进行增值税发票认证
  • 建筑服务预征缴纳税款包括附加税吗
  • 缺少订单停工费用如何做账
  • 收入比开票多如何处理好
  • 固定资产折旧的会计处理
  • 提取法定盈余公积会计分录
  • 无形资产的使用
  • 溢价发行可转换公司债券会计分录例题
  • 资本公积是啥
  • 以前多计提了应付职工薪酬怎么平账?
  • 差额内部收益率大于基准收益率
  • 投资者撤回投资额300000
  • 理发店财务分析报告
  • 收到投资款会计科目怎么做账
  • 小规模纳税人0税率
  • 运费收入会计处理
  • 其他权益工具投资交易费用计入哪里
  • qqpcrtp.exe是什么进程 如何删除qqpcrtp进程
  • 旅游公司开具的考察费怎么入账
  • 土地补偿款会议记录范文
  • 个人二手车转让协议书免费
  • 没有取得发票的成本可以税前扣除吗
  • 房地产企业将开什么发票
  • 建筑行业挂靠开票怎么做账务处理?
  • 如何更改饿了么配送费
  • controller 层
  • 坏账准备怎么做资产负债表
  • php+mongodb
  • 普尔曼多少钱
  • 营业执照年检认缴和实缴怎么填
  • vue子组件获取dom元素的方法
  • 浅谈一下新冠的好处
  • 金蝶软件做帐流程
  • 2022年如何在股室工作中落实党风见证
  • 固定资产清理怎么入账
  • 送货运输费用税率
  • sql执行顺序优先级
  • dedecms配置
  • 个人缴纳社保部分怎么算
  • access数据库提示升级
  • 自然人扣缴客户端恢复数据
  • 老板让我做分公司负责人能接受么
  • 季度报表利润表本期金额怎么填
  • 实收资本可以以现金入账吗
  • 成品油发票如何下载库存
  • 委托加工物资核算
  • 售后维修费会计分录
  • 付设备款的会计分录
  • 一次性补缴养老保险的最新规定
  • 多交的社保费可以退吗
  • 库存商品与存货总额之比
  • 财政性银行的资金来源是什么
  • jdbc取数据
  • sql server 2005如何使用
  • mysql 5.7.31安装
  • centos安装配置ftp
  • win7系统禁止更新
  • win10连无线网络受限
  • linux中chage命令
  • opengl纹理错误变成条纹
  • bootstrap不支持ie
  • 简单阐述javascript的主要作用
  • jquery链式操作原理
  • css 网页布局
  • python利用for循环求1到100的奇数之和
  • unity3d操作
  • linux shell实战
  • jQuery基本选择器
  • 安卓手机管家推荐
  • 蛋哥的日常
  • pythondjango框架 目录结构
  • openlayers3示例
  • 晋税通注册
  • 重庆网上申报税务操作流程
  • 关于农村养殖和环保规定解资料
  • 进口lng需要什么资质
  • 7.1税务新政策
  • 在北京电子税务局怎么缴纳社保费
  • 办理养殖照税务登记证
  • 北京税务代办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设