From c6a77604029cc9abd45e04e5a66579dd2712222b Mon Sep 17 00:00:00 2001 From: miyanhui <dennismi1024@gmail.com> Date: 星期四, 14 二月 2019 15:44:44 +0800 Subject: [PATCH] 增加代码注释 --- QiaoJiaSystem/StructureApp/PerimeterElement.cpp | 11 +++-- QiaoJiaSystem/VideoToImageMulth/CMakeLists.txt | 6 -- QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.h | 2 QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.h | 1 QiaoJiaSystem/VideoToImageMulth/RtspImageRedis.cpp | 5 +- QiaoJiaSystem/VideoToImage/RtspCaptureElement.cpp | 31 ++++++++------- QiaoJiaSystem/VideoToImageMulth/main.cpp | 5 -- QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp | 27 ++++++++++++- 8 files changed, 54 insertions(+), 34 deletions(-) diff --git a/QiaoJiaSystem/StructureApp/PerimeterElement.cpp b/QiaoJiaSystem/StructureApp/PerimeterElement.cpp index 0523472..e33b86a 100644 --- a/QiaoJiaSystem/StructureApp/PerimeterElement.cpp +++ b/QiaoJiaSystem/StructureApp/PerimeterElement.cpp @@ -19,7 +19,8 @@ PipeElement(true), trackingTrigger(nullptr), mRealNum(0), - m_triggerElement(rule.nTriggerDelay*8,0), + //姣忕鍑犲紶,灏变箻浠ュ嚑 + m_triggerElement(rule.nTriggerDelay*3,0), pManagerEsDB(nullptr), m_bIsMask(true), m_bSetWH(false), @@ -117,22 +118,22 @@ } - switch (m_sdkRule.nSdkType) { case PerimeterSdk: //state = num > 0 ; state =( num !=mRealNum); // DBG("num="<<num<< "time="<< picDate); - + INFO("SDK Type: PerimeterSdk"); break; case CrowdSdk: state = num > m_sdkRule.nAlarmNumLowerLimit && num !=mRealNum; + INFO("SDK Type: CrowdSdk"); break; case PerHubSdk: state = num > m_sdkRule.nAlarmNumLowerLimit && num < m_sdkRule.nAlarmNumUpperLimit && num !=mRealNum; - + INFO("SDK Type: PerHubSdk"); // if(m_sdkRule.nAlarmNumLowerLimit>=0) // { @@ -164,7 +165,7 @@ default: break; } - + INFO("State:"<<state<<" Num:"<<num<<" mRealNum:"<<mRealNum<<" LowerLimit :"<<m_sdkRule.nAlarmNumLowerLimit<<" HightLimit: "<<m_sdkRule.nAlarmNumUpperLimit); m_triggerElement.setState(state); m_triggerElement.triggerOnce(); if (m_triggerElement.getTriggerState() ) diff --git a/QiaoJiaSystem/VideoToImage/RtspCaptureElement.cpp b/QiaoJiaSystem/VideoToImage/RtspCaptureElement.cpp index 5053e4b..67ad6cd 100644 --- a/QiaoJiaSystem/VideoToImage/RtspCaptureElement.cpp +++ b/QiaoJiaSystem/VideoToImage/RtspCaptureElement.cpp @@ -16,10 +16,14 @@ m_capture = new CvCapture_FFMPEG(m_camId); } +//瀹氭椂鎵ц,灏� void RtspCaptureElement::timerFunc() { - u_char *data; - int width = 0, height = 0, step = 0, cn = 0; + u_char *data = nullptr; + int width = 0; + int height = 0; + int step = 0; + int cn = 0; DBG("GRABFrame "<<m_camId); bool ret = m_capture->grabFrame(); if (!ret) { @@ -44,14 +48,7 @@ m_picCount.store(0); } - //姣忎釜Cam鐨勯槦鍒楁渶澶歁_CAM_PIC_MAX_COUNT寮� { - /*ClockTimer timer("RedisTime "); - auto imageCount = m_redisTool.getSize(m_camId); - if (imageCount > M_CAM_PIC_MAX_COUNT) { - ERR("Too Much Pics In Cam " << m_camId << " QUeue"); - return; - }*/ ClockTimer timer("FrameToImage"); m_capture->retrieveFrame(0, &data, &step, &width, &height, &cn); @@ -59,10 +56,6 @@ cv::Mat copyMat; img.copyTo(copyMat); std::string imageName = m_capture->GetImageName(); - /*ClockTimer SetImageValueTimer("RedisTimeSetKey "); - m_redisTool.setKeyImage(imageName, copyMat); - ClockTimer SetImageNameTimer("RedisTimeSetKey "); - m_redisTool.listLpush(m_camId, imageName);*/ } fireConnectors(); } @@ -102,14 +95,22 @@ if(m_gpuIndex>=0){ setenv("CUDA_VISIBLE_DEVICES", std::to_string(m_gpuIndex).c_str(),0); } - m_capture->open(m_path.c_str(),m_gpuIndex>=0); + bool bResult = m_capture->open(m_path.c_str(),m_gpuIndex>=0); + if(bResult) + { + INFO("GPUIndex: "<<m_gpuIndex<<" VideoPath:"<<m_path<<" Succeed"); + } else{ + ERR("GPUIndex: "<<m_gpuIndex<<" VideoPath:"<<m_path<<" Failed"); + } } +//绾跨▼鍚姩涔嬪墠璋冪敤, void RtspCaptureElement::threadInitial() { openVideo(); } +//绾跨▼缁撴潫鐨勬椂鍊欒皟鐢�,鍏抽棴ffmpeg娴� void RtspCaptureElement::threadClosing() { m_capture->close(); @@ -117,8 +118,10 @@ m_capture = nullptr; } +//璁剧疆淇濆瓨瑙嗛鐨勬渶灏忓拰鏈�澶ф椂闀� void RtspCaptureElement::SetVideoMinMaxSeconds(const int minSeconds, const int maxSeconds) { + INFO("VideoMinSeconds: "<<minSeconds<<" VideoMaxSeconds: "<<maxSeconds); m_capture->SetMinMaxVideoSeconds(minSeconds,maxSeconds); } diff --git a/QiaoJiaSystem/VideoToImageMulth/CMakeLists.txt b/QiaoJiaSystem/VideoToImageMulth/CMakeLists.txt index e328cef..93b77c9 100644 --- a/QiaoJiaSystem/VideoToImageMulth/CMakeLists.txt +++ b/QiaoJiaSystem/VideoToImageMulth/CMakeLists.txt @@ -1,7 +1,3 @@ -#cmake_minimum_required(VERSION 2.8) - -#project(VideoAnalysFromHC) -#add_executable(${PROJECT_NAME} "main.cpp") cmake_minimum_required(VERSION 3.5) project(VideoToImageMulth) set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../build) @@ -10,7 +6,7 @@ add_compile_options(-fPIC) add_definitions(-DGLOG) add_definitions(-DDEBUG_ERR -DDEBUG_INFO -fpermissive) - +add_definitions(-Wall -Wextra) SET(LIBS glog Ice diff --git a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp index 5e713a3..0335346 100644 --- a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp +++ b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp @@ -37,6 +37,7 @@ return rtsp_url; } +//鍒濆鍖栧嚱鏁� void RtspAnalysManager::init() { auto lst = m_lDBTool->searchCamDevTableAll(); @@ -70,6 +71,14 @@ m_controllers.clear(); } +/** + * 鏍规嵁鎽勫儚鏈篒D鍜孯TSP璺緞,澧炲姞鎽勫儚鏈� + * 瀵逛簬姣忎釜鎽勫儚鏈烘湁涓�涓� RtspImageRedisElement 瀵硅薄鐢ㄤ簬淇濆瓨鍥剧墖鍒癛edis + * 鏈変竴涓� RtspCaptureElement 鐢ㄦ埛褰曞彇鍜屼繚瀛樿棰� + * @param index 鎽勫儚鏈篿d + * @param rtsp 涓婇潰鐨勬憚鍍忔満瀵瑰簲鐨勮棰戣矾寰� + * @return -1 娣诲姞澶辫触,0 娣诲姞鎴愬姛 + */ int RtspAnalysManager::addCamera(const std::string &index, const std::string& rtsp) { auto lst = m_lDBTool->searchCamDevTableAll(); Record_Config lst_dev = m_lDBTool->searchConfigTableWithinServerInfo(); @@ -91,11 +100,16 @@ } else { removeCamera(index); - DBG("removeCamera " << index) + DBG("removeCamera " << index); return addCamera(rtsp, index); } } +/** + * 鏍规嵁CamID绉婚櫎鎽勫儚鏈�,鍚屾椂鍋滄瑙嗛鐨勬姄鍙栧拰淇濆瓨鍥剧墖鍒癛edis + * @param index 鎽勫儚鏈篒D + * @return 鎬绘槸0 + */ int RtspAnalysManager::removeCamera(const std::string &index) { if (m_controllers.find(index) == m_controllers.end())return -1; auto controller = m_controllers[index]; @@ -113,6 +127,10 @@ return 0; } +/** + * 绉婚櫎鎵�鏈夌殑鎽勫儚鏈� + * @return + */ int RtspAnalysManager::removeAll() { for (auto controller: m_controllers) { controller.second->stop(); @@ -138,13 +156,18 @@ return 0; } +//鑾峰彇鏈�澶х殑鎽勫儚鏈烘暟閲� int RtspAnalysManager::getMaxCamCount() { return m_maxCount; } +//鑾峰彇褰撳墠鐨勬憚鍍忔満鏁伴噺 int RtspAnalysManager::getCurrentCamCount() { return m_currentCount; } + + +//褰曞彇瑙嗛鐨凴PC鐨勬帴鍙e嚱鏁� ::std::string RtspAnalysManager::recordVideo(const ::std::string& name, const ::Ice::Current&) { INFO("Record Video For: "<<name); @@ -165,7 +188,7 @@ return name; } - +//淇濆瓨瑙嗛鍒癛tspImageRedis鐨勯槦鍒�,鐢盧tspCaptureElement璋冪敤 bool RtspAnalysManager::SaveImageToRedis(const std::string& camId,const std::string& imageName,const cv::Mat& img) { auto item = m_imgRedisControllers.find(camId); diff --git a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.h b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.h index da8e966..bfa08be 100644 --- a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.h +++ b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.h @@ -13,6 +13,7 @@ #include <basic/util/app/AppPreference.hpp> #include "RtspAnalysServer.h" +//鐢ㄦ潵瀹炵幇recordVideo鐨凴PC鐨勬帴鍙g被 class RtspAnalysManager :public ::RtspAnalys::RtspAnalysServer{ public: diff --git a/QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.h b/QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.h index 3421ba0..981dc7a 100644 --- a/QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.h +++ b/QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.h @@ -53,7 +53,7 @@ const int m_nPicsPickOne = 8; //姣忓彴鎽勫儚鏈轰繚瀛樺埌Redis鐨勫浘鐗囨暟閲忕殑鏈�澶у�� - const int M_CAM_PIC_MAX_COUNT = 50; + //const int M_CAM_PIC_MAX_COUNT = 50; RtspAnalysManager * m_pManager; }; diff --git a/QiaoJiaSystem/VideoToImageMulth/RtspImageRedis.cpp b/QiaoJiaSystem/VideoToImageMulth/RtspImageRedis.cpp index 549d0cd..4f74d16 100644 --- a/QiaoJiaSystem/VideoToImageMulth/RtspImageRedis.cpp +++ b/QiaoJiaSystem/VideoToImageMulth/RtspImageRedis.cpp @@ -16,7 +16,7 @@ auto imageCount = m_redisTool.getSize(m_camId); //淇濊瘉Redis涓殑鍥剧墖涓嶈杩囧 if (imageCount > M_CAM_PIC_MAX_COUNT) { - ERR("Too Much Pics In Cam " << m_camId << "Redis"); + ERR("Too Much Pics In Cam " << m_camId << " Redis ImageCount: " << imageCount ); return; } auto item = m_imageQueue.front(); @@ -26,12 +26,13 @@ } } - +//缁ф壙鑷埗绫�,绾跨▼鍒濆鍖栫殑涓�浜涘伐浣� void RtspImageRedisElement::threadInitial() { } +//缁ф壙鑷埗绫�,绾跨▼缁撴潫鐨勬椂鍊欒皟鐢� void RtspImageRedisElement::threadClosing() { } diff --git a/QiaoJiaSystem/VideoToImageMulth/main.cpp b/QiaoJiaSystem/VideoToImageMulth/main.cpp index ec98d46..0af3204 100644 --- a/QiaoJiaSystem/VideoToImageMulth/main.cpp +++ b/QiaoJiaSystem/VideoToImageMulth/main.cpp @@ -36,11 +36,6 @@ appPref.setLongData("gpu.index", 1); appPref.setIntData("show.image", 0); - - -// LDBTool _dbTool; -// thread startRtspAnalys(startManager, &_dbTool); -// startRtspAnalys.detach(); appPref.setStringData("user.loop.absolute.path", appConfig.getStringProperty("cutPath")); IceRpcServer<RtspAnalysManager> server("RtspAnalysServer", 10009, "tcp"); server.setMessageSizeMax(1024 * 1024 * 50); -- Gitblit v1.8.0