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