大华监控前端实时预览(DHplayer)官方插件

介绍:采用vue2+大华官方插件DHplaye+rtsp拉流实现前端预览

1.根据官方文档安装引入插件

 

 2.再vue项目中引入插件

import DHPlayer from '@/components/DHPlayer/index'

3.模板中使用

<template>
  <DHPlayer
    ref="dhplayer"
    video-id="dhplayer"
    :window-type="0"
    :num="9"
    @createSuccess="createSuccess"
  />
</template>

windowType:视频类型 0 实时,1录像

num: 子窗口数

createSuccess: 插件创建成功时调用

4.调后端接口,获取要展示监控点的通道号和rtsp地址

methods: {
    // 获取已上架监控点rtsp
    getRtsp() {
      this.$get('gardan/device/getCameraUrl', {}).then(
        r => {
          console.log(r.data)
          const data = r.data.data
          data.forEach((item, index) => {
            this.$refs.dhplayer.realByUrl({
              channelId: item.channelId, // 通道号
              path: item.path,           // rtsp地址
              redirect: false            // 是否重定向
            }, index)                    // index子窗口下标
          })
        }
      )
    },
    createSuccess() {
      console.log('创建成功')
      this.getRtsp()
    }
  }

循环调用 this.$refs.dhplayer.realByUrl

5.最终效果

 总结:目前项目需求只要求实时预览功能,需要回放录像,对讲功能请参考大华播放控件开 发手册

 另外还对接了一套海康插件,需要的我可以分享一下

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
以下是一个使用Java对接大华SDK视频监控实时播放和回放的示例代码: 1. 导入大华SDK的jar包 在项目中导入大华SDK的jar包,可以在官网下载SDK并按照文档进行安装。 2. 初始化SDK 在程序入口处初始化SDK,代码如下: ```java HCNetSDK hCNetSDK = HCNetSDK.INSTANCE; boolean initSuc = hCNetSDK.NET_DVR_Init(); if (!initSuc) { System.out.println("SDK初始化失败"); return; } ``` 3. 登录设备 使用SDK提供的登录方法登录设备,代码如下: ```java HCNetSDK.NET_DVR_DEVICEINFO_V30 deviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V30(); int lUserID = hCNetSDK.NET_DVR_Login_V30("设备IP地址", 口号, "用户名", "密码", deviceInfo); if (lUserID < 0) { System.out.println("设备登录失败"); return; } ``` 4. 实时预览视频 使用SDK提供的预览方法进行实时预览,代码如下: ```java NativeLong lRealHandle = hCNetSDK.NET_DVR_RealPlay_V40(lUserID, previewInfo, null); if (lRealHandle.longValue() < 0) { System.out.println("预览失败"); return; } ``` 其中,previewInfo是一个NET_DVR_PREVIEWINFO结构体,可以通过以下代码进行初始化: ```java HCNetSDK.NET_DVR_PREVIEWINFO previewInfo = new HCNetSDK.NET_DVR_PREVIEWINFO(); previewInfo.lChannel = 1; // 预览的通道号 previewInfo.dwStreamType = 1; // 码流类型,1-主码流,2-子码流 previewInfo.bBlocked = true; // 是否阻塞取流 ``` 5. 停止预览 使用SDK提供的停止预览方法停止实时预览,代码如下: ```java hCNetSDK.NET_DVR_StopRealPlay(lRealHandle); ``` 6. 回放视频 使用SDK提供的回放方法进行视频回放,代码如下: ```java NativeLong lPlayHandle = hCNetSDK.NET_DVR_PlayBackByTime_V40(lUserID, playbackInfo, null); if (lPlayHandle.longValue() < 0) { System.out.println("回放失败"); return; } ``` 其中,playbackInfo是一个NET_DVR_PLAYCOND结构体,可以通过以下代码进行初始化: ```java HCNetSDK.NET_DVR_TIME startTime = new HCNetSDK.NET_DVR_TIME(); startTime.dwYear = 2022; startTime.dwMonth = 2; startTime.dwDay = 1; startTime.dwHour = 0; startTime.dwMinute = 0; startTime.dwSecond = 0; HCNetSDK.NET_DVR_TIME endTime = new HCNetSDK.NET_DVR_TIME(); endTime.dwYear = 2022; endTime.dwMonth = 2; endTime.dwDay = 1; endTime.dwHour = 23; endTime.dwMinute = 59; endTime.dwSecond = 59; HCNetSDK.NET_DVR_PLAYCOND playbackInfo = new HCNetSDK.NET_DVR_PLAYCOND(); playbackInfo.struStartTime = startTime; playbackInfo.struStopTime = endTime; playbackInfo.byDrawFrame = 1; playbackInfo.byStreamType = 0; ``` 7. 停止回放 使用SDK提供的停止回放方法停止视频回放,代码如下: ```java hCNetSDK.NET_DVR_StopPlayBack(lPlayHandle); ``` 以上是一个简单的使用Java对接大华SDK视频监控实时播放和回放的示例,具体实现还需要根据自己的需求进行改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值