From 6151028a8e0e63ed6967faa7c23ff56b076879df Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期五, 05 四月 2019 11:22:03 +0800
Subject: [PATCH] 解决GB28181推多路流问题
---
QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp | 42 +++++++++++++++++++++++-------------------
1 files changed, 23 insertions(+), 19 deletions(-)
diff --git a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
index dc1cf0a..38a06c0 100644
--- a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
+++ b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
@@ -7,10 +7,11 @@
using std::string;
+void *gRtspAnalysManagerCamera = nullptr;
RtspAnalysManager::RtspAnalysManager(LDBTool *_dbTool) : m_lDBTool(nullptr), m_maxCount(50), m_currentCount(0) {
- INFO("MYH DEBUG HERE");
- m_lDBTool = new LDBTool;
+// INFO("MYH DEBUG HERE");
+ m_lDBTool = _dbTool;
init();
}
@@ -39,7 +40,10 @@
//鍒濆鍖栧嚱鏁�
void RtspAnalysManager::init() {
- INFO("MYH DEBUG HERE")
+// INFO("MYH DEBUG HERE")
+
+ gRtspAnalysManagerCamera = this;
+ DBG("gRtspAnalysManagerCamera ADDR:" << gRtspAnalysManagerCamera);
m_GB28181_Enable = appPref.getIntData("GB28181_Enable");
//#todo GB28181
@@ -61,7 +65,7 @@
sleep(1);
}
} else {
- ERR("searchCamDevTableAll size is 0");
+ ERR("searchCamDevTableByType size is 0");
}
} else {
@@ -72,9 +76,9 @@
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) {
- int startCamNO = appPref.getIntData("CamStart") * appPref.getIntData("CamStep");
- int CamCount = appPref.getIntData("CamStep");
- INFO("StartCamNO: " << startCamNO << " CamStep: " << CamCount);
+ int startCamNO = appPref.getIntData("CamStartNO");
+ int CamCount = appPref.getIntData("CamEndNO") - appPref.getIntData("CamStartNO") + 1;
+ INFO("StartCamNO: " << startCamNO << " CamCount: " << CamCount);
auto itor = lst.begin();
if (startCamNO >= lst.size()) {
@@ -116,7 +120,7 @@
//
// }
} else {
- ERR("searchCamDevTableAll size is 0");
+ ERR("searchCamDevTableByType size is 0");
}
}
}
@@ -153,7 +157,7 @@
//#todo end
if (m_controllers_videoCapElem.find(index) == m_controllers_videoCapElem.end()) {
- INFO("MYH DEBUG HERE");
+// INFO("MYH DEBUG HERE");
if (m_currentCount >= m_maxCount) {
ERR("addCamera faild, camera's num is full!")
return -1;
@@ -189,7 +193,7 @@
// auto lst = m_lDBTool->searchCamDevTableAll();
Record_Config lst_dev = m_lDBTool->searchConfigTableWithinServerInfo();
if (m_controllers.find(index) == m_controllers.end()) {
- INFO("MYH DEBUG HERE");
+// INFO("MYH DEBUG HERE");
if (m_currentCount >= m_maxCount) {
ERR("addCamera faild, camera's num is full!")
return -1;
@@ -220,7 +224,7 @@
* @return 鎬绘槸0
*/
int RtspAnalysManager::removeCamera(const std::string &index) {
- INFO("MYH DEBUG HERE");
+// INFO("MYH DEBUG HERE");
if (m_GB28181_Enable) {
if (m_controllers_videoCapElem.find(index) == m_controllers_videoCapElem.end())return -1;
auto controller = m_controllers_videoCapElem[index];
@@ -246,7 +250,7 @@
delete imgRedis;
m_imgRedisControllers.erase(index);
m_imgRedisCRwLock.unlock();
- INFO("MYH DEBUG HERE");
+// INFO("MYH DEBUG HERE");
return 0;
}
@@ -255,7 +259,7 @@
* @return
*/
int RtspAnalysManager::removeAll() {
- INFO("MYH DEBUG HERE");
+// INFO("MYH DEBUG HERE");
if (m_GB28181_Enable) {
for (auto controller: m_controllers_videoCapElem) {
@@ -276,7 +280,7 @@
}
m_controllers.clear();
}
- INFO("MYH DEBUG HERE");
+// INFO("MYH DEBUG HERE");
m_imgRedisCRwLock.wrlock();
for (auto controller: m_imgRedisControllers) {
@@ -291,7 +295,7 @@
m_currentCount = 0;
- INFO("MYH DEBUG HERE");
+// INFO("MYH DEBUG HERE");
return 0;
}
@@ -334,18 +338,18 @@
//淇濆瓨瑙嗛鍒癛tspImageRedis鐨勯槦鍒�,鐢盧tspCaptureElement璋冪敤
bool RtspAnalysManager::SaveImageToRedis(const std::string &camId, const std::string &imageName, const cv::Mat &img) {
- INFO("MYH DEBUG HERE " << camId);
+// INFO("MYH DEBUG HERE " << camId);
// m_imgRedisCRwLock.rdlock();
auto item = m_imgRedisControllers.find(camId);
if (item != m_imgRedisControllers.end()) {
- INFO("Save Succeed Cam: " << camId << " ImageKey: " << imageName);
+// INFO("Save Succeed Cam: " << camId << " ImageKey: " << imageName);
item->second->SaveImage(imageName, img);
} else {
- ERR("Save Failed Cam: " << camId << " ImageKey: " << imageName);
+// ERR("Save Failed Cam: " << camId << " ImageKey: " << imageName);
}
// m_imgRedisCRwLock.unlock();
- INFO("MYH DEBUG HERE");
+// INFO("MYH DEBUG HERE");
return true;
}
--
Gitblit v1.8.0