waimifeier / hikvision-spring-boot-starter

海康威视sdk接入
56 stars 22 forks source link

抓图实现代码如下 #7

Open zolagz opened 1 year ago

zolagz commented 1 year ago

方法定义如下:

public static Boolean captureImage2(String ip, String port, String userName, String password, String sPicFileName){
        hcNetSDK.NET_DVR_Init();
        hcNetSDK.NET_DVR_SetConnectTime(2000, 1);
        hcNetSDK.NET_DVR_SetReconnect(10000, true);
        Boolean flag = Boolean.FALSE;
        HCNetSDK.NET_DVR_DEVICEINFO_V30 m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V30();//设备信息
        int lUserID = hcNetSDK.NET_DVR_Login_V30(ip, Short.parseShort(port), userName, password, m_strDeviceInfo);

        if (lUserID>= 0) {
            HCNetSDK.NET_DVR_JPEGPARA lpJpegPara = new HCNetSDK.NET_DVR_JPEGPARA();
            lpJpegPara.wPicSize = 0;
            lpJpegPara.wPicQuality = 0;
            flag = hcNetSDK.NET_DVR_CaptureJPEGPicture(lUserID, 1, lpJpegPara, sPicFileName.getBytes(StandardCharsets.UTF_8));
            hcNetSDK.NET_DVR_Logout(lUserID);
        } else {
            throw new RuntimeException("登录失败");
        }
        return flag;
    }

调用测试:

        String ip = "192.168.55.94";
        String port = "8000";
        String userName = "admin";
        String password = "123456";
        String saveName = "E:\\img\\001.jpg";
   Boolean aBoolean = HkUtils.captureImage2(ip,port,userName,password,saveName );