# 海康无插件预览,云台控制,布防hikCamera **Repository Path**: sh2024/hik-camera ## Basic Information - **Project Name**: 海康无插件预览,云台控制,布防hikCamera - **Description**: 海康,大华,摄像头无插件预览,ISAPI接口封装(海康),SDK集成(海康),语音对讲(语音转发)(海康),实时语音数据(海康),云台控制(海康),支持zlmediakit流媒体播放,webrtcstreamer播放,go2rtc播放(推荐),websocket播放,项目后端采用java语言,前端vue2,jdk1.8,详细描述了流媒体服务安装启动方式 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 9 - **Created**: 2025-09-16 - **Last Updated**: 2025-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 海康,大华 摄像头浏览器中无插件预览(带音频传输),支持海康设备云台控制(上下左右,变焦),布防,预置点,喊话(语音播报),对讲(实时语音对讲,部分摄像头支持) ## 本项目支持的流媒体播放方案(附教程): ~~~ 1-使用ZLMediakit播放 2-使用websocket方式播放 3-使用webrtcstreamer播放(超低延迟) 4-使用go2rtc播放(推荐,操作简单,集成容易,超低延迟,轻量级无系统负担) ~~~ #### 项目集成演示,demo效果: ![输入图片说明](stream/2.jpg) #### 集成webrtcstreamer后的项目播放演示图片: ![输入图片说明](webrtc/2.png) #### go2rtc播放演示图片: ![输入图片说明](stream/1.png) #### 第一种无插件播放:使用webrtcstreamer视频播放方案: ~~~ 播放视屏采用的linux安装webrtcstreamer的方式实现无插件播放视屏,参考: https://blog.csdn.net/qq_20937557/article/details/129879697 ~~~ #### 第一种无插件播放:docker部署webrtcstreamer: ~~~ docker拉取镜像 docker pull mpromonet/webrtc-streamer:v0.8.1 docker run -d --network=host --name webrtc-streamer -it mpromonet/webrtc-streamer:v0.8.1 -v -o 默认监听端口8000 访问http://linux服务器ip:8000/webrtcstreamer.html?video=rtsp地址 海康的rtsp地址一般为rtsp://username:password@ip:554/Streaming/Channels/通道号&码流类型 比如:rtsp://admin:qwer1234@192.168.11.13:554/Streaming/Channels/101 解释: 1-用户名密码:admin:qwer1234 2-ip地址:192.168.11.13 3-rtsp端口:554 4-取流地址:/Streaming/Channels/ 5-通道号:1 6-码流类型--主码流:01 如需集成到前端vue项目,需要通过nginx反向代理,防止跨域问题产生。 ~~~ #### 第二种无插件播放: ~~~ go2rtc,路径:/stream windows环境 1-windows环境解压go2rtc_win64.zip 2-将go2rtc.yaml放入解压后的目录中 3-编辑修改go2rtc.yaml中的rtsp地址为rtsp://username:password@ip:554/Streaming/Channels/通道号&码流类型 4-双击go2rtc.exe,弹框不要关闭 5-打开浏览器,输入http://localhost:1984/stream.html?src=cam1&mode=webrtc即可无插件播放 linxu环境: 1-将go2rtc_linux_amd64和go2rtc.yaml放入服务器中 2-编辑修改go2rtc.yaml中的rtsp地址为rtsp://username:password@ip:554/Streaming/Channels/通道号&码流类型 3-执行./go2rtc_linux_amd64 3-打开浏览器,输入http://服务器ip:1984/stream.html?src=cam1&mode=webrtc即可无插件播放 如需集成到前端vue项目,需要通过nginx反向代理,防止跨域问题产生。 ~~~ ## 说明 #### --------------------------------------------------------------------------------------------------------- ### 该项目主要功能是ISAPI接口实现海康云台控制和视屏回放,SDK集成云台和语音对讲,视屏预览方案,采用的是webrtcstreamer播放方案,vue2项目已集成 ### 纯分享 #### --------------------------------------------------------------------------------------------------------- # 技术选型 ~~~ SpringBoot2.7.1 + mysql + redis + knife4j + jasypt + mybatis-plus JDK版本: jdk1.8 ~~~ *** *** ## 云台控制:(SDK方式集成) #### 将lib/jna.jar复制到D盘下,执行下面命令 ~~~ mvn install:install-file -DgroupId=com.sun -DartifactId=jna -Dversion=1.0.0 -Dpackaging=jar -Dfile=D:\jna.jar ~~~ #### 将lib/examples.jar复制到D盘下,执行下面命令 ~~~ mvn install:install-file -DgroupId=com.sun -DartifactId=examples -Dversion=1.0.0 -Dpackaging=jar -Dfile=D:\examples.jar ~~~ #### pom中添加依赖: ~~~ com.sun jna 1.0.0 com.sun examples 1.0.0 ~~~ *** *** #### 云台控制、布防、回放:(ISAPI方式集成,DigestAuth认证接口请求封装) ~~~ 云台控制:/isApi/cameraControl 获取设备的布防区域坐标以及灵敏度:/isApi/getAllZoneChannelZone 单通道区域布防:/isApi/fieldDetection 根据月份获取录像列表:/isApi/listPlaybackVideosByMonth 获取回放流地址列表:/isApi/listPlaybackStream ~~~ *** *** #### 项目启动后,访问地址 ~~~ http://127.0.0.1:8081 websocket播放视频流 http://localhost:8081/video2 流媒体播放视频流 http://localhost:8081/video3 通过录像机播放视频 https://ip:8200/#/videoPlay 通过webrtc播放视音频,前后端分离,带云台控制,视屏回放,语音播报功能 ~~~ #### 常见问题 ~~~ 1-无插件播放,推荐启动前端和后端,需要先安装webrtc-streamer(参考 第一种无插件播放:docker部署webrtcstreamer),访问https://ip:8200/#/videoPlay 2-接口调用报错,常见的是:如果是ISAPI调用,端口传80,如果是SDK调用,端口传8000 3-注意防火墙,linux下需要先安装FFMpeg,不要使用静态安装 4-语音播报和语音对讲需要https,参考项目中的nginx配置 ~~~ #### linux系统下webrtc流媒体安装教程(ZLMediaKit),参考: ~~~ webrtcstreamer和go2rtc方式播放可忽略 https://blog.csdn.net/qq_53200007/article/details/133016535 https://blog.csdn.net/zengliguang/article/details/129941281 ~~~ #### nginx配置文件参考: ###### /nginxFile/nginx.conf ~~~ 监听的是8200端口,https访问,证书自签即可,配置文件仅做参考 ~~~ #### 项目部署后,页面访问: ~~~ https://ip:8200/#/videoPlay 备注: 1-前端包在vue2中,可自行编译打包 2-服务器中缺少webrtcstreamer的js文件等,可自行下载添加到前端包的同级目录中去,也可使用/webrtc中的文件 3-linux中监听的施https的8200端口,根据实际情况修改即可 ~~~ #### 主要功能简介: ~~~ https://ip:8200/#/videoPlay页面功能 1-摄像头rtsp视屏预览 2-云台控制,上下左右,变倍 3-语音播报(语音转发功能) 4-视屏回放(需要设备支持) 5-区域布防(后端接口已经支持,前端暂未集成,可用CANVAS集成) 6-语音对讲(实时语音对讲) ~~~ #### 成品包(Linux直接部署): ~~~ 直接解压使用 /成品包/192.168.11.19_8200.tar.gz--前端部署位置 /成品包/hikCamera.zip.001,/hikCamera.zip.002---后端部署位置(全选解压) 后端包启动命令:(使用了jasypt作为加密工具,可根据需要自行去除) java -Djasypt.encryptor.password="1234567890" -Dknife4j.basic.username="Wenjie" -Dknife4j.basic.password="1234567890" -jar hikCamera.jar ~~~ #### 演示: ~~~ 录像:/演示 ~~~ #### 如有疑问,请star后咨询,也可共同交流: ~~~ 作者:朱文杰 邮箱:384814587@qq.com 微信:ZWJ-egg ~~~