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