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