# HikVision Camera/NVR Secondary Development
## 海康威视SDK二次开发
### 项目介绍
本项目为海康威视网络摄像机和NVR录像机的SDK二次开发,实现了对网络摄像机/NVR的实时流、历史流的推流功能以及抓图、录像下载以及云台控制功能
##### 项目技术栈
JDK:1.8
SpringBoot: 2.2.9
Dao: MyBatis + tkMyBatis
转码: FFmpeg + FFmpegCommandHandler
流媒体: ossrs/srs:4.0
##### 技术实现
- 通过Jna调用海康SDK的lib库(注意windows部署环境下使用dll,linux部署环境下使用so),lib库可以直接从海康官网下载,注意下载库的32bit和64bit的区分
- 对于不同的部署环境(win和linux),其HCNetSDK.java这个文件实际上是有区别的,这里只提供了linux下的文件,windows环境下实际上只要将接口中extends
的Library和Callback改为StdLibrary和StdCallCallBack就行,实测下来是能用的。
- 关于上一点,海康对java的调用接口定义(即HCNetSDK.java文件)并不经常维护,建议看看海康的SDK开发帮助文档,根据需要可自己修改HCNetSDK文件的接口定义
- 视频流推流过程:海康的实时流和历史流可以直接由rtsp流组装的方式直接获取,为了能够在网页上进行播放,需要采用FFmpeg对rtsp流转码为rtmp流,本项目采用了
FFmpegCommandHandler组件对FFmpeg进行命令调用,而后需要将转码后的rtmp流推送到流媒体服务器中,这里推荐使用ossrs/srs4.0流媒体服务器,与nginx-r
tmp相比,更加稳定和高效
- 流媒体服务器:srs流媒体服务器可以使用docker的方式直接部署(通过编译的方式部署较为麻烦),同时可以将推送来的rtmp流转码为http-flv流。注意html5不支
持rtmp流的播放,推荐播放http-flv流
- 前端视频流播放:通过流媒体服务器,前端可以获取到rtmp流和http-flv流,推荐使用flv流进行播放,可以使用flv.js播放组件或LivePlayer播放组件播放
- 项目运行需要数据库支持,定义了三个数据库(Camera、CameraFlow、CameraFile),具体的字段定义可以通过model.entity包查看
- 项目引用了三个外部jar包,包括examples(海康相关)、Jna(dll/so库调用)、FFmpegCommandHandler(FFmpeg命令执行器),三个jar包放在了resources/jar
下面,推荐将这三个jar包通过maven安装到仓库中调用以避免产生部署时依赖找不到的问题
- ffmpeg是必不可缺的运行环境组件,用于编解码摄像头的视频流,loadFFmpeg.properties就是用来配置本地的ffmpeg执行路径的,因此需要你本地环境中有安装ffmpeg才可以
##### 其它事项
- 加入了前端的页面示例(不是专业搞前端的,所以只是个页面的demo,也不是完整的前端工程,仅供参考),我这里用的是liveplayer,功能稍微多一点,不习惯的话也可以用flv.js代替
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Java实现海康威视网络摄像机和NVR录像机的SDK二次开发项目源码+文档说明,实现了对网络摄像机/NVR的实时流、历史流的推流功能以及抓图、录像下载以及云台控制功能,该项目是个人毕设项目,答辩评审分达到98分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习、进阶。项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。 Java实现海康威视网络摄像机和NVR录像机的SDK二次开发项目源码+文档说明Java实现海康威视网络摄像机和NVR录像机的SDK二次开发项目源码+文档说明Java实现海康威视网络摄像机和NVR录像机的SDK二次开发项目源码+文档说明Java实现海康威视网络摄像机和NVR录像机的SDK二次开发项目源码+文档说明Java实现海康威视网络摄像机和NVR录像机的SDK二次开发项目源码+文档说明Java实现海康威视网络摄像机和NVR录像机的SDK二次开发项目源码+文档说明Java实现海康威视网络摄像机和NVR录像机的SDK二次开发项目源码+文档说明Java实现海康威视网络摄像机和NVR录像机的SDK二次开发项目源码+文档说明Ja
资源推荐
资源详情
资源评论
收起资源包目录
Java实现海康威视网络摄像机和NVR录像机的SDK二次开发项目源码+文档说明 (255个子文件)
libcrypto.so.1.0.0 2.37MB
libopenal.so.1 1.87MB
start.bat 93B
PlayCtrl.dll 5.42MB
HCCore.dll 2.84MB
AudioIntercom.dll 2.04MB
HCGeneralCfgMgr.dll 1.96MB
libeay32.dll 1.72MB
SuperRender.dll 1.55MB
HCIndustry.dll 1.54MB
HCVoiceTalk.dll 1.23MB
HCDisplay.dll 1.21MB
hlog.dll 1.21MB
HCCoreDevCfg.dll 1.2MB
HCNetSDK.dll 1.13MB
HCAlarm.dll 1.05MB
HCPlayBack.dll 989KB
libiconv2.dll 965KB
HCPreview.dll 917KB
StreamTransClient.dll 913KB
SystemTransform.dll 866KB
OpenAL32.dll 596KB
AnalyzeData.dll 512KB
ssleay32.dll 422KB
zlib1.dll 166KB
hpr.dll 148KB
AudioRender.dll 146KB
AudioRender.dll 146KB
.gitignore 268B
.gitignore 176B
index.html 371B
common.iml 13KB
camera.iml 10KB
HikVision.iml 574B
FFmpegCommandHandler.jar 16.85MB
jna.jar 777KB
examples.jar 283KB
HCNetSDK.java 400KB
HikCameraService.java 17KB
CameraFileService.java 13KB
HTCriteria.java 12KB
HCNetTools.java 11KB
DateUtils.java 11KB
HikCameraController.java 8KB
FlowService.java 6KB
CameraFlow.java 4KB
PageResult.java 4KB
HikCameraAspect.java 4KB
Camera.java 4KB
DeviceController.java 4KB
LocalDateUtils.java 4KB
CameraFileController.java 4KB
FileUtils.java 3KB
CommonKit.java 3KB
DeviceService.java 3KB
BaseService.java 3KB
HikCameraManager.java 3KB
FlowController.java 2KB
FFmpegService.java 2KB
GlobalExceptionHandler.java 2KB
ResultEntity.java 2KB
ResultUtils.java 2KB
CameraFile.java 2KB
BeanUtils.java 2KB
HAssert.java 2KB
HikCameraUtils.java 1KB
HCPlayControlEnum.java 1KB
CameraApplication.java 1KB
CameraDTO.java 1KB
CameraAsync.java 936B
ResultDTO.java 888B
HistoryDTO.java 860B
JsonUtils.java 836B
UnAuthorizedException.java 581B
PlayControlDTO.java 560B
WebException.java 557B
CameraTreeVO.java 502B
GBCameraController.java 372B
GuidUtils.java 317B
StringUtils.java 277B
CameraFileMapper.java 196B
CameraFlowMapper.java 196B
CameraMapper.java 184B
FlowUtils.java 115B
package-info.java 83B
Test.java 58B
package.json 785B
HCGeneralCfgMgr.lib 43KB
HCPreview.lib 37KB
HCAlarm.lib 13KB
README.md 3KB
loadFFmpeg.properties 195B
service.sh 1KB
start.sh 48B
libPlayCtrl.so 4.49MB
libcrypto.so 2.37MB
libHCCore.so 2.18MB
libNPQos.so 1.93MB
libHCGeneralCfgMgr.so 1.41MB
libiconv2.so 1.21MB
共 255 条
- 1
- 2
- 3
资源评论
yava_free
- 粉丝: 4780
- 资源: 1848
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功