From 979bc003bce710bf300bc2bd87a8278585678763 Mon Sep 17 00:00:00 2001 From: pansen <pansen626@sina.com> Date: 星期四, 07 三月 2019 14:47:14 +0800 Subject: [PATCH] GB28181集成完成。录像bug暂未解决,已注释 --- QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp | 298 ++++++++++++++++++++++++++++++----------------------------- 1 files changed, 152 insertions(+), 146 deletions(-) diff --git a/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp b/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp index db552a4..be430a9 100644 --- a/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp +++ b/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp @@ -26,8 +26,8 @@ } RtspAnalysElement::RtspAnalysElement(LDBTool *_dbTool) : m_lDBTool(_dbTool), maxCount(50), currentCount(0) { - init(); resetFdfs(); + init(); { // std::thread httpServer([&]() { // //#todo port @@ -68,168 +68,174 @@ } void RtspAnalysElement::init() { + + m_GB28181_Enable = appPref.getIntData("GB28181_Enable"); + Record_Config lst_dev = m_lDBTool->searchConfigTableWithinServerInfo(); -#ifndef GB28181 - auto lst = m_lDBTool->searchCamDevTableAll(); - appPref.setIntData("n_cut_max_duration", lst_dev.n_cut_max_duration); - appPref.setIntData("n_cut_min_duration", lst_dev.n_cut_min_duration); - if (lst.size() > 0) { - Json::Value json; - int startCamNO = appPref.getIntData("CamStart") * appPref.getIntData("CamStep"); - int CamCount = appPref.getIntData("CamStep"); - auto itor = lst.begin(); + //#todo GB28181 + if (m_GB28181_Enable) { + auto lst = m_lDBTool->searchCamDevTableByType(1); - if (startCamNO >= lst.size()) { - ERR("startCamNO > lst.size()"); - return; - } - - for (int i = 0; i < startCamNO; i++) { - itor++; - } - - for (int i = 0; i < CamCount; i++) { - if (itor == lst.end()) { - ERR("itor == lst.end()"); - return; - } - std::string t_camIdex = itor->str_cam_dev_id.toStdString(); - std::string rtsp_url = rtspAddrBuild(itor->str_ip.toStdString(), 554, itor->str_username.toStdString(), - itor->str_password.toStdString(), itor->str_brand.toStdString()); - SdkRuleMap ruleMap = m_lDBTool->searchSdkRuleByCamId(itor->str_cam_dev_id); - for (auto &rule:ruleMap) { - - rule.second.strAddr = itor->str_addr; - rule.second.weekRuleVec = m_lDBTool->searchCameraWeekRuleByCamId(itor->str_cam_dev_id, rule.first); - - if (rule.second.nSdkType == PerStaticSdk) { - float temp = 1 - (float) (rule.second.nThreshold) / 100; - rule.second.fSensitivity = (75 + 25 * temp) / 100; - - } else if (rule.second.nSdkType != FaceSdk) { - float temp = 1 - (float) (rule.second.nThreshold) / 100; - rule.second.fSensitivity = (5 + 90 * temp) / 100; - } -// if (rule.second.nThreshold < 5 ) -// { -// rule.second.fSensitivity=0.95; -// } -// else if(rule.second.nThreshold > 95) -// { -// rule.second.fSensitivity=0.05; -// } -// else -// { -// rule.second.fSensitivity = 1-(float) (rule.second.nThreshold) / 100; -// } - - DBG("fSensitivity" << rule.second.fSensitivity); - } - appPref.setStringData(t_camIdex + "rtsp", rtsp_url); - // appPref.setStringData(t_camIdex+"addr", item.str_addr.toStdString()); - json["rtsp"] = rtsp_url; - // json["addr"] = item.str_addr.toStdString(); - - INFO("cam add is " << itor->str_addr.toStdString()); - - addCamera(t_camIdex, ruleMap); - itor++; - } -// for (auto item : lst) { -// std::string t_camIdex = item.str_cam_dev_id.toStdString(); -// std::string rtsp_url = rtspAddrBuild(item.str_ip.toStdString(), 554, item.str_username.toStdString(), -// item.str_password.toStdString(), item.str_brand.toStdString()); -// SdkRuleMap ruleMap = m_lDBTool->searchSdkRuleByCamId(item.str_cam_dev_id); -// for (auto &rule:ruleMap) { -// -// rule.second.strAddr = item.str_addr; -// rule.second.weekRuleVec = m_lDBTool->searchCameraWeekRuleByCamId(item.str_cam_dev_id, rule.first); -// -// if(rule.second.nSdkType == PerStaticSdk) -// { -// float temp=1-(float)(rule.second.nThreshold)/100; -// rule.second.fSensitivity=(75+25*temp)/100; -// -// } -// else if(rule.second.nSdkType != FaceSdk) -// { -// float temp=1-(float)(rule.second.nThreshold)/100; -// rule.second.fSensitivity=(5+90*temp)/100; -// } -//// if (rule.second.nThreshold < 5 ) -//// { -//// rule.second.fSensitivity=0.95; -//// } -//// else if(rule.second.nThreshold > 95) -//// { -//// rule.second.fSensitivity=0.05; -//// } -//// else -//// { -//// rule.second.fSensitivity = 1-(float) (rule.second.nThreshold) / 100; -//// } -// -// DBG("fSensitivity" << rule.second.fSensitivity); -// } -// appPref.setStringData(t_camIdex + "rtsp", rtsp_url); -// // appPref.setStringData(t_camIdex+"addr", item.str_addr.toStdString()); -// json["rtsp"] = rtsp_url; -// // json["addr"] = item.str_addr.toStdString(); -// -// INFO("cam add is " << item.str_addr.toStdString()); -// -// addCamera(t_camIdex, ruleMap); -// } - } else { - ERR("searchCamDevTableAll size is 0"); - } - -#else - auto lst = m_lDBTool->searchCamDevTableByType(1); - - appPref.setIntData("n_cut_max_duration", lst_dev.n_cut_max_duration); - appPref.setIntData("n_cut_min_duration", lst_dev.n_cut_min_duration); - if (lst.size() > 0) { + appPref.setIntData("n_cut_max_duration", lst_dev.n_cut_max_duration); + appPref.setIntData("n_cut_min_duration", lst_dev.n_cut_min_duration); + if (lst.size() > 0) { // Json::Value json; - - for (auto &item : lst) { - std::string t_camIdex = item.str_cam_dev_id.toStdString(); - std::string rtsp_url = "GB28181"; + for (auto &item : lst) { + std::string t_camIdex = item.str_cam_dev_id.toStdString(); + std::string rtsp_url = "GB28181"; // rtspAddrBuild(item.str_ip.toStdString(), 554, item.str_username.toStdString(), // item.str_password.toStdString(), item.str_brand.toStdString()); - SdkRuleMap ruleMap = m_lDBTool->searchSdkRuleByCamId(item.str_cam_dev_id); - for (auto &rule:ruleMap) { + SdkRuleMap ruleMap = m_lDBTool->searchSdkRuleByCamId(item.str_cam_dev_id); + for (auto &rule:ruleMap) { - rule.second.strAddr = item.str_addr; - rule.second.weekRuleVec = m_lDBTool->searchCameraWeekRuleByCamId(item.str_cam_dev_id, rule.first); + rule.second.strAddr = item.str_addr; + rule.second.weekRuleVec = m_lDBTool->searchCameraWeekRuleByCamId(item.str_cam_dev_id, rule.first); - if (rule.second.nSdkType == PerStaticSdk) { - float temp = 1 - (float) (rule.second.nThreshold) / 100; - rule.second.fSensitivity = (75 + 25 * temp) / 100; + if (rule.second.nSdkType == PerStaticSdk) { + float temp = 1 - (float) (rule.second.nThreshold) / 100; + rule.second.fSensitivity = (75 + 25 * temp) / 100; - } else if (rule.second.nSdkType != FaceSdk) { - float temp = 1 - (float) (rule.second.nThreshold) / 100; - rule.second.fSensitivity = (5 + 90 * temp) / 100; + } else if (rule.second.nSdkType != FaceSdk) { + float temp = 1 - (float) (rule.second.nThreshold) / 100; + rule.second.fSensitivity = (5 + 90 * temp) / 100; + } + DBG("fSensitivity" << rule.second.fSensitivity); } - DBG("fSensitivity" << rule.second.fSensitivity); - } - appPref.setStringData(t_camIdex + "rtsp", rtsp_url); - // appPref.setStringData(t_camIdex+"addr", item.str_addr.toStdString()); + appPref.setStringData(t_camIdex + "rtsp", rtsp_url); + // appPref.setStringData(t_camIdex+"addr", item.str_addr.toStdString()); // json["rtsp"] = rtsp_url; - // json["addr"] = item.str_addr.toStdString(); + // json["addr"] = item.str_addr.toStdString(); - INFO("cam add is " << item.str_addr.toStdString()); + INFO("cam add is " << item.str_addr.toStdString()); - addCamera(t_camIdex, ruleMap); + addCamera(t_camIdex, ruleMap); + } + } else { + ERR("searchCamDevTableAll size is 0"); } - } else { - ERR("searchCamDevTableAll size is 0"); - } -#endif + } else { + + auto lst = m_lDBTool->searchCamDevTableAll(); + + appPref.setIntData("n_cut_max_duration", lst_dev.n_cut_max_duration); + appPref.setIntData("n_cut_min_duration", lst_dev.n_cut_min_duration); + if (lst.size() > 0) { + Json::Value json; + int startCamNO = appPref.getIntData("CamStart") * appPref.getIntData("CamStep"); + int CamCount = appPref.getIntData("CamStep"); + auto itor = lst.begin(); + + if (startCamNO >= lst.size()) { + ERR("startCamNO > lst.size()"); + return; + } + + for (int i = 0; i < startCamNO; i++) { + itor++; + } + + for (int i = 0; i < CamCount; i++) { + if (itor == lst.end()) { + ERR("itor == lst.end()"); + return; + } + std::string t_camIdex = itor->str_cam_dev_id.toStdString(); + std::string rtsp_url = rtspAddrBuild(itor->str_ip.toStdString(), 554, itor->str_username.toStdString(), + itor->str_password.toStdString(), itor->str_brand.toStdString()); + SdkRuleMap ruleMap = m_lDBTool->searchSdkRuleByCamId(itor->str_cam_dev_id); + for (auto &rule:ruleMap) { + + rule.second.strAddr = itor->str_addr; + rule.second.weekRuleVec = m_lDBTool->searchCameraWeekRuleByCamId(itor->str_cam_dev_id, rule.first); + + if (rule.second.nSdkType == PerStaticSdk) { + float temp = 1 - (float) (rule.second.nThreshold) / 100; + rule.second.fSensitivity = (75 + 25 * temp) / 100; + + } else if (rule.second.nSdkType != FaceSdk) { + float temp = 1 - (float) (rule.second.nThreshold) / 100; + rule.second.fSensitivity = (5 + 90 * temp) / 100; + } + // if (rule.second.nThreshold < 5 ) + // { + // rule.second.fSensitivity=0.95; + // } + // else if(rule.second.nThreshold > 95) + // { + // rule.second.fSensitivity=0.05; + // } + // else + // { + // rule.second.fSensitivity = 1-(float) (rule.second.nThreshold) / 100; + // } + + DBG("fSensitivity" << rule.second.fSensitivity); + } + appPref.setStringData(t_camIdex + "rtsp", rtsp_url); + // appPref.setStringData(t_camIdex+"addr", item.str_addr.toStdString()); + json["rtsp"] = rtsp_url; + // json["addr"] = item.str_addr.toStdString(); + + INFO("cam add is " << itor->str_addr.toStdString()); + + addCamera(t_camIdex, ruleMap); + itor++; + } + // for (auto item : lst) { + // std::string t_camIdex = item.str_cam_dev_id.toStdString(); + // std::string rtsp_url = rtspAddrBuild(item.str_ip.toStdString(), 554, item.str_username.toStdString(), + // item.str_password.toStdString(), item.str_brand.toStdString()); + // SdkRuleMap ruleMap = m_lDBTool->searchSdkRuleByCamId(item.str_cam_dev_id); + // for (auto &rule:ruleMap) { + // + // rule.second.strAddr = item.str_addr; + // rule.second.weekRuleVec = m_lDBTool->searchCameraWeekRuleByCamId(item.str_cam_dev_id, rule.first); + // + // if(rule.second.nSdkType == PerStaticSdk) + // { + // float temp=1-(float)(rule.second.nThreshold)/100; + // rule.second.fSensitivity=(75+25*temp)/100; + // + // } + // else if(rule.second.nSdkType != FaceSdk) + // { + // float temp=1-(float)(rule.second.nThreshold)/100; + // rule.second.fSensitivity=(5+90*temp)/100; + // } + //// if (rule.second.nThreshold < 5 ) + //// { + //// rule.second.fSensitivity=0.95; + //// } + //// else if(rule.second.nThreshold > 95) + //// { + //// rule.second.fSensitivity=0.05; + //// } + //// else + //// { + //// rule.second.fSensitivity = 1-(float) (rule.second.nThreshold) / 100; + //// } + // + // DBG("fSensitivity" << rule.second.fSensitivity); + // } + // appPref.setStringData(t_camIdex + "rtsp", rtsp_url); + // // appPref.setStringData(t_camIdex+"addr", item.str_addr.toStdString()); + // json["rtsp"] = rtsp_url; + // // json["addr"] = item.str_addr.toStdString(); + // + // INFO("cam add is " << item.str_addr.toStdString()); + // + // addCamera(t_camIdex, ruleMap); + // } + } else { + ERR("searchCamDevTableAll size is 0"); + } + + } } + RtspAnalysElement::~RtspAnalysElement() { for (auto controller: controllers) { delete controller.second; -- Gitblit v1.8.0