From 963090c963b367333cd4f1b173cb51ae227551a5 Mon Sep 17 00:00:00 2001 From: zhangjixing <775834166@qq.com> Date: 星期六, 12 一月 2019 18:34:40 +0800 Subject: [PATCH] YOLO修改,行为算法优化,视频编辑接口修改 --- QiaoJiaSystem/build/EncodeServer | 0 QiaoJiaSystem/StructureApp/HiredisTool.cpp | 7 QiaoJiaSystem/EncodeServer/CMakeLists.txt | 99 +++++++++ QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp | 23 + QiaoJiaSystem/build/RapidStructureApp | 0 QiaoJiaSystem/StructureApp/PerimeterElement.cpp | 30 +- QiaoJiaSystem/build/FaceSearchServer | 0 QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.h | 1 QiaoJiaSystem/EncodeServer/main.cpp | 40 ++++ QiaoJiaSystem/EncodeServer/EncodeVideo.cpp | 54 +++++ QiaoJiaSystem/StructureApp/TrackingTrigger.h | 1 QiaoJiaSystem/build/config.json | 11 QiaoJiaSystem/VideoAnalysFromHC/main.cpp | 6 QiaoJiaSystem/YoloServer/main.cpp | 4 QiaoJiaSystem/build/DataWebServer | 0 QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp | 25 + QiaoJiaSystem/build/RecordVideo | 0 QiaoJiaSystem/build/scpToSer.sh | 4 QiaoJiaSystem/CMakeLists.txt | 1 QiaoJiaSystem/build/YoloServer | 0 QiaoJiaSystem/EncodeServer/EncodeVideoManager.cpp | 58 +++++ QiaoJiaSystem/EncodeServer/EncodeVideo.h | 23 ++ QiaoJiaSystem/EncodeServer/EncodeVideoManager.h | 20 ++ QiaoJiaSystem/EncodeServer/NewEncodeVideoManager.cpp | 59 +++++ QiaoJiaSystem/build/FaceDetectServer | 0 QiaoJiaSystem/StructureApp/PerStaticElement.cpp | 4 QiaoJiaSystem/build/RapidStructureAppRtsp | 0 QiaoJiaSystem/StructureApp/AppPipeController.cpp | 6 QiaoJiaSystem/StructureApp/NewRecordVideoElement.cpp | 11 QiaoJiaSystem/build/FaceDetectResourcesTest | 0 QiaoJiaSystem/EncodeServer/NewEncodeVideoManager.h | 20 ++ QiaoJiaSystem/build/FaceExtractServer | 0 QiaoJiaSystem/DataManagerServer/http_configserver.cpp | 48 ++++ QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp | 13 + QiaoJiaSystem/build/VideoAnalysFromHC | 0 QiaoJiaSystem/build/config.db | 0 QiaoJiaSystem/DataManagerServer/web-server接口.txt | 3 QiaoJiaSystem/StructureApp/YoloRpcElement.cpp | 13 QiaoJiaSystem/StructureApp/FaceExtractElement.cpp | 8 QiaoJiaSystem/build/StructureApp | 0 40 files changed, 527 insertions(+), 65 deletions(-) diff --git a/QiaoJiaSystem/CMakeLists.txt b/QiaoJiaSystem/CMakeLists.txt index 400e343..24bb196 100644 --- a/QiaoJiaSystem/CMakeLists.txt +++ b/QiaoJiaSystem/CMakeLists.txt @@ -22,6 +22,7 @@ add_subdirectory(RapidStructureApp) add_subdirectory(RecordVideo) add_subdirectory(DataManagerServer) +add_subdirectory(EncodeServer) #add_subdirectory(FaceSearchDbWithImg) diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp index c857f11..67e82a4 100644 --- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp +++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp @@ -997,7 +997,8 @@ std::string out = value.size() > 0 ? value.toStyledString() : "[]"; return out; } - +#define ADD_CAMERA 0 +#define EDIT_CAMERA 1 //缂栬緫鎽勫儚鏈� std::string devHttpServer_c::cam_edit(std::string ip, unsigned int port, std::string content, PResponse &response) { DBG("ip:" << ip << "; port:" << port); @@ -1009,13 +1010,14 @@ Record_Cam_Dev rec; Record_Cam_Sdk rec_sdk_old; Record_Cam_Sdk rec_sdk; - + int type=-1; int dev_type = db_c.searchDevTypeFromConfigTable(); if (DEV_STORAGE == dev_type) { return "{\"ret_status\": \"鍐呭鏈夎锛岃妫�鏌ワ紒\"}"; } if (reader.parse(content, value)) { + unsigned char serialnumber[SERIALNO_LEN] = {0}; ret = getDevSerialNumber(value["str_ip"].asCString(), value["n_port"].asInt(), value["str_username"].asCString(), \ @@ -1034,18 +1036,48 @@ rec.str_username = QString::fromStdString(value["str_username"].asString()); rec.str_password = QString::fromStdString(value["str_password"].asString()); rec.str_brand = QString::fromStdString(value["str_brand"].asString()); - + type=value["n_type"].asInt(); // rec_sdk_old = db_c.searchCamSdkTableByCamId(rec.str_cam_dev_id); // rec_sdk.str_cam_dev_id = rec.str_cam_dev_id; // rec_sdk.str_sdks = QString::fromStdString(value["str_sdks"].asString()); // rec_sdk.str_det_thr = QString::fromStdString(value["str_det_thr"].asString()); // rec_sdk.str_cmp_thr = QString::fromStdString(value["str_cmp_thr"].asString()); - - ret = db_c.updateCamAndSdkTable(rec, rec_sdk); - if (!ret) { - return "err_db_content"; + bool is_exist=db_c.searchCamDevByCamId(rec.str_cam_dev_id); + if(ADD_CAMERA == type ) + { + if(is_exist) + { + return "{\"ret_status\": \"鍐呭鏈夎锛岃妫�鏌ワ紒\"}"; + } + else + { + ret =db_c.insertCamDevTable(rec); + if (!ret) { + return "err_db_content"; + } + } } + else if(EDIT_CAMERA == type ) + { + if(is_exist) + { + ret = db_c.updateCamDevTable(rec); + if (!ret) { + return "err_db_content"; + } + } + else + { + return "{\"ret_status\": \"鍐呭鏈夎锛岃妫�鏌ワ紒\"}"; + } + } + else + { + return "{\"ret_status\": \"鍐呭鏈夎锛岃妫�鏌ワ紒\"}"; + } + + } else { return "{\"ret_status\": \"浼犺緭閿欒锛岃妫�鏌ワ紒\"}"; } @@ -1673,6 +1705,7 @@ appConfig.setStringProperty("erlCookie", cookie); appConfig.setStringProperty("erlPath", path); appConfig.setStringProperty("erlFatherNode", FatherNodeName); + appConfig.setStringProperty("clusterID", clusterID); appConfig.save(); // erlangDbTool->findAllNode(); //face search server reboot @@ -1684,6 +1717,7 @@ appConfig.setStringProperty("erlCookie", ""); appConfig.setStringProperty("erlPath", ""); appConfig.setStringProperty("erlFatherNode", ""); + appConfig.setStringProperty("clusterID", ""); appConfig.save(); delete erlangDbTool; erlangDbTool = nullptr; diff --git "a/QiaoJiaSystem/DataManagerServer/web-server\346\216\245\345\217\243.txt" "b/QiaoJiaSystem/DataManagerServer/web-server\346\216\245\345\217\243.txt" index 487734a..9988ae6 100644 --- "a/QiaoJiaSystem/DataManagerServer/web-server\346\216\245\345\217\243.txt" +++ "b/QiaoJiaSystem/DataManagerServer/web-server\346\216\245\345\217\243.txt" @@ -167,7 +167,8 @@ //"str_sdks": "1,2,4", //"str_det_thr": "90,80,95", //"str_cmp_thr": "80,85,90", - "str_reserved": "" + "str_reserved": "",//鍙紶鍙笉浼� + "n_type" : 0 //0娣诲姞 1缂栬緫 } 杩斿洖锛� { diff --git a/QiaoJiaSystem/EncodeServer/CMakeLists.txt b/QiaoJiaSystem/EncodeServer/CMakeLists.txt new file mode 100644 index 0000000..146deb4 --- /dev/null +++ b/QiaoJiaSystem/EncodeServer/CMakeLists.txt @@ -0,0 +1,99 @@ +#cmake_minimum_required(VERSION 2.8) + +#project(VideoAnalysFromHC) +#add_executable(${PROJECT_NAME} "main.cpp") +cmake_minimum_required(VERSION 3.5) +project(EncodeServer) +set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../build) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_BUILD_TYPE debug) +add_compile_options(-fPIC) +add_definitions(-DGLOG) +add_definitions(-DDEBUG_ERR -DDEBUG_INFO -fpermissive) + +SET(LIBS + glog + #Ice + + crypto + + + #ffmpeg + avformat + avcodec + swresample + swscale + avutil + bz2 dl z + + #QT5 + Qt5Core + Qt5Sql + Qt5Gui + + + cuda jsoncpp + # cudart + # cublas + opencv_world + jsoncpp + pthread + hiredis + ) +include_directories( + + #glog + ../../../BasicPlatForm/libs/glog/include + ./ + ../VideoServer + + ../VideoServer/QiaoJia/DB + ../VideoServer/QiaoJia/dispatchTool + ../StructureApp/ + + ../../../BasicPlatForm/ + + ../../../BasicPlatForm/basic/pipe/ + + + + ../../../BasicPlatForm/libs/opencv/include + + ../../../BasicPlatForm/libs/ffmpeg/include + ../../../BasicPlatForm/libs/jsoncpp/include + + + + /usr/include/x86_64-linux-gnu/qt5 + /usr/include/x86_64-linux-gnu/qt5/QtCore/ + /usr/include/x86_64-linux-gnu/qt5/QtSql/ + + ../../BasicPlatForm/libs/hiredis-master/include +) + +link_directories( + #glog + ../../../BasicPlatForm/libs/glog/lib + ../../../BasicPlatForm/libs/openssl/lib + ../../../BasicPlatForm/libs/opencv/lib + ../../../BasicPlatForm/libs/ffmpeg/lib +# ../../../BasicPlatForm/libs/jsoncpp/lib + +# ../../../BasicPlatForm/libs/libuuid/lib + + + ../../BasicPlatForm/libs/hiredis-master/lib +) + +add_executable(${PROJECT_NAME} + ../../../BasicPlatForm/basic/pipe_element/ffmpeg/VideoChangeScore.cpp + ../../../BasicPlatForm/basic/pipe_element/ffmpeg/FfmpegElement.cpp + ../StructureApp/NewRecordVideoElement.cpp + EncodeVideoManager.cpp + EncodeVideo.cpp + ../StructureApp/HiredisTool.cpp + main.cpp + ) +target_link_libraries(${PROJECT_NAME} + ${LIBS} + ) diff --git a/QiaoJiaSystem/EncodeServer/EncodeVideo.cpp b/QiaoJiaSystem/EncodeServer/EncodeVideo.cpp new file mode 100644 index 0000000..b9ce644 --- /dev/null +++ b/QiaoJiaSystem/EncodeServer/EncodeVideo.cpp @@ -0,0 +1,54 @@ +#include "EncodeVideo.h" + +EncodeVideo::EncodeVideo(): +videoEncoderElement(cv::Size(1920, 1080), 8, 0) +{ + +} +EncodeVideo::~EncodeVideo() +{ + +} + +void EncodeVideo::threadFunc() +{ + + + std::string src_path=getProperty("src_path"); + if(src_path.empty()) + { + DBG("src_path.empty()"); + return ; + } + int size=m_hiredisTool.getSize(src_path); + + bool fileCreate = false; + for(int i=0;i<size;++i) + { + + cv::Mat img; + m_hiredisTool.getImage(src_path,img); + if(img.empty()){ + DBG("img.empty()"); + continue; + } + + if(!fileCreate) + { + fileCreate = true; + DBG("fileCreate buf_size="<<size<<" file_name="<<src_path); + videoEncoderElement.threadInitial(getProperty("src_path"),img); + + } + else + { + + videoEncoderElement.doFunc(img); + } + usleep(2*1000); + } + + videoEncoderElement.threadClosing(); + m_hiredisTool.delKey(src_path); + m_hiredisTool.hashDel(file_list,src_path); +} diff --git a/QiaoJiaSystem/EncodeServer/EncodeVideo.h b/QiaoJiaSystem/EncodeServer/EncodeVideo.h new file mode 100644 index 0000000..164e55c --- /dev/null +++ b/QiaoJiaSystem/EncodeServer/EncodeVideo.h @@ -0,0 +1,23 @@ +#ifndef ENCODEVIDEO_H +#define ENCODEVIDEO_H +#include "../StructureApp/HiredisTool.h" +#include <basic/pipe/PipeElement.h> +#include <basic/pipe_element/ffmpeg/FfmpegElement.h> +class EncodeVideo: public basic::PipeElement +{ +public: + EncodeVideo(); + ~EncodeVideo(); + + void setImageQue(std::queue<cv::Mat>& imgQue); + +private: + virtual void threadFunc()override; +private: + + std::queue<cv::Mat> m_imgQue; + HiredisTool m_hiredisTool; + ffmpeg::VideoEncodeElement videoEncoderElement; +}; + +#endif // NEWENCODEVIDEO_H diff --git a/QiaoJiaSystem/EncodeServer/EncodeVideoManager.cpp b/QiaoJiaSystem/EncodeServer/EncodeVideoManager.cpp new file mode 100644 index 0000000..fd67754 --- /dev/null +++ b/QiaoJiaSystem/EncodeServer/EncodeVideoManager.cpp @@ -0,0 +1,58 @@ +#include "EncodeVideoManager.h" +#include "NewRecordVideoElement.h" +#include <basic/util/app/AppConfig.h> +EncodeVideoManager::EncodeVideoManager(): +TimerElement(1000) +{ + // m_hiredisTool.delKey("") + int thread_num=appConfig.getIntProperty("encode_thread_num"); + + for(int i=0;i<thread_num;++i) + { + EncodeVideo* newEncodeViedo=new EncodeVideo(); + if(newEncodeViedo) + { + + m_newEncodeVideoVec.push_back(newEncodeViedo); + newEncodeViedo->start(); + } + + } + +} +EncodeVideoManager::~EncodeVideoManager() +{ + for(int i=0;i<m_newEncodeVideoVec.size();++i) + { + if(m_newEncodeVideoVec[i]) + { + m_newEncodeVideoVec[i]->stop(); + delete m_newEncodeVideoVec[i]; + } + } + +} +void EncodeVideoManager::timerFunc() +{ + std::map<std::string,int> fileMap=m_hiredisTool.findAllFileStatus(); +// auto it=fileMap.begin(); + for(auto it=fileMap.begin();it!=fileMap.end();it++) + { + if(it->second == RECORD_ENDING) + { + + for(int i=0;i<m_newEncodeVideoVec.size();++i) + { + if(m_newEncodeVideoVec[i] && !m_newEncodeVideoVec[i]->isBusy()) + { + m_hiredisTool.hashSet(file_list,it->first,RECORD_STOP); + m_newEncodeVideoVec[i]->setProperty("src_path",it->first); + m_newEncodeVideoVec[i]->submit(); + break; + } + } + + + } + } +} diff --git a/QiaoJiaSystem/EncodeServer/EncodeVideoManager.h b/QiaoJiaSystem/EncodeServer/EncodeVideoManager.h new file mode 100644 index 0000000..5b0c5a3 --- /dev/null +++ b/QiaoJiaSystem/EncodeServer/EncodeVideoManager.h @@ -0,0 +1,20 @@ +#ifndef ENCODEVIDEOMANAGER_H +#define ENCODEVIDEOMANAGER_H +#include <basic/pipe/TimerElement.h> +#include "EncodeVideo.h" + +class EncodeVideoManager: public TimerElement +{ +public: + EncodeVideoManager(); + ~EncodeVideoManager(); +private: + virtual void timerFunc(); + +private: + HiredisTool m_hiredisTool; + std::vector<EncodeVideo*> m_newEncodeVideoVec; + +}; + +#endif // NEWENCODEVIDEOMANAGER_H diff --git a/QiaoJiaSystem/EncodeServer/NewEncodeVideoManager.cpp b/QiaoJiaSystem/EncodeServer/NewEncodeVideoManager.cpp new file mode 100644 index 0000000..a2c04ca --- /dev/null +++ b/QiaoJiaSystem/EncodeServer/NewEncodeVideoManager.cpp @@ -0,0 +1,59 @@ +#include "NewEncodeVideoManager.h" +#include "NewRecordVideoElement.h" +#include <basic/util/app/AppConfig.h> +NewEncodeVideoManager::NewEncodeVideoManager(): +TimerElement(1000) +{ + // m_hiredisTool.delKey("") + int thread_num=appConfig.getIntProperty("encode_thread_num"); + for(int i=0;i<thread_num;++i) + { + NewEncodeVideo* newEncodeViedo=new NewEncodeVideo; + if(newEncodeViedo) + { + m_newEncodeVideoVec.push_back(newEncodeViedo); + newEncodeViedo->start(); + } + + } + +} +NewEncodeVideoManager::~NewEncodeVideoManager() +{ + for(int i=0;i<m_newEncodeVideoVec.size();++i) + { + if(m_newEncodeVideoVec[i]) + { + m_newEncodeVideoVec[i]->stop(); + delete m_newEncodeVideoVec[i]; + } + } + +} +void NewEncodeVideoManager::timerFunc() +{ + std::map<std::string,int> fileMap=m_hiredisTool.findAllFileStatus(); +// auto it=fileMap.begin(); + for(auto it=fileMap.begin();it!=fileMap.end();it++) + { + if(it->second == RECORD_ENDING) + { + + + + + for(int i=0;i<m_newEncodeVideoVec.size();++i) + { + if(m_newEncodeVideoVec[i] && !m_newEncodeVideoVec[i]->isBusy()) + { + m_hiredisTool.hashSet(file_list,it->first,RECORD_STOP); + m_newEncodeVideoVec[i]->setProperty("src_path",it->first); + m_newEncodeVideoVec[i]->submit(); + break; + } + } + + + } + } +} diff --git a/QiaoJiaSystem/EncodeServer/NewEncodeVideoManager.h b/QiaoJiaSystem/EncodeServer/NewEncodeVideoManager.h new file mode 100644 index 0000000..3d6ac72 --- /dev/null +++ b/QiaoJiaSystem/EncodeServer/NewEncodeVideoManager.h @@ -0,0 +1,20 @@ +#ifndef NEWENCODEVIDEOMANAGER_H +#define NEWENCODEVIDEOMANAGER_H +#include <basic/pipe/TimerElement.h> +#include "NewEncodeVideo.h" + +class NewEncodeVideoManager: public TimerElement +{ +public: + NewEncodeVideoManager(); + ~NewEncodeVideoManager(); +private: + virtual void timerFunc(); + +private: + HiredisTool m_hiredisTool; + std::vector<NewEncodeVideo*> m_newEncodeVideoVec; + +}; + +#endif // NEWENCODEVIDEOMANAGER_H diff --git a/QiaoJiaSystem/EncodeServer/main.cpp b/QiaoJiaSystem/EncodeServer/main.cpp new file mode 100644 index 0000000..71056e1 --- /dev/null +++ b/QiaoJiaSystem/EncodeServer/main.cpp @@ -0,0 +1,40 @@ +#include <stdio.h> +#include <iostream> +#include <unistd.h> +#include <cstring> +#include <basic/debug/Debug.h> +#include "EncodeVideoManager.h" +#include <thread> + +using namespace std; + +#include <basic/util/file/FileUtil.h> +#include <basic/util/app/AppPreference.hpp> +#include <basic/util/app/AppConfig.h> + + + + +//static void startEncodeVideoManager(int i) +//{ +// EncodeVideoManager encodeVideoManager; +// encodeVideoManager.start(); +// while (1) { +// sleep(1 * 60 * 60 * 12); +// } +//} + + +int main(int argc, char **argv) { + SAVE_APP_ARGS + ENABLEGLOG(GET_STR_CONFIG("logPath").c_str()); + + EncodeVideoManager encodeVideoManager; + encodeVideoManager.start(); + + while (1) { + sleep(1000000); + } + return 0; + +} diff --git a/QiaoJiaSystem/StructureApp/AppPipeController.cpp b/QiaoJiaSystem/StructureApp/AppPipeController.cpp index 6edd112..db11a0c 100644 --- a/QiaoJiaSystem/StructureApp/AppPipeController.cpp +++ b/QiaoJiaSystem/StructureApp/AppPipeController.cpp @@ -214,9 +214,7 @@ perHubElement.getTriggerState() || perStaticElement.getTriggerState() ); - if (!newRecordVideoElement.isBusy()) { - newRecordVideoElement.submit(); - } + } @@ -306,7 +304,7 @@ } registerElement(imageDrawElement); registerElement(newRecordVideoElement); - videoCaptureElement.setOutPutInterval(5); + videoCaptureElement.setOutPutInterval(3); faceExtractElement.setProperty("index", to_string(m_index)); registerElement(yoloRpcElement); //#todo setProperty diff --git a/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp b/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp index c1519f2..00f910d 100644 --- a/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp +++ b/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp @@ -11,7 +11,6 @@ #include <QtCore/QJsonObject> #include <uuid/uuid.h> #include <jsoncpp/json/json.h> - #define state "state" void StringReplace(string &strBase, string strSrc, string strDes) { @@ -110,7 +109,8 @@ CvUtil::cvMat2Buffer(faceExtractQueueTmp[i].faceImages[j], buffer); std::string strImgUrlTmp = ""; fdfsClient->fastFds->uploadFile(buffer, strImgUrlTmp, "jpg"); - strImgUrl.append(fdfsClient->fastFds->getIp() + "/" + strImgUrlTmp); + // strImgUrl.append(fdfsClient->fastFds->getIp() + "/" + strImgUrlTmp); + DBG("strImgUrlTmp="<<strImgUrlTmp); strImgUrl.clear(); strImgUrl = strImgUrlTmp; // strImgUrl.append("/").append(strImgUrlTmp); @@ -141,6 +141,7 @@ t_json["personPicUrl"] = "wait todo";//浜哄憳鍥剧墖 store t_json["picAddress"] = getProperty("str_addr");//鎶撴媿鍦板潃 + DBG("picAddress="<< t_json["picAddress"] ); t_json["picMaxUrl"] = "wait todo";//澶у浘璺緞 t_json["picLocalUrl"] = "wait todo";//鏈湴璺緞 t_json["picSmUrl"] = strImgUrl;//浜哄憳鎶撳皬鍥� @@ -155,6 +156,9 @@ t_json["personIsHub"] = "4";//1: 鎶ヨ 2: 鍙枒 3: 瀹夊叏 4: 鏈煡 + t_json["cluster_id"] = appPref.getStringData("clusterID"); + t_json["ack_alarm"] = "0"; + //faceExtractElement.setProperty("dev_id", str_device_id); //faceExtractElement.setProperty("cg_id", str_ch_id); t_json["videoNum"] = getProperty("dev_id");//Video璁惧缂栧彿//getProperty("path");//Vide缂栧彿 澶栭敭 diff --git a/QiaoJiaSystem/StructureApp/HiredisTool.cpp b/QiaoJiaSystem/StructureApp/HiredisTool.cpp index 2094325..a54a9bd 100644 --- a/QiaoJiaSystem/StructureApp/HiredisTool.cpp +++ b/QiaoJiaSystem/StructureApp/HiredisTool.cpp @@ -109,12 +109,12 @@ std::string content; cv::Mat imgTep; - listRpop(file_name,content); Json::Reader reader; Json::Value value; + if(!reader.parse(content,value)) { return ; @@ -124,9 +124,12 @@ std::vector<uchar> data; data.resize(str.size()); + data.assign(str.begin(),str.end()); + CvUtil::buffer2CvMat(data,imgTep); - imgTep.copyTo(img); + + imgTep.copyTo(img); // return img; } diff --git a/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp b/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp index d04013c..49af467 100644 --- a/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp +++ b/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp @@ -11,7 +11,7 @@ JudgmentRetrogradeTool::JudgmentRetrogradeTool(const SdkRule &rule) : TimerElement(1000), - m_triggerElement(0, rule.nTriggerDelay * 1000 * 1000), + m_triggerElement(rule.nTriggerDelay * 8, 0), m_sdkRule(rule), pManagerEsDB(nullptr) { pManagerEsDB = new EsDBTool(appPref.getStringData("ipAdd"), appPref.getIntData("ipPort")); @@ -175,18 +175,24 @@ m_mapPerRet[scoredRect.id] = true; m_triggerElement.setState(true); - auto t_image = image( - CvUtil::zoomRectEqual(scoredRect.rect, 1.2, 1.2) & cv::Rect(0, 0, image.cols, image.rows)).clone(); - // auto t_image = image(scoredRect.rect& cv::Rect(0, 0, image.cols, image.rows)).clone(); - std::string imgUrl = uploadImgToFdfs(t_image); - saveInfoToEs(imgUrl, scoredRect); + + break; } else { m_triggerElement.setState(false); } + m_triggerElement.triggerOnce(); + if(m_triggerElement.getTriggerState()) + { + auto t_image = image( + CvUtil::zoomRectEqual(scoredRect.rect, 1.2, 1.2) & cv::Rect(0, 0, image.cols, image.rows)).clone(); + // auto t_image = image(scoredRect.rect& cv::Rect(0, 0, image.cols, image.rows)).clone(); + std::string imgUrl = uploadImgToFdfs(t_image); + saveInfoToEs(imgUrl, scoredRect); + } } - m_triggerElement.triggerOnce(); + } std::string JudgmentRetrogradeTool::uploadImgToFdfs(cv::Mat &image) { @@ -230,7 +236,8 @@ t_json["personPicUrl"] = "";// 浜哄憳 鍦板簱鍥剧墖 t_json["ChannlId"] = getProperty("ch_id"); // 閫氶亾id t_json["likeDate"] = AppUtil::getTimeSecString(); // 姣斿鏃堕棿 - t_json["picAddress"] = getProperty("str_addr");// 鎶撴媿鍦板潃 + t_json["picAddress"] = m_sdkRule.strAddr.toStdString();// 鎶撴媿鍦板潃 + DBG("picAddress="<<m_sdkRule.strAddr.toStdString()); t_json["picMaxUrl"] = "wait todo"; // 澶у浘璺緞 @@ -253,7 +260,7 @@ t_json["personIsHub"] = m_triggerElement.getTriggerState() ? "1" : "4"; //1: 鎶ヨ 2: 鍙枒 3: 瀹夊叏 4: 鏈煡 t_json["videoIp"] = getProperty("local_ip");//褰撳墠鏈嶅姟鍣↖P鍦板潃 t_json["ack_alarm"] = m_triggerElement.getTriggerState() ? "0" : ""; // que ren shi fou bao jing - t_json["cluster_id"] = "wait todo"; // ji qun id + t_json["cluster_id"] = appPref.getStringData("clusterID");; // ji qun id bool retface = false; if (pManagerEsDB) diff --git a/QiaoJiaSystem/StructureApp/NewRecordVideoElement.cpp b/QiaoJiaSystem/StructureApp/NewRecordVideoElement.cpp index b9e696c..0ba53a9 100644 --- a/QiaoJiaSystem/StructureApp/NewRecordVideoElement.cpp +++ b/QiaoJiaSystem/StructureApp/NewRecordVideoElement.cpp @@ -10,7 +10,8 @@ // basicPath(); m_cutPath= appPref.getStringData("user.loop.absolute.path"); - recordInit(60,360); + + recordInit(appPref.getIntData("n_cut_min_duration"),appPref.getIntData("n_cut_max_duration")); } NewRecordVideoElement::~NewRecordVideoElement() { @@ -27,7 +28,7 @@ getImg(info); std::string srcPath= getFileName(info.time); m_filename=srcPath; - DBG("m_filename: " << m_filename); + // DBG("m_filename: " << m_filename); m_hiredisTool.pushImageBuf(m_filename,info.img); m_hiredisTool.addFileInfo(m_filename,RECORD_DOING); @@ -80,7 +81,7 @@ QDateTime dt = QDateTime::fromString(QString::fromStdString(timeStamp), "yyyy-MM-dd hh:mm:ss:zzz"); std::string t_strTime=dt.toString("yyyyMMddhh").toStdString(); - DBG("t_strTime="<<t_strTime); + // DBG("t_strTime="<<t_strTime); t_FilePath.append(camID + "/" + t_strTime.substr(0, 6)+ "/" +t_strTime.substr(6, 2) + "/"); //YYYYMMDDHH t_FilePath.append(t_strTime.substr(0,10)+ "/"); @@ -213,8 +214,8 @@ void NewRecordVideoElement::recordInit(int videoMin, int videoMax) { sdkTrigger = false; - fileMin = videoMin; - fileMax = videoMax; + fileMin = videoMin*8;//fps=8 + fileMax = videoMax*8; triggerDelay = fileMin/2; recordStatus = RECORD_STOP; diff --git a/QiaoJiaSystem/StructureApp/PerStaticElement.cpp b/QiaoJiaSystem/StructureApp/PerStaticElement.cpp index 4dbcf92..5d3de33 100644 --- a/QiaoJiaSystem/StructureApp/PerStaticElement.cpp +++ b/QiaoJiaSystem/StructureApp/PerStaticElement.cpp @@ -213,7 +213,7 @@ t_json["personPicUrl"] = "";// 浜哄憳 鍦板簱鍥剧墖 t_json["ChannlId"] = getProperty("ch_id"); // 閫氶亾id t_json["likeDate"] =AppUtil::getTimeSecString(); // 姣斿鏃堕棿 - t_json["picAddress"] =getProperty("str_addr");// 鎶撴媿鍦板潃 + t_json["picAddress"] =m_sdkRule.strAddr.toStdString();// 鎶撴媿鍦板潃 t_json["picMaxUrl"] = "wait todo"; // 澶у浘璺緞 @@ -236,7 +236,7 @@ t_json["personIsHub"] = m_triggerElement.getTriggerState()?"1":"4"; //1: 鎶ヨ 2: 鍙枒 3: 瀹夊叏 4: 鏈煡 t_json["videoIp"] = m_sdkRule.strAddr.toStdString(); // 璁惧ip t_json["ack_alarm"]=m_triggerElement.getTriggerState()?"0":""; // que ren shi fou bao jing - t_json["cluster_id"]="wait todo"; // ji qun id + t_json["cluster_id"]=appPref.getStringData("clusterID");; // ji qun id bool retface = false; if(pManagerEsDB) diff --git a/QiaoJiaSystem/StructureApp/PerimeterElement.cpp b/QiaoJiaSystem/StructureApp/PerimeterElement.cpp index 27d4716..35ff6e8 100644 --- a/QiaoJiaSystem/StructureApp/PerimeterElement.cpp +++ b/QiaoJiaSystem/StructureApp/PerimeterElement.cpp @@ -18,7 +18,7 @@ PipeElement(true), trackingTrigger(nullptr), mRealNum(0), - m_triggerElement(0, rule.nTriggerDelay * 1000 * 1000), + m_triggerElement(rule.nTriggerDelay*8,0), pManagerEsDB(nullptr), npts(0) { @@ -40,6 +40,7 @@ void PerimeterElement::threadFunc() { + // ClockTimer ct("PerimeterElement::threadFunc"); if (!isInWeek(m_sdkRule.weekRuleVec)) return; int num = 0; @@ -73,16 +74,16 @@ switch (m_sdkRule.nSdkType) { case PerimeterSdk: - state = num > 0 && num != mRealNum; + state = num > 0 ; break; case CrowdSdk: - state = num > m_sdkRule.nAlarmNumLowerLimit && num != mRealNum; + state = num > m_sdkRule.nAlarmNumLowerLimit ; break; case PerHubSdk: - state = num > m_sdkRule.nAlarmNumLowerLimit && num < m_sdkRule.nAlarmNumUpperLimit && num != mRealNum; + state = num > m_sdkRule.nAlarmNumLowerLimit && num < m_sdkRule.nAlarmNumUpperLimit ; // if(m_sdkRule.nAlarmNumLowerLimit>0) // { // if( m_sdkRule.nAlarmNumUpperLimit>m_sdkRule.nAlarmNumLowerLimit+1) @@ -113,21 +114,25 @@ default: break; } - m_triggerElement.setState(state); + m_triggerElement.setState(state); + m_triggerElement.triggerOnce(); // DBG("imgUrl="<<imgUrl); - if (state) { + if (m_triggerElement.getTriggerState() && num!=mRealNum) + { auto t_image = image(CutMask()).clone(); std::string imgUrl = uploadImgToFdfs(t_image); saveInfoToEs(imgUrl, picDate); DBG("num=" << num << " lastnum=" << mRealNum); } + //if(state) + // DBG("num=" << num <<"m_triggerElement.getTriggerState()="<<m_triggerElement.getTriggerState()); - m_triggerElement.triggerOnce(); + mRealNum = num; - mRealNum = num; + // DBG("m_sdkRule.nSdkType="<<m_sdkRule.nSdkType<<" num="<<num); fireConnectors(); } @@ -210,7 +215,7 @@ CvUtil::cvMat2Buffer(image, buffer); std::string strImgUrlTmp = ""; fdfsClient->fastFds->uploadFile(buffer, strImgUrlTmp, "jpg"); - strImgUrl.append(fdfsClient->fastFds->getIp() + "/" + strImgUrlTmp); + // strImgUrl.append(fdfsClient->fastFds->getIp() + "/" + strImgUrlTmp); strImgUrl.clear(); strImgUrl = strImgUrlTmp; // strImgUrl.append("/").append(strImgUrlTmp); @@ -243,13 +248,14 @@ t_json["personPicUrl"] = "";// 浜哄憳 鍦板簱鍥剧墖 t_json["ChannlId"] = getProperty("ch_id"); // 閫氶亾id t_json["likeDate"] = AppUtil::getTimeSecString(); // 姣斿鏃堕棿 - t_json["picAddress"] = getProperty("str_addr");// 鎶撴媿鍦板潃 + t_json["picAddress"] = m_sdkRule.strAddr.toStdString();// 鎶撴媿鍦板潃 + DBG("picAddress="<<m_sdkRule.strAddr.toStdString()); t_json["picMaxUrl"] = "wait todo"; // 澶у浘璺緞 // t_json["Age"] ="wait todo"; t_json["picDate"] = time; // 鎶撴媿鏃堕棿锛屽繀椤绘湁 - // DBG("picDate="<<time); + DBG("picDate="<<time); t_json["picLocalUrl"] = "wait todo"; // 鏈湴璺緞 t_json["isDelete"] = "1";//榛樿1 ,0鏃犳晥 1鏈夋晥 @@ -267,7 +273,7 @@ t_json["personIsHub"] = m_triggerElement.getTriggerState() ? "1" : "4"; //1: 鎶ヨ 2: 鍙枒 3: 瀹夊叏 4: 鏈煡 t_json["videoIp"] = m_sdkRule.strAddr.toStdString(); // 璁惧ip t_json["ack_alarm"] = m_triggerElement.getTriggerState() ? "0" : ""; // que ren shi fou bao jing - t_json["cluster_id"] = "wait todo"; // ji qun id + t_json["cluster_id"] = appPref.getStringData("clusterID");; // ji qun id bool retface = false; if (pManagerEsDB) diff --git a/QiaoJiaSystem/StructureApp/TrackingTrigger.h b/QiaoJiaSystem/StructureApp/TrackingTrigger.h index 2e86b19..a9aa7a8 100644 --- a/QiaoJiaSystem/StructureApp/TrackingTrigger.h +++ b/QiaoJiaSystem/StructureApp/TrackingTrigger.h @@ -28,6 +28,7 @@ if (lastRect.id >= 0 && (rect.rect & lastRect.rect).area() > lastRect.rect.area() * 0.4) { found = true; rect.id = lastRect.id; + lastRect.properties["time"]=rect.properties["time"]; rect.properties = lastRect.properties; tempScoreRects.push_back(rect); break; diff --git a/QiaoJiaSystem/StructureApp/YoloRpcElement.cpp b/QiaoJiaSystem/StructureApp/YoloRpcElement.cpp index b16012d..a56a7e7 100644 --- a/QiaoJiaSystem/StructureApp/YoloRpcElement.cpp +++ b/QiaoJiaSystem/StructureApp/YoloRpcElement.cpp @@ -54,7 +54,7 @@ std::vector<ScoredRect> YoloRpcElement::getLastScoreRects() const { - return triggerScoredRects; + return trackingTrigger->getLastScoreRects(); } cv::Mat YoloRpcElement::getImage() const @@ -64,6 +64,7 @@ void YoloRpcElement::threadFunc() { + // ClockTimer ct("YoloRpcElement::threadFunc"); triggerScoredRects.clear(); try { auto server = rpcClient.getServer(); @@ -103,19 +104,21 @@ int h = (obj.rcObj.bottom - obj.rcObj.top) * image.rows; scoredRect.rect = cv::Rect(x, y, w, h); scoredRect.score = scoredRect.rect.area() > 0 ? obj.prob : 0; + scoredRect.properties["time"] = getProperty("time"); if (trackingTrigger->triggerOnce(scoredRect)) { trackingTrigger->getLastRect().properties["id"] = to_string(scoredRect.id); trackingTrigger->getLastRect().properties["type"] = cocoData[obj.type]; trackingTrigger->getLastRect().properties["time"] = getProperty("time"); + // DBG("time)"<<getProperty("time")); triggerScoredRects.push_back(trackingTrigger->getLastRect()); } } trackingTrigger->triggerLine(); - if(trackingTrigger->getLastScoreRects().size()>20) - { - DBG(""); - } +// if(trackingTrigger->getLastScoreRects().size()>20) +// { +// DBG(""); +// } fireConnectors(); } diff --git a/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp b/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp index f64710f..828dc70 100644 --- a/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp +++ b/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp @@ -81,13 +81,26 @@ item.str_password.toStdString(), item.str_brand.toStdString()); SdkRuleMap ruleMap = m_lDBTool->searchSdkRuleByCamId(item.str_cam_dev_id); for (auto &rule:ruleMap) { - if (rule.second.nThreshold < 5 || rule.second.nThreshold > 95) { - rule.second.nThreshold = 75; - } - rule.second.fSensitivity = (float) (rule.second.nThreshold) / 100; - DBG("fSensitivity" << rule.second.fSensitivity); + rule.second.strAddr = item.str_addr; rule.second.weekRuleVec = m_lDBTool->searchCameraWeekRuleByCamId(item.str_cam_dev_id, rule.first); + + if(rule.second.nSdkType == FaceSdk) continue; + + if (rule.second.nThreshold < 5 ) + { + rule.second.fSensitivity=0.95; + } + else if(rule.second.nThreshold > 95) + { + rule.second.fSensitivity=0.05; + } + else + { + rule.second.fSensitivity = 1-(float) (rule.second.nThreshold) / 100; + } + + DBG("fSensitivity" << rule.second.fSensitivity); } appPref.setStringData(t_camIdex + "rtsp", rtsp_url); // appPref.setStringData(t_camIdex+"addr", item.str_addr.toStdString()); diff --git a/QiaoJiaSystem/VideoAnalysFromHC/main.cpp b/QiaoJiaSystem/VideoAnalysFromHC/main.cpp index cfb0eba..5b44cc1 100644 --- a/QiaoJiaSystem/VideoAnalysFromHC/main.cpp +++ b/QiaoJiaSystem/VideoAnalysFromHC/main.cpp @@ -42,8 +42,8 @@ static void startRtspAnalysElement(LDBTool *_dbTool) { RtspAnalysElement rtspAnalysElement(_dbTool); - NewEncodeVideoManager newEncodeVideoManager; - newEncodeVideoManager.start(); +// NewEncodeVideoManager newEncodeVideoManager; +// newEncodeVideoManager.start(); while (1) { sleep(1 * 60 * 60 * 12); } @@ -126,7 +126,7 @@ appPref.setStringData("fxDevID", rec.dev_id.toStdString()); appPref.setStringData("fxDevNAME", rec.dev_name.toStdString()); appPref.setStringData("user.loop.absolute.path", appConfig.getStringProperty("cutPath")); - + appPref.setStringData("clusterID", appConfig.getStringProperty("clusterID")); bool loopRet = true; while (loopRet) { diff --git a/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp b/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp index dd8ba1c..acabafb 100644 --- a/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp +++ b/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp @@ -478,7 +478,20 @@ return lst; } +bool LDBTool::searchCamDevByCamId(QString strCamId) +{ + QMutexLocker mutexLocker(&m_mutexVisit);//TODO + std::list<Record_Cam_Dev> lst; + QSqlTableModel pModel(NULL, m_db); + pModel.setTable("cam_dev"); + pModel.setFilter(QObject::tr("cam_dev_id ='%1' and cam_dev_id != '' and cam_dev_id is not null").arg(strCamId)); + pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange + pModel.select(); + int rowCount = pModel.rowCount(); + + return rowCount > 0; +} //chn========================== /// diff --git a/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.h b/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.h index 2eaf1dd..a3eaa3e 100644 --- a/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.h +++ b/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.h @@ -51,6 +51,7 @@ bool updateCamDevTable(Record_Cam_Dev camRec); std::list<Record_Cam_Dev> searchCamDevTableAll(void); int searchCamDevNumber(void); + bool searchCamDevByCamId(QString strCamId); //load_file_info bool insertLoadFileTable(Record_Load_File_info loadfileRec); diff --git a/QiaoJiaSystem/YoloServer/main.cpp b/QiaoJiaSystem/YoloServer/main.cpp index e223edd..79a0345 100644 --- a/QiaoJiaSystem/YoloServer/main.cpp +++ b/QiaoJiaSystem/YoloServer/main.cpp @@ -28,8 +28,8 @@ IceRpcServer<YoloDetectServerI> server("yoloServer", 10003, "tcp"); server.setMessageSizeMax(1024 * 1024 * 50); - server.setPoolInitSize(5); - server.setPoolMaxSize(5); + server.setPoolInitSize(1); + server.setPoolMaxSize(1); server.runWaitShutDown(); return 0; } diff --git a/QiaoJiaSystem/build/DataWebServer b/QiaoJiaSystem/build/DataWebServer index e2ba793..4ba569c 100755 --- a/QiaoJiaSystem/build/DataWebServer +++ b/QiaoJiaSystem/build/DataWebServer Binary files differ diff --git a/QiaoJiaSystem/build/EncodeServer b/QiaoJiaSystem/build/EncodeServer new file mode 100755 index 0000000..59c0dd0 --- /dev/null +++ b/QiaoJiaSystem/build/EncodeServer Binary files differ diff --git a/QiaoJiaSystem/build/FaceDetectResourcesTest b/QiaoJiaSystem/build/FaceDetectResourcesTest index 23a18af..1afe23e 100755 --- a/QiaoJiaSystem/build/FaceDetectResourcesTest +++ b/QiaoJiaSystem/build/FaceDetectResourcesTest Binary files differ diff --git a/QiaoJiaSystem/build/FaceDetectServer b/QiaoJiaSystem/build/FaceDetectServer index 1e1a122..8822702 100755 --- a/QiaoJiaSystem/build/FaceDetectServer +++ b/QiaoJiaSystem/build/FaceDetectServer Binary files differ diff --git a/QiaoJiaSystem/build/FaceExtractServer b/QiaoJiaSystem/build/FaceExtractServer index 0c0b37f..3dcfee4 100755 --- a/QiaoJiaSystem/build/FaceExtractServer +++ b/QiaoJiaSystem/build/FaceExtractServer Binary files differ diff --git a/QiaoJiaSystem/build/FaceSearchServer b/QiaoJiaSystem/build/FaceSearchServer index cecc349..2b07bce 100755 --- a/QiaoJiaSystem/build/FaceSearchServer +++ b/QiaoJiaSystem/build/FaceSearchServer Binary files differ diff --git a/QiaoJiaSystem/build/RapidStructureApp b/QiaoJiaSystem/build/RapidStructureApp index 91efcf5..39d29b2 100755 --- a/QiaoJiaSystem/build/RapidStructureApp +++ b/QiaoJiaSystem/build/RapidStructureApp Binary files differ diff --git a/QiaoJiaSystem/build/RapidStructureAppRtsp b/QiaoJiaSystem/build/RapidStructureAppRtsp index 0a22fa1..e99043b 100755 --- a/QiaoJiaSystem/build/RapidStructureAppRtsp +++ b/QiaoJiaSystem/build/RapidStructureAppRtsp Binary files differ diff --git a/QiaoJiaSystem/build/RecordVideo b/QiaoJiaSystem/build/RecordVideo index e4c0679..3663e73 100755 --- a/QiaoJiaSystem/build/RecordVideo +++ b/QiaoJiaSystem/build/RecordVideo Binary files differ diff --git a/QiaoJiaSystem/build/StructureApp b/QiaoJiaSystem/build/StructureApp index 3b33ca6..ac2d973 100755 --- a/QiaoJiaSystem/build/StructureApp +++ b/QiaoJiaSystem/build/StructureApp Binary files differ diff --git a/QiaoJiaSystem/build/VideoAnalysFromHC b/QiaoJiaSystem/build/VideoAnalysFromHC index 9eebece..cb2375c 100755 --- a/QiaoJiaSystem/build/VideoAnalysFromHC +++ b/QiaoJiaSystem/build/VideoAnalysFromHC Binary files differ diff --git a/QiaoJiaSystem/build/YoloServer b/QiaoJiaSystem/build/YoloServer old mode 100644 new mode 100755 index d04ef47..7b605a9 --- a/QiaoJiaSystem/build/YoloServer +++ b/QiaoJiaSystem/build/YoloServer Binary files differ diff --git a/QiaoJiaSystem/build/config.db b/QiaoJiaSystem/build/config.db old mode 100644 new mode 100755 index a1cb01d..662b88f --- a/QiaoJiaSystem/build/config.db +++ b/QiaoJiaSystem/build/config.db Binary files differ diff --git a/QiaoJiaSystem/build/config.json b/QiaoJiaSystem/build/config.json index 768e0a2..887f935 100755 --- a/QiaoJiaSystem/build/config.json +++ b/QiaoJiaSystem/build/config.json @@ -1,19 +1,19 @@ { "mainServerIp": "192.168.1.182", "mainServerPort": "3697", - "logPath": "/home/dell/work/log/", + "logPath": "/home/basic/work/log/", "DEV_ID": "DSVAD010120181119", "ES_IP": "192.168.1.122", "ES_PORT": 9200, "FaceSeachSleepTime": 60, "TotalLoadSize": "500", - "buildAddr": "/home/dell/Apps/QiaoJiaSystem/build/", - "cutPath": "/home/dell/work/qiaojia/cut", + "buildAddr": "/home/basic/Apps/QiaoJiaSystem/build/", + "cutPath": "/home/basic/work/qiaojia/cut", "erlCookie": "", "erlFatherNode": "", "erlNode": "", "erlPath": "", - "loadPath": "/home/dell/work/qiaojia/load", + "loadPath": "/home/basic/work/qiaojia/load", "localPasswd": "123456", "netIfName": "enp3s0", "srsAddr": "rtmp://192.168.1.122:1934/live/", @@ -21,5 +21,6 @@ "redis_ip": "127.0.0.1", "redis_buf_len": 750, "encode_thread_num": 3, - "FaceDetectionSampleSize": 720 + "FaceDetectionSampleSize": 720, + "clusterID" : "sssss" } diff --git a/QiaoJiaSystem/build/scpToSer.sh b/QiaoJiaSystem/build/scpToSer.sh index 1bffb1e..4dcb35e 100644 --- a/QiaoJiaSystem/build/scpToSer.sh +++ b/QiaoJiaSystem/build/scpToSer.sh @@ -9,7 +9,8 @@ echo $1 des_pass=123 expect -c " - spawn scp -P44100 ${CUR_PATH}"/"$1 dell@58.118.225.79:/home/dell/Apps/QiaoJiaSystem/build +# spawn scp -P44100 ${CUR_PATH}"/"$1 dell@58.118.225.79:/home/dell/Apps/QiaoJiaSystem/build + spawn scp ${CUR_PATH}"/"$1 basic@192.168.1.182:/home/basic/Apps/QiaoJiaSystem/build expect \"password:\" send \"${des_pass}\r\" expect eof @@ -31,6 +32,7 @@ sendFile RecordVideo sendFile VideoAnalysFromHC sendFile YoloServer + sendFile EncodeServer sendFile killAll.sh #sendFile runAll.sh #sendFile runWebSer.sh -- Gitblit v1.8.0