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