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/BaiscSDKAnalysVideo.h |  108 ++++++++++++++++++++++++++++++++----------------------
 1 files changed, 64 insertions(+), 44 deletions(-)

diff --git a/QiaoJiaSystem/VideoAnalysFromHC/BaiscSDKAnalysVideo.h b/QiaoJiaSystem/VideoAnalysFromHC/BaiscSDKAnalysVideo.h
index a742fb6..991d212 100644
--- a/QiaoJiaSystem/VideoAnalysFromHC/BaiscSDKAnalysVideo.h
+++ b/QiaoJiaSystem/VideoAnalysFromHC/BaiscSDKAnalysVideo.h
@@ -16,51 +16,51 @@
 #include <basic/util/app/AppPreference.hpp>
 #include <basic/http_server/HttpSrvRetRecieve.hpp>
 #include <basic/util/net_config/net_config.h>
-
+#include "DBStruct.h"
 #define SETSCORE(VEC, POS, IDENT) appPref.setFloatData(IDENT, POS >= VEC.size() ? 80 : VEC[POS]);
 
 class BaiscSDKAnalysVideo : public mythread<getsdkHdlManage> {
     using TASK_FUNCTION = std::function<void(std::shared_ptr<finishSdkHdlManage> &, int)>;
 public:
     BaiscSDKAnalysVideo(TASK_FUNCTION task_f = nullptr) : m_task_function(task_f) {
-        resetFdfs();
-        {
-            std::thread httpServer([&]() {
-                HttpSrvRetRecieve httpSrvRetRecieve("0.0.0.0", 9090, 1);
-                httpSrvRetRecieve.setInfo("^/resetFdfs$", "POST", std::bind(&BaiscSDKAnalysVideo::resetFdfs, this,
-                                                                            std::placeholders::_1,
-                                                                            std::placeholders::_2,
-                                                                            std::placeholders::_3));
-                httpSrvRetRecieve.start();
-                httpSrvRetRecieve.waitForShutDown();
-            });
-            httpServer.detach();
-        }
+//        resetFdfs();
+//        {
+//            std::thread httpServer([&]() {
+//                HttpSrvRetRecieve httpSrvRetRecieve("0.0.0.0", 9090, 1);
+//                httpSrvRetRecieve.setInfo("^/resetFdfs$", "POST", std::bind(&BaiscSDKAnalysVideo::resetFdfs, this,
+//                                                                            std::placeholders::_1,
+//                                                                            std::placeholders::_2,
+//                                                                            std::placeholders::_3));
+//                httpSrvRetRecieve.start();
+//                httpSrvRetRecieve.waitForShutDown();
+//            });
+//            httpServer.detach();
+//        }
     }
 
     ~BaiscSDKAnalysVideo() {
     }
 
-    std::string resetFdfs(std::string ip = "", unsigned int port = 0, std::string content = "") {
-
-        std::thread reset([&]() {
-            fdfsClient.rwLock.rdlock();
-            if (fdfsClient.fastFds != nullptr) {
-                delete fdfsClient.fastFds;
-            }
-            fdfsClient.fastFds = new FastFds("fastDfsClient.conf");
-            fdfsClient.rwLock.unlock();
-        });
-        reset.detach();
-
-        return "";
-    }
+//    std::string resetFdfs(std::string ip = "", unsigned int port = 0, std::string content = "") {
+//
+//        std::thread reset([&]() {
+//            fdfsClient.rwLock.rdlock();
+//            if (fdfsClient.fastFds != nullptr) {
+//                delete fdfsClient.fastFds;
+//            }
+//            fdfsClient.fastFds = new FastFds("fastDfsClient.conf");
+//            fdfsClient.rwLock.unlock();
+//        });
+//        reset.detach();
+//
+//        return "";
+//    }
 
 private:
     virtual void doFunc(std::shared_ptr<getsdkHdlManage> spPacket) {
 
 //        DBG("do func sdk");
-        Json::Value json;
+  //      Json::Value json;
 
         //split sdks enable
         //#todo other sdk
@@ -70,42 +70,62 @@
 //            std::string s_c = str_cmp_thr;
         vector<int> sdkDetCoVec = chnString2Vec(spPacket->str_det_thr);
         vector<int> sdkComCoVec = chnString2Vec(spPacket->str_cmp_thr);
-
+        SdkRuleMap ruleMap;
         int t_size = sdkVec.size();
         std::string str_pre(spPacket->strDevID);
         str_pre.append(to_string(spPacket->nChannelID));
         for (int i = 0; i < t_size; i++) {
             switch (sdkVec[i]) {
-                case 1: {
-                    json["face.enable"] = "1";
+                case FaceSdk: {
+//                    json["face.enable"] = "1";
+
                     DBG("" << str_pre);
+
                     DBG(" TESTCODE setValue" << str_pre << "  " << sdkDetCoVec[i] << "  " << sdkComCoVec[i]);
-                    SETSCORE(sdkDetCoVec, i, str_pre + "face.det");
-                    SETSCORE(sdkComCoVec, i, str_pre + "face.cmp");
+//                    SETSCORE(sdkDetCoVec, i, str_pre + "face.det");
+//                    SETSCORE(sdkComCoVec, i, str_pre + "face.cmp");
+                    SdkRule rule;
+                    rule.nIsRun=1;
+                    rule.nQuality=sdkDetCoVec[i];
+                    rule.nThreshold=sdkComCoVec[i];
+                    rule.strAddr=spPacket->str_addr.c_str();
+                    ruleMap[FaceSdk]=rule;
                     break;
                 }
-                case 2: {
-                    DBG("XX.enable    " << "1");
+                case CarSdk: {
+//                    DBG("XX.enable    " << "1");
                     DBG(" TESTCODE setValue" << str_pre << "  " << sdkDetCoVec[i] << "  " << sdkComCoVec[i]);
-                    SETSCORE(sdkDetCoVec, i, str_pre + "XX.det");
-                    SETSCORE(sdkComCoVec, i, str_pre + "XX.cmp");
+//                    SETSCORE(sdkDetCoVec, i, str_pre + "XX.det");
+//                    SETSCORE(sdkComCoVec, i, str_pre + "XX.cmp");
+                    SdkRule rule;
+                    rule.nIsRun=1;
+                    rule.nQuality=sdkDetCoVec[i];
+                    rule.nThreshold=sdkComCoVec[i];
+                    rule.strAddr=spPacket->str_addr.c_str();
+                    ruleMap[CarSdk]=rule;
                     break;
                 }
-                case 3: {
-                    json["yolo.enable"] = "1";
+                case YoloSdk: {
+//                    json["yolo.enable"] = "1";
                     DBG(" TESTCODE setValue" << str_pre << "  " << sdkDetCoVec[i] << "  " << sdkComCoVec[i]);
-                    SETSCORE(sdkDetCoVec, i, str_pre + "yolo.det");
-                    SETSCORE(sdkComCoVec, i, str_pre + "yolo.cmp");
+//                    SETSCORE(sdkDetCoVec, i, str_pre + "yolo.det");
+//                    SETSCORE(sdkComCoVec, i, str_pre + "yolo.cmp");
+                    SdkRule rule;
+                    rule.nIsRun=1;
+                    rule.nQuality=sdkDetCoVec[i];
+                    rule.nThreshold=sdkComCoVec[i];
+                    rule.strAddr=spPacket->str_addr.c_str();
+                    ruleMap[YoloSdk]=rule;
                     break;
                 }
             }
         }
-        json["addr"] = spPacket->str_addr;
+     //   json["addr"] = spPacket->str_addr;
         INFO("cam add is " << spPacket->str_addr);
 
         //#todo get address
 
-        AppPipeController _AppPipeController(spPacket->src_path, json);
+        AppPipeController _AppPipeController(spPacket->src_path, ruleMap);
         _AppPipeController.setfdfsClient(&fdfsClient);
         //#todo from path get file list
         file_filter_type filter = [](const char *dirName, const char *dirent) {

--
Gitblit v1.8.0