| | |
| | | /*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; |
| | | } |
| | |
| | | { |
| | | if(is_exist) |
| | | { |
| | | return "{\"ret_status\": \"内容有误,请检查!\"}"; |
| | | return "{\"ret_status\": \"请勿重复添加!\"}"; |
| | | } |
| | | else |
| | | { |
| | |
| | | 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(); |
| | |
| | | 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); |
| | | std::string cmd("ffmpeg -i " + rtsp_url + " -vf select='eq(pict_type\\,I)',setpts='N/(25*TB)' -f image2 -s 1920*1080 -y " + str_imgName); |
| | | // std::string cmd("ffmpeg -i " + rtsp_url + " -r 1/25 -f image2 -s 1920*1080 -y " + str_imgName); |
| | | DBG(cmd); |
| | | system(cmd.c_str()); |
| | | |
| | |
| | | CvUtil::cvMat2Buffer(img, buffer); |
| | | std::string strImgUrlTmp = ""; |
| | | fdfsClient.fastFds->uploadFile(buffer, strImgUrlTmp, "jpg"); |
| | | strImgUrl.append(fdfsClient.fastFds->getIp() + "/" + strImgUrlTmp); |
| | | // strImgUrl.append(fdfsClient.fastFds->getIp() + "/" + strImgUrlTmp); |
| | | strImgUrl.clear(); |
| | | strImgUrl = strImgUrlTmp; |
| | | } |
| | | fdfsClient.rwLock.unlock(); |
| | | Json::Value result; |
| | | result["imgUrl"] = strImgUrl; |
| | | db_c.updateCamDevSnapshot(QString::fromStdString(ip),QString::fromStdString(strImgUrl)); |
| | | |
| | | return result.toStyledString(); |
| | | |