From c8e6fb13202d18e3c1ada38578d2a5cc3c184198 Mon Sep 17 00:00:00 2001
From: miyanhui <dennismi1024@gmail.com>
Date: 星期一, 18 二月 2019 17:15:45 +0800
Subject: [PATCH] VideoToImageMulth和VideoAnalyFromHC支持RPC的端口设置
---
QiaoJiaSystem/StructureApp/AppPipeController.cpp | 76 ++++++++++++++++++++++++++++++++++----
1 files changed, 68 insertions(+), 8 deletions(-)
diff --git a/QiaoJiaSystem/StructureApp/AppPipeController.cpp b/QiaoJiaSystem/StructureApp/AppPipeController.cpp
index 18c22b4..7b38b75 100644
--- a/QiaoJiaSystem/StructureApp/AppPipeController.cpp
+++ b/QiaoJiaSystem/StructureApp/AppPipeController.cpp
@@ -19,6 +19,7 @@
//}
AppPipeController::AppPipeController(std::string folderPath, const SdkRuleMap &ruleMap) :
+ m_rpcClient("RtspAnalysServer", "127.0.0.1",appPref.getIntData("RpcServerPort"),"tcp"),
videoCaptureElement("filePath", 25, -1, appPref.getLongData("gpu.index")),
// videoCaptureElement(40),
m_index(0),
@@ -31,7 +32,7 @@
triggerElement(25, 10),
recordVideoElement(-1, ""),
bRecordVideoEnable(false),
- rpcClient("RtspAnalysServer", "127.0.0.1",10009,"tcp"),
+
m_bSetWH(false)
{
@@ -69,6 +70,7 @@
// intKeepRight();
//}
AppPipeController::AppPipeController(std::string camId, const SdkRuleMap &ruleMap, bool RecordVideoEnable) :
+ m_rpcClient("RtspAnalysServer", "127.0.0.1",appPref.getIntData("RpcServerPort"),"tcp"),
videoCaptureElement(appPref.getStringData(camId + "rtsp"), 25, 3000, appPref.getLongData("gpu.index")),
// videoCaptureElement(40),
m_index(0),
@@ -88,7 +90,6 @@
rightJudgment(ruleMap[KeepRightSdk]),
bRecordVideoEnable(RecordVideoEnable),
m_sdkRuleMap(ruleMap),
- rpcClient("RtspAnalysServer", "127.0.0.1",10009,"tcp"),
m_bSetWH(false)
{
@@ -177,6 +178,57 @@
string test_str;
+
+void AppPipeController::RecordVideo() {
+ /*std::string imgKeyYolo = yoloRpcElement.getProperty("imgKey");
+
+ std::string imgKeyFace = faceRpcElement.getProperty("imgKey");
+ if(faceRpcElement.getTriggerState() ||
+ personElement.getTriggerState() ||
+ leftJudgment.getTriggerState() ||
+ rightJudgment.getTriggerState() ||
+ perimeterElement.getTriggerState() ||
+ crowdElement.getTriggerState() ||
+ perHubElement.getTriggerState() ||
+ perStaticElement.getTriggerState())
+ {
+ try {
+ auto server = rpcClient.getServer();
+ if (!server)
+ {
+ ERR("server is null");
+ return;
+ }
+
+ if(imgKeyFace != imgKeyYolo)
+ {
+ server->recordVideo(imgKeyFace);
+ server->recordVideo(imgKeyYolo);
+ INFO("Record Video Face: "<<imgKeyFace);
+ INFO("Record Video Yolo: "<<imgKeyYolo);
+ } else {
+ INFO("Record Video: "<<imgKeyYolo);
+ server->recordVideo(imgKeyFace);
+ }
+ }
+ catch (std::exception &e)
+ {
+ ERR("Record Video ImgKeyFace: "<<imgKeyFace <<" ImgKeyYolo :"<<imgKeyYolo <<" Message: "<<e.what());
+ return ;
+ }
+ }
+ else {
+ INFO("ImageNoFace Yolo:"<<imgKeyYolo<<" Face:"<<imgKeyFace);
+ INFO("faceRpcElement: "<< faceRpcElement.getTriggerState() <<" "<<
+ "personElement: "<<personElement.getTriggerState() <<" "<<
+ "leftJudgment: "<<leftJudgment.getTriggerState() <<" "<<
+ "leftJudgment: "<<rightJudgment.getTriggerState() <<" "<<
+ "perimeterElement: "<<perimeterElement.getTriggerState()<<" "<<
+ "crowdElement: "<<crowdElement.getTriggerState()<<" "<<
+ "perHubElement: "<<perHubElement.getTriggerState()<<" "<<
+ "perStaticElement: "<<perStaticElement.getTriggerState());
+ }*/
+}
void AppPipeController::init() {
unsigned char ip_old[15] = {0};
@@ -209,7 +261,7 @@
m_hiredisTool.listRpop(m_camId,imgKey);
if(imgKey.empty())
{
- ERR("imgKey.empty() "<<imgKey);
+ ERR("CamId "<<m_camId<<" No ImgKey");
return;
}
@@ -226,7 +278,7 @@
m_hiredisTool.delKey(imgKey);
if(imageTemp.empty())
{
- ERR("No Image Data In: "<<imgKey);
+ ERR("No Image Data In: "<<m_camId<<" ImgKey:"<<imgKey);
return;
}
std::string strNewTime = AppUtil::getTimeUSecString();
@@ -257,8 +309,8 @@
imageDrawElement.setImage(imageTemp);
imageDrawElement.submit();
}
-
- if(faceRpcElement.getTriggerState() ||
+ //this->RecordVideo();
+ /*if(faceRpcElement.getTriggerState() ||
personElement.getTriggerState() ||
leftJudgment.getTriggerState() ||
rightJudgment.getTriggerState() ||
@@ -292,7 +344,7 @@
"crowdElement: "<<crowdElement.getTriggerState()<<" "<<
"perHubElement: "<<perHubElement.getTriggerState()<<" "<<
"perStaticElement: "<<perStaticElement.getTriggerState());
- }
+ }*/
}
});
@@ -303,14 +355,20 @@
personElement.setObjsResults(yoloRpcElement.getLastScoreRects());
personElement.submit();
}
+ //INFO("Record Video By Yolo");
+ //this->RecordVideo();
});
faceRpcElement.registerConnector([&] {
imageDrawElement.setFaces(faceRpcElement.getLastScoreRects());
+ //INFO("Record Video By Face");
+ //this->RecordVideo();
});
yoloRpcElement.registerConnector("YoloTrigger", [&] {
// auto images = yoloRpcElement.getTriggerMats();
+ //INFO("Record Video By Yolo");
+ //this->RecordVideo();
});
faceRpcElement.registerConnector("FaceTrigger", [&] {
@@ -321,6 +379,8 @@
faceRpcElement.getTriggerFaces(),
faceRpcElement.getTriggerScoreRects(),
faceRpcElement.getTriggerMats()});
+ //INFO("Record Video By Face");
+ //this->RecordVideo();
});
imageDrawElement.registerConnector([&] {
@@ -350,7 +410,7 @@
}
// registerElement(newRecordVideoElement);
- videoCaptureElement.setOutPutInterval(3);
+ //videoCaptureElement.setOutPutInterval(3);
faceExtractElement.setProperty("index", to_string(m_index));
registerElement(yoloRpcElement);
//#todo setProperty
--
Gitblit v1.8.0