| | |
| | | /*sdk login*/ |
| | | ulRet = IMOS_MW_Login(username, passwd, ip, 0, szUserID); |
| | | if (ERR_COMMON_SUCCEED != ulRet) { |
| | | (VOID) IMOS_MW_Cleanup(); |
| | | printf("Login error ulRet[%lu]", ulRet); |
| | | return false; |
| | | } |
| | |
| | | pstBasicInfo = (IMOS_MW_BASIC_DEVICE_INFO_S *) malloc(sizeof(IMOS_MW_BASIC_DEVICE_INFO_S)); |
| | | ulRet = IMOS_MW_GetDeviceStatus(szUserID, 0, IMOS_MW_STATUS_BASIC_INFO, (void *) pstBasicInfo); |
| | | if (ERR_COMMON_SUCCEED != ulRet) { |
| | | (VOID) IMOS_MW_Logout(szUserID); |
| | | (VOID) IMOS_MW_Cleanup(); |
| | | printf("GetDeviceStatus Error[%lu]\n", ulRet); |
| | | return false; |
| | | } |
| | |
| | | std::string out = value.size() > 0 ? value.toStyledString() : "[]"; |
| | | return out; |
| | | } |
| | | |
| | | #define ADD_CAMERA 0 |
| | | #define EDIT_CAMERA 1 |
| | | //编辑摄像机 |
| | | std::string devHttpServer_c::cam_edit(std::string ip, unsigned int port, std::string content, PResponse &response) { |
| | | DBG("ip:" << ip << "; port:" << port); |
| | |
| | | Record_Cam_Dev rec; |
| | | Record_Cam_Sdk rec_sdk_old; |
| | | Record_Cam_Sdk rec_sdk; |
| | | |
| | | int type=-1; |
| | | int dev_type = db_c.searchDevTypeFromConfigTable(); |
| | | if (DEV_STORAGE == dev_type) { |
| | | return "{\"ret_status\": \"内容有误,请检查!\"}"; |
| | | } |
| | | |
| | | if (reader.parse(content, value)) { |
| | | |
| | | unsigned char serialnumber[SERIALNO_LEN] = {0}; |
| | | ret = getDevSerialNumber(value["str_ip"].asCString(), value["n_port"].asInt(), |
| | | value["str_username"].asCString(), \ |
| | |
| | | rec.str_username = QString::fromStdString(value["str_username"].asString()); |
| | | rec.str_password = QString::fromStdString(value["str_password"].asString()); |
| | | rec.str_brand = QString::fromStdString(value["str_brand"].asString()); |
| | | |
| | | type=value["n_type"].asInt(); |
| | | // rec_sdk_old = db_c.searchCamSdkTableByCamId(rec.str_cam_dev_id); |
| | | |
| | | // rec_sdk.str_cam_dev_id = rec.str_cam_dev_id; |
| | | // rec_sdk.str_sdks = QString::fromStdString(value["str_sdks"].asString()); |
| | | // rec_sdk.str_det_thr = QString::fromStdString(value["str_det_thr"].asString()); |
| | | // rec_sdk.str_cmp_thr = QString::fromStdString(value["str_cmp_thr"].asString()); |
| | | |
| | | ret = db_c.updateCamAndSdkTable(rec, rec_sdk); |
| | | if (!ret) { |
| | | return "err_db_content"; |
| | | bool is_exist=db_c.searchCamDevByCamId(rec.str_cam_dev_id); |
| | | if(ADD_CAMERA == type ) |
| | | { |
| | | if(is_exist) |
| | | { |
| | | return "{\"ret_status\": \"请勿重复添加!\"}"; |
| | | } |
| | | else |
| | | { |
| | | ret =db_c.insertCamDevTable(rec); |
| | | if (!ret) { |
| | | return "err_db_content"; |
| | | } |
| | | } |
| | | } |
| | | else if(EDIT_CAMERA == type ) |
| | | { |
| | | if(is_exist) |
| | | { |
| | | ret = db_c.updateCamDevTable(rec); |
| | | if (!ret) { |
| | | return "err_db_content"; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return "{\"ret_status\": \"内容有误,请检查!\"}"; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return "{\"ret_status\": \"内容有误,请检查!\"}"; |
| | | } |
| | | |
| | | |
| | | } else { |
| | | return "{\"ret_status\": \"传输错误,请检查!\"}"; |
| | | } |
| | |
| | | runAllApp(); |
| | | } |
| | | //edit camera's sdks |
| | | // else/* if ((rec_sdk_old.str_sdks != rec_sdk.str_sdks) || |
| | | // (rec_sdk_old.str_det_thr != rec_sdk.str_det_thr) || |
| | | // (rec_sdk_old.str_cmp_thr != rec_sdk.str_cmp_thr)) */{ |
| | | // killVideoAnalysFromHCApp(); |
| | | // sleep(1); |
| | | // runAllApp(); |
| | | // } |
| | | else/* if ((rec_sdk_old.str_sdks != rec_sdk.str_sdks) || |
| | | (rec_sdk_old.str_det_thr != rec_sdk.str_det_thr) || |
| | | (rec_sdk_old.str_cmp_thr != rec_sdk.str_cmp_thr)) */ |
| | | { |
| | | killVideoAnalysFromHCApp(); |
| | | sleep(1); |
| | | runAllApp(); |
| | | } |
| | | |
| | | Json::Value value_out; |
| | | value_out["str_cam_dev_id"] = rec.str_cam_dev_id.toStdString(); |
| | |
| | | appConfig.setStringProperty("erlCookie", cookie); |
| | | appConfig.setStringProperty("erlPath", path); |
| | | appConfig.setStringProperty("erlFatherNode", FatherNodeName); |
| | | appConfig.setStringProperty("clusterID", clusterID); |
| | | appConfig.save(); |
| | | // erlangDbTool->findAllNode(); |
| | | //face search server reboot |
| | |
| | | appConfig.setStringProperty("erlCookie", ""); |
| | | appConfig.setStringProperty("erlPath", ""); |
| | | appConfig.setStringProperty("erlFatherNode", ""); |
| | | appConfig.setStringProperty("clusterID", ""); |
| | | appConfig.save(); |
| | | delete erlangDbTool; |
| | | erlangDbTool = nullptr; |
| | |
| | | std::string pass = value["str_password"].asString(); |
| | | std::string brand = value["str_brand"].asString(); |
| | | std::string rtsp_url = rtspAddrBuild(ip, port, username, pass, brand); |
| | | if (rtsp_url.empty()) { |
| | | if (rtsp_url.empty() ) |
| | | { |
| | | return "{\"ret_status\":\"内容有误,请检查!\"}"; |
| | | } |
| | | // unsigned char serialnumber[SERIALNO_LEN] = {0}; |
| | | // int ret = getDevSerialNumber(ip.c_str(), port,username.c_str(),pass.c_str(),brand.c_str(),serialnumber); |
| | | |
| | | |
| | | // if ((!ret) || (serialnumber[0] == 0)) |
| | | // { |
| | | // return "{\"ret_status\": \"内容有误,请检查!\"}"; |
| | | // } |
| | | |
| | | // std::string str_cam_dev_id = std::string((char *) serialnumber);//摄像机id cam_mac |
| | | |
| | | std::string str_imgName = appConfig.getStringProperty("cutPath"); |
| | | if (str_imgName.back() != '/') { |
| | | str_imgName.push_back('/'); |
| | | } |
| | | str_imgName +=ip; |
| | | str_imgName +="-"; |
| | | str_imgName += "snapshot.jpg"; |
| | | //admin:a1234567@192.168.1.201:554/h264/ch1/main/av_stream -r 1/25 -f image2 -s 1920*1080 /home/basic/work_src/a.jpg |
| | | std::string cmd("ffmpeg -i " + rtsp_url + " -r 1/25 -f image2 -s 1920*1080 -y " + str_imgName); |