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 | 历史 |
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 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);