海康威视设备网络SDK_Win64 V6.1.9.4_build20220412 java本地demo实现预览视频下载、摄像头转向控制等

1 下载sdk

下载地址:https://open.hikvision.com/download/5cda567cf47ae80dd41a54b3?type=10

1.1 下载内容示例

 1.2 demo 示例

1.3 选择具体示例项目 

 打开xxx开发示例后,选择想要运行的项目,本文 选择第一个项目

2 sdk环境导入步骤

2.1 新建Java项目

基础操作,不再赘述

2.2 导入组件

2.2.1 jar 导入

将项目中的两个jar导入,可选择导入到项目 lib目录下,或者直接 导入到项目中

 2.2.2 sdk组件导入

按照1.1下载内容示例 的说明文档导入组件,windows 电脑将 .dll 文件全部导入项目

提示:最好将组件全部导入项目根目录下,这样好进行编译,如果放到lib 或者其他目录下,可能会出现找不到组件的情况。

将组件全部导入完成后,需要进行编译

2.3 导入示例代码

将选择的具体项目的代码导入

2.3.1 替换代码中的组件(动态库)路径

a.替换 HCNetSDK.dll (动态库)路径

若组件放在根目录下,则做如下配置 

b. 替换 PlayCtrl.dll  (播放库) 路径

若组件放在根目录下,则做如下配置 

2.3.2 修改设备账号密码等信息 

设备默认端口8000

 登录成功示例:

 2.4 各种功能demo

小提示:测试预览通道号为1;

本项目涉及到的sdk接口 均参照 设备网络sdk使用手册_V6.1 ,如对本文章代码使用的sdk接口不清楚或者想要实现其他功能等,请自行查找改手册 

2.4.1 预览、抓图等

预览、抓图按照代码示例即可

2.4.2 视频下载

视频下载代码示例:

   //保存视频信息
        SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss");
        String newName = sf.format(new Date()); 
        // lPlay 预览返回句柄
        boolean b = hCNetSDK.NET_DVR_SaveRealData(lPlay, "F:\\test\\"+  newName +"preview.mp4");
        if (! b){
            int i = hCNetSDK.NET_DVR_GetLastError();
            System.out.println("实时预览视频下载开始失败!错误码为:"+i);
        }else {
            System.out.println("实时视频下载开始!");
            //自定义转向操作
            turnLeftOne(userID,iChannelNo);
            Thread.sleep(3000);
            turnRight(userID,iChannelNo);
            Thread.sleep(3000);
            turnLeftTwo(userID,iChannelNo);
            Thread.sleep(3000);
            boolean b1 = hCNetSDK.NET_DVR_StopSaveRealData(lPlay);
            if (b1){
                System.out.println(" 视频结束下载成功! " );
            }else {
                System.out.println(" 视频结束下载失败 " );
            }

 海康产品下载的视频需要专用播放器 VS player 打开

播放器下载地址:海康官网

视频播放示例:

2.4.3 3D放大缩小示例

/**
     * 云台3D放大或者缩小
     */
    public static void location3D(int lUserID,int lDChannel ) throws InterruptedException {
        if (lUserID == -1) {
            System.out.println("请先注册");
            return;
        }
        HCNetSDK.NET_DVR_POINT_FRAME point_frame = new HCNetSDK.NET_DVR_POINT_FRAME();
        //放大操作 因为此处为前端在预览画面 取方框,此处为模拟方框数据
        //*255 为标配操作
        //2560,1440 为设备的 像素分辨率 在方法播放库抓图 getPicbyPlayCtrl() 中会打印此信息
        point_frame.read();
        point_frame.xTop = 800*255/2560;     //方框起始点的x坐标
        point_frame.yTop = 500*255/1440 ;     //方框结束点的y坐标
        point_frame.xBottom = 1600*255/2560;  //方框结束点的x坐标
        point_frame.yBottom = 1000*255/1440 ;  //方框结束点的y坐标
        point_frame.bCounter = 0; //保留
        point_frame.write();
        boolean b = hCNetSDK.NET_DVR_PTZSelZoomIn_EX(lUserID, lDChannel, point_frame);
        if (b){
            System.out.println(" 3D放大操作成功! " );
        }else {
            System.out.println(" 3D放大操作失败! " );
        }
        Thread.sleep(3000);
        //缩小操作
        point_frame.read();
        point_frame.xTop = 2560*255/2560;     //方框起始点的x坐标
        point_frame.yTop = 1440*255/1440 ;     //方框结束点的y坐标
        point_frame.xBottom = 2560*255/1440;  //方框结束点的x坐标
        point_frame.yBottom = 1440*255/1440 ;  //方框结束点的y坐标
        point_frame.bCounter = 0; //保留
        point_frame.write();
        boolean b1 = hCNetSDK.NET_DVR_PTZSelZoomIn_EX(lUserID, lDChannel, point_frame);
        if (b1){
            System.out.println(" 3D缩小操作成功! " );
        }else {
            System.out.println(" 3D缩小操作成功! " );
        }
    }

几点小建议:

a.在想要设备实现具体功能前,请先查找设备是否支持;

b.在代码调试中多用获取最近错误或者查看日志等方法定位问题;

c.操作硬件动作注意闭合,sdk方法多为开关(开始-结束)方法。

注:

本文为海康威视摄像头硬件sdk Java二次开发的本地简单测试,给将要使用海康摄像头Java二次开发做一点小小的铺垫,博主也是刚刚学习不喜勿喷!!

内含SDK、开发文档 及Demo示例(C++、C#、Java设备网络SDK是基于设备私有网络通信协议开发的,为后端设备(嵌入式网络硬盘录像机、视频服务器)、前端设备网络摄像机、网络球机、IP模块)等产品服务的配套模块,用于远程访问和控制设备软件的二次开发。 适用于但不仅限于以下产品型号: 1.编解码设备 DVR:DS-9100、DS-8100、DS-8000-S、DS-8800、DS-7800、DS-7300、DS-7200、DS-7100、DS-7000等系列,包括-ST、-SH、-SE、-SN、-RT、-RH、-XT等; NVR:DS-96000、DS-9600、DS-9500、DS-8600、DS-7900、DS-7800、DS-7700、DS-7600、DS-7100等系列,包括-I、-F、-K、-E、-H、-ST、-XT、-SN、-SE、-SNH、-SHT、-S、-SH、-RT等; XVR:DS-9000HQH-SH、DS-8100HQH(/HGH)-SH、DS-8000HQH-SH、DS-7300HQH(/HGH)-SH、DS-7200HQH(/HGH)-SH、DS-8800HQH(/HGH)(/HUH)-SH(/Fx)、DS-7900HQH(/HGH)(/HUH)-SH(/Fx)、DS-7800HQH(/HGH)(/HUH)-SH(/Ex/Fx)、DS-7100HGH-E1(/F1)等; HDVR(混合型DVR):DS-9000、DS-8000-ST、DS-7600H-ST/-S系列等; 编码器:DS-6700、DS-6600、DS-6500(-JX)、DS-6100、DS-6401HFH系列视频服务器、DS-6000系列编/解码器等; 解码器:DS-6300D(-JX)、DS-6400HD(-JX/-T)、DS-6500D(-T)等 2. 网络摄像机, 网络球机 网络摄像机:标清、高清、红外、热成像、鱼眼等,如DS-2CD7xx、DS-2CD71xx、DS-2CD72xx、DS-2CD8xx、DS-2CD81xx、DS-2CD82xx、DS-2CD84xx、DS-2CD83xx、DS-2CD11xx、DS-2CD12xx、DS-2CD13xx、DS-2CD20xx、DS-2CD21xx、DS-2CD22xx、DS-2CD23xx、DS-2CD24xx、DS-2CD25xx、DS-2CD26xx、DS-2CD27xx、DS-2CD28xx、DS-2CD29xx、DS-2CD2Axx、DS-2CD2Cxx、DS-2CD2Dxx、DS-2CD2Txx、DS-2CD2Qxx、DS-2CD30xx、DS-2CD31xx、DS-2CD32xx、DS-2CD33xx、DS-2CD34xx、DS-2CD39xx、DS-2CD3Txx、DS-2CD3Qxx、DS-2CD40xx、DS-2CD41xx、DS-2CD42xx、DS-2CD4Axx、DS-2CD62xx、DS-2CD63xx、DS-2CD65xx等 网络球机:标清、高清、红外等,如DS-2DF86xx、DS-2DF85xx、DS-2DF82xx、DS-2DF72xx、DS-2DF71xx、DS-2DE71xx、DS-2DE73xx、DS-2DE72xx、DS-2DM72xx、DS-2DM71xx、DS-2DF1-7xx、DS-2DF66xx、DS-2DF62xx、DS-2DF1-6xx、DS-2DE51xx、DS-2DE52xx、DS-2DE53xx、DS-2DM52xx、DS-2DF52xx、DS-2DC52xx、DS-2DC51xx、DS-2DF1-5xx、DS-2DE45xx、DS-2DE42xx、DS-2DE41xx、DS-2DF1-4xx、DS-2DM1-7xx、DS-2DM1-6xx、DS-2DM1-5xx等 一体化网络摄像机:DS-2ZCN3007、DS-2ZCN3006、DS-2DZ216MF、DS-2DZ2116、DS-2ZCN2006、DS-2ZCN2007、DS-2ZMN2007、DS-2ZMN2006等 3. 智能交通产品 出入口抓拍机:(i)DS-2CD95xx、(i)DS-2CD93xx、(i)DS-2CD92xx、(i)DS-2CD91xx、DS-2CD9xx、DS-TCGxxx、EVU-xxxx等 车位相机:DS-TCPxxx等 出入口控制机:DS-TMExxx等 诱导管理器:DS-TPMxxx等 4. 智能设备 行为分析、ATM防护、自动跟踪、客流量统计、人脸识别、智能交通事件、VQD视频质量诊断等 5. 其他IP设备 CVR、报警主机、门禁、可视对讲、LCD拼接屏、IP模块等
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值