QiaoJiaSystem/StructureApp/PerimeterElement.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
QiaoJiaSystem/VideoAnalysFromHC/main.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
QiaoJiaSystem/VideoToImageMulth/main.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
syncDBTool/ErlangDbTool.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
QiaoJiaSystem/StructureApp/PerimeterElement.cpp
@@ -13,7 +13,7 @@ #include <uuid/uuid.h> #include <jsoncpp/json/json.h> #define ALARM_PERCENT (10) //10% #define ALARM_PERCENT (25) //25% PerimeterElement::PerimeterElement(const SdkRule &rule) : m_sdkRule(rule), PipeElement(true), 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,8 +68,55 @@ } void RtspAnalysElement::init() { m_GB28181_Enable = appPref.getIntData("GB28181_Enable"); Record_Config lst_dev = m_lDBTool->searchConfigTableWithinServerInfo(); #ifndef GB28181 //#todo GB28181 if (m_GB28181_Enable) { 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); } } else { ERR("searchCamDevTableAll size is 0"); } } else { auto lst = m_lDBTool->searchCamDevTableAll(); appPref.setIntData("n_cut_max_duration", lst_dev.n_cut_max_duration); @@ -185,50 +232,9 @@ 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); } } else { ERR("searchCamDevTableAll size is 0"); } #endif } RtspAnalysElement::~RtspAnalysElement() { for (auto controller: controllers) { QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.h
@@ -44,7 +44,7 @@ private: LDBTool *m_lDBTool; int m_GB28181_Enable; std::map<std::string, AppPipeController *> controllers; std::atomic<int> currentCount; int maxCount; QiaoJiaSystem/VideoAnalysFromHC/main.cpp
@@ -77,7 +77,18 @@ DBG("hava GB28181"); #endif appPref.setLongData("gpu.index", 0); if (argc < 4) { assert("t_value.size()"); } int arg1 = atoi(argv[1]); int gindx = abs(arg1) % 2; int GB28181_Enable = arg1 < 0 ? gindx : -1; DBG(gindx); appPref.setIntData("GB28181_Enable", GB28181_Enable); appPref.setLongData("gpu.index", gindx); appPref.setIntData("show.image", 0); //todo @@ -126,10 +137,10 @@ // faceSearchRpcClient("faceCmServer", "", 10004, "tcp") //loopRecord server appPref.setStringData("loopRecord.proxy", "LoopRecordVideoServer"); //#todo appPref.setStringData("loopRecord.ip", ""); appPref.setIntData("loopRecord.port", 10010); // appPref.setStringData("loopRecord.proxy", "LoopRecordVideoServer"); // //#todo // appPref.setStringData("loopRecord.ip", ""); // appPref.setIntData("loopRecord.port", 10010); //rpcClient(appPref.getStringData("loopRecord.proxy"), appPref.getStringData("loopRecord.ip"), appPref.getLongData("loopRecord.port"),"tcp"), LDBTool _dbTool; QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
@@ -208,11 +208,6 @@ } } #ifndef GB28181 #else #endif } /** @@ -222,16 +217,7 @@ */ int RtspAnalysManager::removeCamera(const std::string &index) { INFO("MYH DEBUG HERE"); #ifndef GB28181 if (m_controllers.find(index) == m_controllers.end())return -1; auto controller = m_controllers[index]; controller->stop(); controller->wait(); delete controller; m_controllers.erase(index); m_currentCount--; #else if (m_GB28181_Enable) { if (m_controllers_videoCapElem.find(index) == m_controllers_videoCapElem.end())return -1; auto controller = m_controllers_videoCapElem[index]; controller->stop(); @@ -239,7 +225,15 @@ delete controller; m_controllers_videoCapElem.erase(index); m_currentCount--; #endif } else { if (m_controllers.find(index) == m_controllers.end())return -1; auto controller = m_controllers[index]; controller->stop(); controller->wait(); delete controller; m_controllers.erase(index); m_currentCount--; } m_imgRedisCRwLock.wrlock(); auto imgRedis = m_imgRedisControllers[index]; @@ -258,16 +252,8 @@ */ int RtspAnalysManager::removeAll() { INFO("MYH DEBUG HERE"); #ifndef GB28181 for (auto controller: m_controllers) { controller.second->stop(); } for (auto controller: m_controllers) { controller.second->wait(); delete controller.second; } m_controllers.clear(); #else if (m_GB28181_Enable) { for (auto controller: m_controllers_videoCapElem) { controller.second->stop(); } @@ -276,7 +262,16 @@ delete controller.second; } m_controllers_videoCapElem.clear(); #endif } else { for (auto controller: m_controllers) { controller.second->stop(); } for (auto controller: m_controllers) { controller.second->wait(); delete controller.second; } m_controllers.clear(); } INFO("MYH DEBUG HERE"); m_imgRedisCRwLock.wrlock(); @@ -311,7 +306,7 @@ INFO("Record Video For: " << name); ImageName_s_t nameSt = ImageName_s_t::fromString(name); if (nameSt.Valid()) { if (GB28181_Enable) { if (m_GB28181_Enable) { auto pCaptureElem = m_controllers_videoCapElem.find(nameSt.m_camId); if (pCaptureElem != m_controllers_videoCapElem.end()) { //#todo ~~~~~~!!!!!!! 这里有bug 需要放开调试 QiaoJiaSystem/VideoToImageMulth/main.cpp
@@ -66,7 +66,8 @@ int arg1 = atoi(argv[1]); int gindx = abs(arg1) % 2; int GB28181_Enable = abs(arg1) % 2; int GB28181_Enable = arg1 < 0 ? gindx : -1; DBG(gindx); appPref.setIntData("GB28181_Enable", GB28181_Enable); appPref.setLongData("gpu.index", gindx); syncDBTool/ErlangDbTool.cpp
@@ -1614,7 +1614,7 @@ } if (str_tableUuid.size() > 0) { QString sql = QString::fromStdString( "Select a.uuid as id ,a.faceUrl as img,a.feature,b.idCard as idcard,b.enable,b.monitorLevel from '" + "Select a.uuid as id ,a.faceUrl as img,a.feature,b.idCard as idcard,b.enabled,b.monitorLevel from '" + str_tableUuid + "_fea' as a ,'" + str_tableUuid + "' as b where a.uuid = b.uuid and ( a.del_flag=0 AND b.del_flag=0);"); QSqlQuery query(g_syncDbFile);