public class TestHikvision {
 
    public static void main(String[] args) throws IOException {
        TestHikvision app = new TestHikvision();
        MonitorCameraInfo cameraInfo = new MonitorCameraInfo();//需要新建MonitorCameraInfo类
        cameraInfo.setCameraIp("192.168.1.66");
        cameraInfo.setCameraPort((short)8000);
        cameraInfo.setUserName("admin");
        cameraInfo.setUserPwd("xx111111");
        
        app.getDVRPic(cameraInfo);
    }
 
 
    //抓拍图片
    public void getDVRPic(MonitorCameraInfo cameraInfo) throws IOException {
        
        //设置通道号,其中1正常,-1不正常
        NativeLong chanLong = new NativeLong(1);
        cameraInfo.setChannel(chanLong);
        
        //初始化sdk
        HCNetSDK sdk = HCNetSDK.INSTANCE;
        if (!sdk.NET_DVR_Init()) {
            System.out.println("SDK初始化失败");
            return;
        }
        
        //注册设备
        NET_DVR_DEVICEINFO_V30 devinfo = new NET_DVR_DEVICEINFO_V30();
        NativeLong id = sdk.NET_DVR_Login_V30(cameraInfo.getCameraIp(), (short) cameraInfo.getCameraPort(),
                cameraInfo.getUserName(), cameraInfo.getUserPwd(), devinfo);
        cameraInfo.setUserId(id);
        if (cameraInfo.getUserId().intValue() < 0) {
            System.out.println("设备注册失败"+sdk.NET_DVR_GetLastError());
            return;
        } else {
            System.out.println("id:" + cameraInfo.getUserId().intValue());
        }
        
        // 返回Boolean值,判断是否获取设备能力
        NET_DVR_WORKSTATE_V30 devwork = new NET_DVR_WORKSTATE_V30();
        if (!sdk.NET_DVR_GetDVRWorkState_V30(cameraInfo.getUserId(), devwork)) {
            System.out.println("返回设备状态失败");
        }
 
        //JPEG图像信息结构体
        NET_DVR_JPEGPARA jpeg = new NET_DVR_JPEGPARA();
        jpeg.wPicSize = 2;// 设置图片的分辨率
        jpeg.wPicQuality = 2;// 设置图片质量
 
        //设置图片大小
        IntByReference a = new IntByReference();
        
        //创建图片目录
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmmss");
        Date date = new Date();
        int random = (int)(Math.random()*1000);
        String fileNameString = "G:/haiKangPic/"+sdf.format(date)+random+".jpg";
        
        //设置字节缓存
        ByteBuffer jpegBuffer = ByteBuffer.allocate(1024 * 1024);
        
        //抓图到文件
        boolean is = sdk.NET_DVR_CaptureJPEGPicture(cameraInfo.getUserId(),cameraInfo.getChannel(),jpeg, fileNameString);
        if (is) {
            System.out.println("抓取成功,返回长度:" + a.getValue());
        } else {
            System.out.println("抓取失败:"+sdk.NET_DVR_GetLastError());
        }
 
        sdk.NET_DVR_Logout(cameraInfo.getUserId());
        sdk.NET_DVR_Cleanup();
    }
}

海康威视 java sdk 抓拍功能相关推荐

  1. Java版基于springboot+maven海康摄像头sdk抓拍功能的二次开发

    相信在用Java开发海康摄像头的小袁袁都很苦恼官网给的SDK,官方的SDK中有demo,有文档,可那大多都是基于C写的文档,找了半天终于找到一个java版本的,进去一看还是用Jfream写的C/S版的 ...

  2. 海康威视摄像机Java SDK拉流(二)开启关闭实时预览

    上一篇:海康威视Java SDK拉流(一)初始化SDK 本篇介绍海康威视摄像机通过SDK开启关闭实时预览接口 下篇介绍实时预览的回调函数及解码库 测试环境: 系统:Centos 7 SDK:设备网络S ...

  3. 海康威视运行Java SDK

    海康威视运行Java SDK 1. SDK下载 2. 安装海康威视设备 3. 导入项目 4. 放入dll文件 4.1 放入dll文件前项目 4.2 按官方说明文档,将dll放入 5. 运行 6. 解决 ...

  4. 海康威视(HIKVISION) JAVA SDK Demo成功运行

    海康威视(HIKVISION) JAVA SDK Demo成功运行 引子 下载 说明 代码编译 添加文件 问题 排查 总结 引子 调海康的JAVA SDK花费时间较长,所以记录下,为其他小伙伴填填坑, ...

  5. 海康威视设备 JAVA SDK SpringBoot实现人脸、车辆、门禁图片抓取

    实现设备抓拍功能之前,需要完成设备初始化,注册,监听和布防的操作,详见CSDNhttps://mp.csdn.net/mp_blog/creation/editor/121543529 创建类FMSG ...

  6. 基于海康威视的SDK实现二次开发

    文章目录 前言 1.对接海康威视的SDK 进入海康威视官网 下载你所需要的SDK开发包(这里我就用windows来作为案列) 下载完SDK解压 运行Demo示例 开发接口之前的环境配置 开始基于海康威 ...

  7. 海康威视摄像机SDK二次开发--指定云台位置,焦距放大倍数,拍摄时长,并拆分保存为视频文件

    按照config.txt配置,出现的效果是有几组参数就录制几个视频,视频时长按照配置文件录制 config.txt的内容,请参照海康威视摄像机SDK二次开发–实时预览视频流保存到指定文件中 java实 ...

  8. java留言板功能齐全源码_各类Java微信开发框架源码对比(建议收藏)

    如果你是一名Java程序猿? 如果你刚接触微信开发? 如果你想要快速开发一款微信公众号/小程序商城? 如果你在寻找一款合适的微信开发框架? 一张图告诉你如何选择! 如果你暂时用不到, 那么收藏备用吧! ...

  9. java aws_AWS学习笔记(八)--S3 JAVA SDK

    Amazon Simple Storage Service (Amazon S3)是面向 Internet 的存储服务,具有高扩展性.可靠性.安全性和快速价廉的特点,提供 99.999999999% ...

最新文章

  1. 史上最全异常检测算法概述
  2. rpm出现error: %preun( ) scriptlet failed, exit status 1问题
  3. svn 与 vs2010
  4. 【转】系统缓存全解析二:动态缓存(4)-第三方分布式缓存解决方案 Memcache(2)...
  5. 求助:现在有一个可以进体制“养老”的坑,我该不该跳?
  6. python中文字符串转list
  7. 1012 The Best Rank (25)
  8. 苹果A13和A11性能差距有多大?
  9. Linux之FTP服务、NFS服务、RPC服务及案例
  10. ELementD对象
  11. RubyOnRails with Ajax
  12. UNITY 对话系统
  13. Flash遮罩做地球旋转效果
  14. oppor9splus科学计算机,oppo r9s plus手机驱动
  15. web测试的基本测试点
  16. oracle的oca证书,Oracle三大认证考试及其含金量解析
  17. 2021 上海科技大学 信息学院SIST 推免夏令营 经历
  18. 从python入门到放弃_Python从入门到放弃?方法不对一切白费
  19. 2017CCPC中南地区赛暨湘潭大学邀请赛总结
  20. 赚钱项目:1万粉丝的公众号,年赚15万!

热门文章

  1. 物理服务器替换磁盘Exsi 7.0找不到存储解决方法
  2. 简单理解REST风格
  3. java获取两个日期之间的所有日期(包括开始日期和结束日期)
  4. 异性员工避免封闭空间独处、单独约饭、肢体接触,万亿级公司竟然这样规定!!!...
  5. 01_HTML (个人笔记)
  6. KubeSphere安装KubeEdge
  7. 【Python】SimpleITK 针对于 LiTS 数据集,获取最大肝脏面积的切片
  8. 没有没适用于工地的WiFi盒子?
  9. win10睡眠按啥键唤醒_WINDOWS10睡眠模式无法唤醒解决方案
  10. 基于PyQt5的YOLOv5检测界面——YOLOv5检测目标后声音告警的美化