From b8c5eb8048b566d632b25391a79ccbd6ce33c010 Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期六, 30 三月 2019 16:10:01 +0800
Subject: [PATCH] 1.3 增加nsq消息,解决进程重启

---
 QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp |  125 +++++++++++++++++------------------------
 1 files changed, 51 insertions(+), 74 deletions(-)

diff --git a/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp b/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp
index faa86f6..e354f4e 100644
--- a/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp
+++ b/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp
@@ -80,17 +80,33 @@
         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();
+            Json::Value json;
+            int startCamNO = appPref.getIntData("CamStartNO");
+            int CamCount = appPref.getIntData("CamEndNO") - appPref.getIntData("CamStartNO") + 1;
+            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 = "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);
+
+                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;
@@ -103,14 +119,36 @@
                     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());
-
+                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 = "GB28181";
+//
+//                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);
+//                INFO("cam add is " << item.str_addr.toStdString());
+//                addCamera(t_camIdex, ruleMap);
+//            }
         } else {
             ERR("searchCamDevTableAll size is 0");
         }
@@ -158,76 +196,15 @@
                         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");
         }

--
Gitblit v1.8.0