From a2dfb4907fd11e0a64ba16419dce066509462297 Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期三, 06 三月 2019 10:04:45 +0800
Subject: [PATCH] 修改部分bug
---
QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp | 138 ++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 121 insertions(+), 17 deletions(-)
diff --git a/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp b/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp
index 25b961b..db552a4 100644
--- a/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp
+++ b/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp
@@ -68,33 +68,48 @@
}
void RtspAnalysElement::init() {
- auto lst = m_lDBTool->searchCamDevTableAll();
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;
- 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);
+ 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 = item.str_addr;
- rule.second.weekRuleVec = m_lDBTool->searchCameraWeekRuleByCamId(item.str_cam_dev_id, rule.first);
+ 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;
+ 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;
}
// if (rule.second.nThreshold < 5 )
// {
@@ -116,6 +131,94 @@
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) {
+// Json::Value json;
+
+ 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) {
+
+ 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;
+ }
+ 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);
@@ -124,6 +227,7 @@
ERR("searchCamDevTableAll size is 0");
}
+#endif
}
RtspAnalysElement::~RtspAnalysElement() {
--
Gitblit v1.8.0