From 1f16245b4b4fc36c519e7afc9fd9cf828f25199d Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期四, 28 二月 2019 20:06:35 +0800
Subject: [PATCH] 修改新增摄像机获取底图问题 解码两次问题
---
QiaoJiaSystem/StructureApp/FaceExtractElement.cpp | 31 ++++++++++++++++++++++++++++---
1 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp b/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp
index 4fed07d..b0eab37 100644
--- a/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp
+++ b/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp
@@ -37,7 +37,8 @@
faceSearchRpcClient(appPref.getStringData("faceSear.proxy"), appPref.getStringData("faceSear.ip"),
appPref.getIntData("faceSear.port"), "tcp"),
// faceSearchRpcClient("faceCmServer", "", 10004, "tcp")
- m_sdkRule(rule)
+ m_sdkRule(rule),
+ m_rpcClient("RtspAnalysServer", "127.0.0.1",appPref.getIntData("RpcServerPort"),"tcp")
{
sharedMemory = new QSharedMemory(QString(shareMemoryName.c_str()));
if (!sharedMemory->create(4608 * 2592 * 4)) {
@@ -61,10 +62,15 @@
}
void FaceExtractElement::timerFunc() {
+ INFO("MYH Run Here");
std::vector<FaceToExtract> faceExtractQueueTmp;
{
std::lock_guard<std::mutex> lg(imageQueueMutex);
- if (faceExtractQueue.empty())return;
+ if (faceExtractQueue.empty())
+ {
+ ERR("faceExtractQueue.empty ");
+ return;
+ }
faceExtractQueueTmp.swap(faceExtractQueue);
faceExtractQueue.clear();
}
@@ -100,7 +106,7 @@
// cv::imwrite(string1, image);
// }
if (feature.empty()) {
- ERR("feature is empty");
+ INFO("No Face Find: "<<getProperty("imgKey"));
continue;
}
features.clear();
@@ -212,6 +218,25 @@
t_json["indeviceid"] = appPref.getStringData("fxDevID");
t_json["indevicename"] = appPref.getStringData("fxDevNAME");
+ std::string strImageKey = faceExtractQueueTmp[i].scoredRects[j].properties["imgKey"];
+ INFO("SaveImageKey To ES: "<<strImageKey);
+ t_json["imgKey"] = strImageKey;
+
+ try {
+ auto server = m_rpcClient.getServer();
+ if (!server)
+ {
+ ERR("server is null");
+ //return;
+ }
+ INFO("Record Video "<<strImageKey);
+ server->recordVideo(strImageKey);
+ }
+ catch (std::exception &e)
+ {
+ ERR("Record Video Err: "<<strImageKey <<" Message: "<<e.what());
+ //return;
+ }
auto faceSearchServer = faceSearchRpcClient.getServer();
if (!faceSearchServer) {
ERR("faceSearchServer is null");
--
Gitblit v1.8.0