From a2ea58c567a078bb97a9e45a56fe50df41438d22 Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期一, 15 四月 2019 10:37:31 +0800
Subject: [PATCH] 整合c++ver1.3的修改代码进入该分支

---
 QiaoJiaSystem/DataManagerServer/http_configserver.cpp            |   20 +++++-----
 QiaoJiaSystem/FaceDetectServer/main_detect.cpp                   |    3 +
 QiaoJiaSystem/StructureApp/PerimeterElement.cpp                  |   16 ++++----
 QiaoJiaSystem/FaceDetectServer/FaceExtractServerI.cpp            |    1 
 QiaoJiaSystem/VideoToImageMulth/RtspImageRedis.cpp               |    6 +-
 QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp |   10 ++--
 QiaoJiaSystem/FaceDetectServer/main_extract.cpp                  |    3 +
 QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp                      |    9 ++--
 QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.cpp           |   12 ++++--
 QiaoJiaSystem/StructureApp/FaceExtractElement.cpp                |    6 +-
 QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp            |    8 ++--
 11 files changed, 50 insertions(+), 44 deletions(-)

diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
index d5dd971..52adf80 100644
--- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
+++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
@@ -1164,11 +1164,11 @@
                                         std::string brand) const {
 
     if (brand == "haikang") {
-        bool ret = getHKDevSerialNumber(ip.c_str(), port, username.c_str(), passwd.c_str());
-        if (!ret) {
-            ERR("getHKDevSerialNumber ERR");
-            return false;
-        }
+//        bool ret = getHKDevSerialNumber(ip.c_str(), port, username.c_str(), passwd.c_str());
+//        if (!ret) {
+//            ERR("getHKDevSerialNumber ERR");
+//            return false;
+//        }
         //璋冪敤rtsp娴乺tsp://admin:a1234567@192.168.1.215:554/h264/ch1/main/av_stream
         port = 554;//TODO
 //        std::string rtsp_url = "rtsp://" + username + ":" + passwd + "@" + ip + ":" + std::to_string(port) +
@@ -1218,11 +1218,11 @@
         return false;//TODO
     } else if (brand == "yushi") {
 //        rtsp://admin:admin@192.168.8.8:554/video1
-        bool ret = getUVDevSerialNumber(ip.c_str(), username.c_str(), passwd.c_str());
-        if (!ret) {
-            ERR("getUVDevSerialNumber ERR");
-            return false;
-        }
+//        bool ret = getUVDevSerialNumber(ip.c_str(), username.c_str(), passwd.c_str());
+//        if (!ret) {
+//            ERR("getUVDevSerialNumber ERR");
+//            return false;
+//        }
 
         port = 554;
 //        std::string rtsp_url = "rtsp://" + username + ":" + passwd + "@" + ip + ":" + std::to_string(port) +
diff --git a/QiaoJiaSystem/FaceDetectServer/FaceExtractServerI.cpp b/QiaoJiaSystem/FaceDetectServer/FaceExtractServerI.cpp
index 0485c6a..c8918da 100644
--- a/QiaoJiaSystem/FaceDetectServer/FaceExtractServerI.cpp
+++ b/QiaoJiaSystem/FaceDetectServer/FaceExtractServerI.cpp
@@ -50,5 +50,6 @@
         ERR("shareMemory attach faild");
 //        throw std::runtime_error("shareMemory attach faild");
     }
+    return feature;
 
 }
diff --git a/QiaoJiaSystem/FaceDetectServer/main_detect.cpp b/QiaoJiaSystem/FaceDetectServer/main_detect.cpp
index bf9f733..7fdaea5 100644
--- a/QiaoJiaSystem/FaceDetectServer/main_detect.cpp
+++ b/QiaoJiaSystem/FaceDetectServer/main_detect.cpp
@@ -57,7 +57,8 @@
     IceRpcServer<FaceDetectServerI> server("faceServer", appPref.getIntData("RpcFDPort"), "tcp");
     server.setMessageSizeMax(1024 * 1024 * 50);
     server.setPoolInitSize(appPref.getIntData("thread.max"));
-    server.setPoolMaxSize(appPref.getIntData("thread.max"));
+    DBG("MaxPoolSize: " << std::max(appPref.getIntData("thread.max")*2, 32));
+    server.setPoolMaxSize(std::max(appPref.getIntData("thread.max")*2, 32));
     server.runWaitShutDown();
     return 0;
 }
diff --git a/QiaoJiaSystem/FaceDetectServer/main_extract.cpp b/QiaoJiaSystem/FaceDetectServer/main_extract.cpp
index 712f421..10046ca 100644
--- a/QiaoJiaSystem/FaceDetectServer/main_extract.cpp
+++ b/QiaoJiaSystem/FaceDetectServer/main_extract.cpp
@@ -58,7 +58,8 @@
     IceRpcServer<FaceExtractServerI> server("faceExtractServer", appPref.getIntData("RpcFEPort"), "tcp");
     server.setMessageSizeMax(1024 * 1024 * 50);
     server.setPoolInitSize(appPref.getIntData("thread.max"));
-    server.setPoolMaxSize(appPref.getIntData("thread.max"));
+    DBG("MaxPoolSize: " << std::max(appPref.getIntData("thread.max")*2, 32));
+    server.setPoolMaxSize(std::max(appPref.getIntData("thread.max")*2, 32));
     server.runWaitShutDown();
     return 0;
 }
diff --git a/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.cpp b/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.cpp
index a6871d4..299ec03 100644
--- a/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.cpp
+++ b/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.cpp
@@ -278,6 +278,10 @@
 
 //        BASICGB28181::avframe_to_cvmat(frame).copyTo(p_this->m_image);
             p_this->m_image = std::move(BASICGB28181::avframe_to_cvmat(p_this->frame));
+            if(p_this->m_image.empty()) {
+                ERR("camID:" << p_this->m_camIdx << " frameW:" << p_this->frame->width);
+                continue;
+            }
 //            灏唅甯т繚瀛樹负蹇収
             if (p_this->m_SnapshotNotSaveRet && (p_this->pkt.flags & AV_PKT_FLAG_KEY)) {
                 try {
@@ -434,7 +438,7 @@
         if (!m_packetsVec.empty()) {
             auto iter = m_packetsVec.begin();
             while (iter->m_frameId < lastFrameId) {
-                INFO("DropFrame: " << iter->m_frameId);
+//                INFO("DropFrame: " << iter->m_frameId);
                 delete iter->m_packet.data;
                 iter = m_packetsVec.erase(iter);
             }
@@ -464,7 +468,7 @@
 
 bool BASICGB28181::FFmpegDecoderJPG::SaveVideo(std::string path, int64_t lastFrameId) {
     std::lock_guard<std::mutex> lock(g_mutex);
-    INFO("SaveVideo: " << path << "m_packetsVec.size : " << m_packetsVec.size());
+//    INFO("SaveVideo: " << path << "m_packetsVec.size : " << m_packetsVec.size());
     if (!m_packetsVec.empty()) {
         startWrite(path.c_str());
         int64_t firstKeyFramePts = m_packetsVec[0].m_packet.pts;
@@ -472,7 +476,7 @@
         unsigned long int frame_index = 0;
         for (const auto &item:m_packetsVec) {
             if (item.m_frameId < lastFrameId) {
-                DBG("item.m_frameId < lastFrameId   " << item.m_frameId << "  " << lastFrameId);
+//                DBG("item.m_frameId < lastFrameId   " << item.m_frameId << "  " << lastFrameId);
                 conversion(const_cast<AVPacket *> (&item.m_packet), firstKeyFramePts, firstKeyFrameDts, video_st,
                            frame_index);
                 frame_index++;
@@ -618,7 +622,7 @@
         AVPacket *pkg = static_cast<AVPacket *>(packet);
 
 
-        DBG("frame_index==%d\n" << frame_index);
+//        DBG("frame_index==\n" << frame_index);
         //Write PTS
         AVRational time_base1 = inStream->time_base;
         //Duration between 2 frames (us)
diff --git a/QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp b/QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp
index 40b3a8c..2524d1d 100644
--- a/QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp
+++ b/QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp
@@ -63,7 +63,7 @@
                             p_this->videoPublishElement = new ffmpeg::VideoPublishElement(path, size_, "flv", 25, gupIdx);
                             p_this->videoPublishElement->start();
                         } else {
-                            DBG("videoPublishElement->setImage() : " << p_this->m_chanPubID);
+//                            DBG("videoPublishElement->setImage() : " << p_this->m_chanPubID);
                             if (!p_this->m_image.empty()) {
                                 p_this->videoPublishElement->setImage(p_this->m_image);
                             } else {
@@ -78,7 +78,7 @@
                             delete p_this->videoPublishElement;
                             p_this->videoPublishElement = nullptr;
                         }else{
-                            DBG("videoPublishElement null :" << p_this->m_chanPubID);
+//                            DBG("videoPublishElement null :" << p_this->m_chanPubID);
                         }
                     }
                 }
@@ -98,7 +98,7 @@
                     cv::Mat copyMat;
                     std::string imageName = p_this->m_fFmpegDecoderJPG.GetImageName();
                     p_this->m_image.copyTo(copyMat);
-                    m_pManager->SaveImageToRedis(p_this->m_chanPubID, imageName, copyMat);
+                    p_this->m_pManager->SaveImageToRedis(p_this->m_chanPubID, imageName, copyMat);
                 }
                 /*********/
 
@@ -162,7 +162,7 @@
                         } else {
                             //todo 涓氬姟姝婚攣
                             usleep((6 - reopenTime--) * 1000000);
-                            INFO("grabFrame faild, try reopen video: ");
+                            INFO("grabFrame faild, try reopen video, reopenTime:" << reopenTime);
 
                             //鍏抽棴ffmpeg瑙g爜妯″潡
                             p_this->m_fFmpegDecoderJPG.stopThd();
@@ -285,7 +285,7 @@
 
 void BASICGB28181::VideoCaptureElementWithRtp::SaveVideo(const std::string &strImageName) {
 
-    INFO("SaveVideo: " << strImageName);
+//    INFO("SaveVideo: " << strImageName);
     std::string strTimeStamp = AppUtil::getTimeUSecString();
     std::string strPath = MakeDir(strTimeStamp);
     m_fFmpegDecoderJPG.SaveVideoByImageName(strPath, strImageName);
diff --git a/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp b/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp
index a3b7e75..5710c71 100644
--- a/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp
+++ b/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp
@@ -241,11 +241,6 @@
 //        %%      ALTER TABLE sys_o_tables ADD COLUMN uploadFlag varchar(255) DEFAULT 0;
 //        %%      ALTER TABLE sys_o_tables ADD COLUMN cmpThreshold varchar(255) DEFAULT 60;
 //        %%      ALTER TABLE sys_o_tables ADD COLUMN enabled varchar(255) DEFAULT 1;
-
-//        %%      ALTER TABLE "0cd82a8b-5285-5737-ab19-8c07247c797e" ADD COLUMN uploadFlag varchar(255) DEFAULT 0;
-//        %%      ALTER TABLE "0cd82a8b-5285-5737-ab19-8c07247c797e" ADD COLUMN cmpThreshold varchar(255) DEFAULT 60;
-//        %%      ALTER TABLE "0cd82a8b-5285-5737-ab19-8c07247c797e" ADD COLUMN enabled varchar(255) DEFAULT 1;
-
         std::string sql = "CREATE TABLE \"main\".\"sys_o_tables\" (";
         sql.append(" uuid        varchar(255) PRIMARY KEY, ");
 //        sql.append(" ClusterName varchar(255) DEFAULT NULL,");//鏈湴搴撲笉闇�瑕�
@@ -278,6 +273,10 @@
             return "tableName is NULL";
         }
         // 浜哄憳淇℃伅琛�
+        //ALTER TABLE '0cd82a8b-5285-5737-ab19-8c07247c797e' ADD COLUMN uploadFlag varchar(255) DEFAULT 0;
+        //ALTER TABLE '0cd82a8b-5285-5737-ab19-8c07247c797e' ADD COLUMN cmpThreshold varchar(255) DEFAULT 60;
+        //ALTER TABLE '0cd82a8b-5285-5737-ab19-8c07247c797e' ADD COLUMN enabled varchar(255) DEFAULT 1;
+        //ALTER TABLE '0cd82a8b-5285-5737-ab19-8c07247c797e' ADD COLUMN monitorLevel    varchar(255)      DEFAULT 0;
         std::string sql = "CREATE TABLE " + g_dbName + ".'";
         sql.append(tableName);
         sql.append("' (  uuid        varchar(255) PRIMARY KEY,");
diff --git a/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp b/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp
index 56da883..88e51e8 100644
--- a/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp
+++ b/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp
@@ -54,7 +54,7 @@
 void FaceExtractElement::submitFaceExtract(FaceToExtract faceToExtract) {
     std::lock_guard<std::mutex> lg(imageQueueMutex);
     if (faceExtractQueue.size() >= VECTOR_MAX) {
-        ERR("FaceExtractElement::submitFaceExtract too fast, imageQueue.size()>=QUEUE_MAX")
+        ERR("FaceExtractElement::submitFaceExtract too fast, imageQueue.size()>=QUEUE_MAX : " << faceExtractQueue.size())
         return;
     }
     faceExtractQueue.push_back(faceToExtract);
@@ -66,7 +66,7 @@
     {
         std::lock_guard<std::mutex> lg(imageQueueMutex);
         if (faceExtractQueue.empty()) {
-            ERR("faceExtractQueue.empty ");
+//            ERR("faceExtractQueue.empty ");
             return;
         }
         faceExtractQueueTmp.swap(faceExtractQueue);
@@ -108,7 +108,7 @@
 
             unsigned long size = faceExtractQueueTmp[i].facesPos.size();
             for (int j = 0; j < size; j++) {
-                auto feature = extractServer->faceExtract(image.cols, image.rows, faceExtractQueueTmp[i].facesPos[j],
+				auto feature = extractServer->faceExtract(image.cols, image.rows, faceExtractQueueTmp[i].facesPos[j],
                                                           sharedMemory->key().toStdString());
 //                {
 //                    //#todo
diff --git a/QiaoJiaSystem/StructureApp/PerimeterElement.cpp b/QiaoJiaSystem/StructureApp/PerimeterElement.cpp
index c637c6d..957297f 100644
--- a/QiaoJiaSystem/StructureApp/PerimeterElement.cpp
+++ b/QiaoJiaSystem/StructureApp/PerimeterElement.cpp
@@ -124,17 +124,17 @@
             //state = num > 0 ;
             state =( num !=mRealNum);
           //  DBG("num="<<num<< "time="<< picDate);
-            INFO("SDK Type: PerimeterSdk");
+//            INFO("SDK Type: PerimeterSdk");
 
             break;
         case CrowdSdk:
             state = num > m_sdkRule.nAlarmNumLowerLimit && num !=mRealNum;
-            INFO("SDK Type: CrowdSdk");
+//            INFO("SDK Type: CrowdSdk");
 
             break;
         case PerHubSdk:
             state = num > m_sdkRule.nAlarmNumLowerLimit && num < m_sdkRule.nAlarmNumUpperLimit && num !=mRealNum;
-            INFO("SDK Type: PerHubSdk");
+//            INFO("SDK Type: PerHubSdk");
 
 //         if(m_sdkRule.nAlarmNumLowerLimit>=0)
 //         {
@@ -166,7 +166,7 @@
         default:
             break;
     }
-    INFO("State:"<<state<<" Num:"<<num<<" mRealNum:"<<mRealNum<<" LowerLimit :"<<m_sdkRule.nAlarmNumLowerLimit<<" HightLimit: "<<m_sdkRule.nAlarmNumUpperLimit);
+//    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())
@@ -194,7 +194,7 @@
             std::string imgUrl = uploadImgToFdfs(image);
             saveInfoToEs(imgUrl, picDate,imgKey);
         }
-        DBG("num=" << num << " lastnum=" << mRealNum);
+//        DBG("num=" << num << " lastnum=" << mRealNum);
         mRealNum = num;
 
         //todo 閲嶇疆鎶ヨtrigger
@@ -285,8 +285,8 @@
         {
              mPolygon << (QPoint(x, y));
         }
-        DBG("width="<<sizeW);
-        DBG("height="<<sizeH);
+//        DBG("width="<<sizeW);
+//        DBG("height="<<sizeH);
 
 
     }
@@ -295,7 +295,7 @@
 QJsonArray PerimeterElement::getJsonArrayFromQString(const QString &strJson) {
     QJsonDocument jsonDocument = QJsonDocument::fromJson(strJson.toLocal8Bit());
     if (jsonDocument.isNull()) {
-        DBG("please check the string" << strJson.toStdString());
+        ERR("please check the string" << strJson.toStdString());
         return QJsonArray();
     }
     QJsonArray jsonArray = jsonDocument.array();
diff --git a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
index b281268..fa3087a 100644
--- a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
+++ b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
@@ -325,7 +325,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;
@@ -356,7 +356,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];
@@ -382,7 +382,7 @@
     delete imgRedis;
     m_imgRedisControllers.erase(index);
     m_imgRedisCRwLock.unlock();
-    INFO("MYH DEBUG HERE");
+//    INFO("MYH DEBUG HERE");
     return 0;
 }
 
@@ -443,7 +443,7 @@
 
 //褰曞彇瑙嗛鐨凴PC鐨勬帴鍙e嚱鏁�
 ::std::string RtspAnalysManager::recordVideo(const ::std::string &name, const ::Ice::Current &) {
-    INFO("Record Video For: " << name);
+//    INFO("Record Video For: " << name);
     ImageName_s_t nameSt = ImageName_s_t::fromString(name);
     if (nameSt.Valid()) {
         if (m_GB28181_Enable) {
diff --git a/QiaoJiaSystem/VideoToImageMulth/RtspImageRedis.cpp b/QiaoJiaSystem/VideoToImageMulth/RtspImageRedis.cpp
index 871bda6..7e7e804 100644
--- a/QiaoJiaSystem/VideoToImageMulth/RtspImageRedis.cpp
+++ b/QiaoJiaSystem/VideoToImageMulth/RtspImageRedis.cpp
@@ -30,13 +30,13 @@
 //缁ф壙鑷埗绫�,绾跨▼鍒濆鍖栫殑涓�浜涘伐浣�
 void RtspImageRedisElement::threadInitial()
 {
-    INFO("MYH DEBUG HERE");
+//    INFO("MYH DEBUG HERE");
 }
 
 //缁ф壙鑷埗绫�,绾跨▼缁撴潫鐨勬椂鍊欒皟鐢�
 void RtspImageRedisElement::threadClosing()
 {
-    INFO("MYH DEBUG HERE");
+//    INFO("MYH DEBUG HERE");
 }
 
 //淇濆瓨鍥剧墖鍒伴槦鍒椾腑,
@@ -50,7 +50,7 @@
         m_imageQueue.push(NameImagePair_s_t(imageName,img));
     }
     else{
-        ERR("SaveImage Failed ImgName:"<<imageName);
+//        ERR("SaveImage Failed ImgName:"<<imageName);
     }
     return true;
 }

--
Gitblit v1.8.0