chenshijun
2019-04-22 d5ae54ceb9770963fbe88aa0170c08d0ae648b05
删除一些不必要的代码,添加一些注释
64个文件已删除
13个文件已修改
19506 ■■■■■ 已修改文件
QiaoJiaSystem/CMakeLists.txt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/EncodeServer/CMakeLists.txt 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/EncodeServer/EncodeVideo.cpp 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/EncodeServer/EncodeVideo.h 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/EncodeServer/EncodeVideoManager.cpp 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/EncodeServer/EncodeVideoManager.h 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/EncodeServer/NewEncodeVideoManager.cpp 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/EncodeServer/NewEncodeVideoManager.h 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/EncodeServer/main.cpp 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.cpp 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.h 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.h 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/PerimeterAlarm/AppPaController.cpp 363 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/PerimeterAlarm/AppPaController.h 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/PerimeterAlarm/CMakeLists.txt 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/PerimeterAlarm/CMakeLists.txt.user 484 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/PerimeterAlarm/PaImageDrawElement.cpp 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/PerimeterAlarm/PaImageDrawElement.h 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/PerimeterAlarm/PaYoloRpcElement.cpp 276 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/PerimeterAlarm/PaYoloRpcElement.h 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/PerimeterAlarm/main.cpp 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/CMakeLists.txt 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/CommonFFmpegFunc.hpp 264 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/ImageGrabberI.cpp 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/ImageGrabberI.h 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/LoopRecordVideoI.cpp 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/LoopRecordVideoI.h 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/LoopVideoRecorder.cpp 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/LoopVideoRecorder.h 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/RecordVideoI.cpp 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/RecordVideoI.h 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/VideoRecorder.cpp 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/VideoRecorder.h 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/VideoRecorderManager.cpp 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/VideoRecorderManager.h 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/config.cfg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/main.cpp 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/rpc/RecordVideo.cpp 1385 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/rpc/RecordVideo.h 1571 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/rpc/RecordVideo.ice 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/rpc/RecordVideo/__init__.py 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/rpc/RecordVideo_ice.py 285 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/rpc/test2.py 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/RecordVideo/rpc/testClient.py 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/StructureApp/AppPipeController.h 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/StructureApp/CMakeLists.txt 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/StructureApp/NewEncodeVideo.cpp 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/StructureApp/NewEncodeVideo.h 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/StructureApp/NewEncodeVideoManager.cpp 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/StructureApp/NewEncodeVideoManager.h 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/StructureApp/NewRecordVideoElement.cpp 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/StructureApp/NewRecordVideoElement.h 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/StructureApp/RecordVideoElement.cpp 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/StructureApp/RecordVideoElement.h 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/StructureApp/SaveVideoRpc.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/UnitTest/BasicStruct_test.cpp 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/UnitTest/CMakeLists.txt 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/UnitTest/doctest/doctest.h 5269 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/UnitTest/doctest/parts/doctest_fwd.h 2577 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/UnitTest/doctest/parts/doctest_impl.h 2684 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/UnitTest/doctest/parts/doctest_main.cpp 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/UnitTest/main.cpp 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/VideoAnalysFromHC/CMakeLists.txt 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/VideoAnalysFromHC/main.cpp 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/VideoToImage/CMakeLists.txt 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/VideoToImage/RtspAnalysManager.cpp 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/VideoToImage/RtspAnalysManager.h 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/VideoToImage/RtspCaptureElement.cpp 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/VideoToImage/RtspCaptureElement.h 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/VideoToImage/main.cpp 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/VideoToImage/rpc/RtspAnalysServer.cpp 398 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/VideoToImage/rpc/RtspAnalysServer.h 396 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/VideoToImage/rpc/RtspAnalysServer.ice 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/YoloServer/CMakeLists.txt 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/CMakeLists.txt
@@ -32,7 +32,7 @@
add_subdirectory(DataManagerServer)
#add_subdirectory(EncodeServer)
#add_subdirectory(VideoToImage)
add_subdirectory(UnitTest)
#add_subdirectory(UnitTest)
add_subdirectory(VideoToImageMulth)
#add_subdirectory(GB28181DecoderModel)
#add_subdirectory(FaceSearchDbWithImg)
QiaoJiaSystem/EncodeServer/CMakeLists.txt
File was deleted
QiaoJiaSystem/EncodeServer/EncodeVideo.cpp
File was deleted
QiaoJiaSystem/EncodeServer/EncodeVideo.h
File was deleted
QiaoJiaSystem/EncodeServer/EncodeVideoManager.cpp
File was deleted
QiaoJiaSystem/EncodeServer/EncodeVideoManager.h
File was deleted
QiaoJiaSystem/EncodeServer/NewEncodeVideoManager.cpp
File was deleted
QiaoJiaSystem/EncodeServer/NewEncodeVideoManager.h
File was deleted
QiaoJiaSystem/EncodeServer/main.cpp
File was deleted
QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp
@@ -62,6 +62,7 @@
    DBG("m_dbRWLocks ok");
    m_dbRWLocks_Lock.unlock();
//    ClockTimer clockTimer("compare ");
    //保护 t_compareResults
    RWLock t_rwLock;
    m_rwLock.rdlock();
@@ -80,12 +81,15 @@
            FaceResult tface{0, data.uuid, alarmData->tableName, sc, data.faceUrl, data.idcard, ""};
            t_rwLock.wrlock();
            //#todo
            // 对比结果保存
            if (sc < t_compareResults.end()->second.confidence) {
                t_rwLock.unlock();
                return;
            }
            // 保存对比结果
            t_compareResults.insert(make_pair(tface.confidence, tface));
            //#todo 10
            // 只保留最高的n个对比结果
            if (t_compareResults.size() > topN) {
                t_compareResults.erase((--t_compareResults.end()), t_compareResults.end());
            }
@@ -123,6 +127,7 @@
    auto &t_topResult = topResult[key];
    DBG("topResult[key] ok");
    t_topResult.clear();
    // 对比结果转换
    for (auto &item : t_compareResults) {
        auto &it = item.second;
        //#todo
@@ -203,16 +208,8 @@
            m_tableName = str_tab.substr(1, str_tab.length() - 2);//.append("_fea");
            DBG("m_tableName is  " << m_tableName);
//            string tet = "./syncDBClient ";
//            string str_json = writer.write(t_json);
//            tet.append("\"" + str_json.substr(0, str_json.length() - 1) + "\" ");
//            INFO(tet);
//            system(tet.c_str());
            dataMap.clear();
            try {
                // init
//                BISTL::BiMapFeaData biMapFeaData(m_tableName);
//                auto mymap = biMapFeaData.getMap();
                auto mymap = m_erlangDbTool->loadFaceFeaData(m_tableName);
                DBG(m_tableName << "  db size is  " << mymap.size());
@@ -231,29 +228,10 @@
                    test.enabled = it.enable;
                    test.monLevel = it.monLevel;
                }
//                //#todo
//                for (auto it = mymap->begin(); it != mymap->end(); it++) {
//                    string str_uuid(it->second.m_id.data());
//                    string ft(it->second.m_feature.data());
//                    string imgUrl(it->second.m_imgUrl.data());
//                    string strIdCard(it->second.m_idcard.data());
//                    string str2;
//                    str2 = base64.Decode(ft.data(), ft.length());
//                    std::vector<unsigned char> t_fea;
//                    t_fea.resize(str2.size());
//                    memcpy(t_fea.data(), str2.data(), str2.size());
//                    auto &test = dataMap[str_uuid];
//                    test.uuid = str_uuid;
//                    test.features.push_back(t_fea);
//                    test.faceUrl = imgUrl;
//                    test.idcard = strIdCard;
//                }
            } catch (const std::exception &e) {
                printf("Exception:%s\n", e.what());
//                BISTL::shared_memory_object::remove(m_tableName.c_str());
            }
            appPref.setIntData(m_tableName, 1);
//            BISTL::shared_memory_object::remove(m_tableName.c_str());
        } else {
            //#todo get sqlite3 data
            m_tableName = t_json["tableName"].asCString();
QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h
@@ -21,19 +21,35 @@
public:
    FaceDBCompareServer();
    /**
     * 本地库构造
     */
    FaceDBCompareServer(SqliteFaceEncap *);
    /***
     * 同步库构造
     */
    FaceDBCompareServer(ErlangTool::ErlangDbTool *);
    ~FaceDBCompareServer();
    virtual bool compare(std::thread::id key, AlarmData *alarmData, int topN);
    /***
     * @deprecated
     * @param key
     * @param alarmData
     * @return
     */
    bool compare(std::thread::id key, AlarmData *alarmData);
    FaceResults getTopResult(std::thread::id key);
private:
    /**
     * 加载特征
     * @param str_config
     */
    virtual void loadDBData(std::string str_config);
protected:
@@ -41,10 +57,14 @@
    std::string m_tableName;
    int fea_size;
    // 保护父类的dataMap
    RWLock m_rwLock;
    std::mutex topResultMtx;
    std::map<std::thread::id, FaceResults> topResult;
    // 保护m_dbRWLocks
    RWLock m_dbRWLocks_Lock;
    // 保护 topResult
    std::map<std::thread::id, RWLock> m_dbRWLocks;
    ErlangTool::ErlangDbTool *m_erlangDbTool;
@@ -54,8 +74,9 @@
static bool getRet(std::string startTime, std::string endTime) {
    auto crrentTime = AppUtil::getTimeSecString();
    if (crrentTime.compare(startTime) > 0 && (crrentTime.compare(endTime) < 0 || endTime == "0000-00-00 00:00:00")) {
    // 根据当前时间是否在设置的时间内或永久生效
    if (crrentTime.compare(startTime) > 0 && (crrentTime.compare(endTime) < 0
                                              || endTime == "0000-00-00 00:00:00")) {
        return true;
    }
    return false;
QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.cpp
@@ -123,14 +123,25 @@
}
//#todo 优化
/**
 *
 * @param feature 需要对比的特征
 * @param info_json 需要插入数据库的json字段
 * @param topN 获取前几位
 * @param score 对比的阈值
 * @return
 */
::FaceSearch::FaceResults
FaceFeatureSearchServerI::faceSearchTopN(const ::FaceSearch::Data &feature, const ::std::string &info_json,
                                         ::Ice::Int topN, ::Ice::Float score, const ::Ice::Current &) {
    ClockTimer clockTimer("faceSearchTopN  " + to_string(score) + "  :");
    INFO("faceSearchTopN start");
    // 获取当前线程id
    thread::id key = std::this_thread::get_id();
    ::FaceSearch::FaceResults results;
    FaceResults t_TableCompareResult;
    // 进行对比的数据结构
    AlarmData featureData;
    featureData.num = topN;
    featureData.feature.resize(feature.size());
@@ -142,14 +153,19 @@
    if (reader.parse(info_json, value)) {
        //#todo
        m_rwLock.rdlock();
        // 特征转化为base64存入到json中
        std::string feature_base64;
        feature_base64 = base64.Encode(feature.data(), feature.size());
        value["FaceFeature"] = feature_base64;
        //---------------------------
        DBG("auto &it : m_faceFCMAP start " << m_faceFCMAP.size());
        //#todo lock
        // 遍历不同的底库进行比对
        for (auto &it : m_faceFCMAP) {
            auto &t_FaceFC = it.second;
            auto t_tableInfo = m_tableType[it.first];
            // 获取底库的报警状态
            bool ret = getRet(t_tableInfo.startTime, t_tableInfo.endTime);
            if (ret) {
                string t_alarmRet = t_tableInfo.bwType;
@@ -157,10 +173,12 @@
                //#todo 非同步库是否需要比较?
                DBG("m_faceFCMAP compare start " << it.first);
                // 对比
                t_FaceFC->compare(key, &featureData, topN);
                DBG("m_faceFCMAP compare end " << it.first);
                // 根据当前线程id获取对比结果
                auto t_results = t_FaceFC->getTopResult(key);
                // 对比结果转换
                for (auto &t_item : t_results) {
                    t_item.tableName = it.first;
                    t_item.alarmRet = t_alarmRet;
@@ -176,6 +194,7 @@
        DBG("t_TableCompareResult size" << t_TableCompareResult.size());
        //sort_all_results
        // 排序
        for (auto itor = t_TableCompareResult.begin(); itor != t_TableCompareResult.end(); ++itor) {
            float new_confidence = itor->confidence;
            auto rtTR = results.rbegin();
@@ -194,6 +213,7 @@
                ERR("topResult is null");
            }
            auto itTR(rtTR.base());
            // 数据转化
            ::FaceSearch::FaceResult t_faceCR;
            t_faceCR.id = itor->id;
            t_faceCR.uuid = itor->uuid;
@@ -208,9 +228,10 @@
            results.insert(itTR, t_faceCR);
        }
        bool retface = true;
//        cout << __FUNCTION__ << " -> " << __LINE__ << " ->  " << results.size() << endl;
        //#todo send message
        if (results.size() > 0) {
            // 根据传入的对比阈值做筛选
            // 本分支只保存了第一个对比结果
            for (auto &item : results) {
                //#todo 得分比较,应该在compare中进行
                if (item.confidence < score) {
@@ -226,15 +247,6 @@
                    break;
                }
                value["personId"] = item.uuid.size() > 0 ? item.uuid : "";//关联底库人员id,人脸id
//                string tmp_tableName = item.tableName;
//                if (tmp_tableName.find("lt_") == 0) {
//                    tmp_tableName = tmp_tableName.insert(tmp_tableName.find("lt_") + 3, "::");
//                    value["BaseName"] = tmp_tableName;//关联底库表名
//                } else {
//                    value["BaseName"] = item.tableName.size() > 0 ? item.tableName : "";//关联底库表名
//                }
                value["BaseName"] = item.tableName.size() > 0 ? item.tableName : "";//关联底库表名
                value["likePer"] = item.confidence > 0 ? item.confidence : 0.0;
@@ -244,10 +256,8 @@
                value["personIsHub"] = item.alarmRet.size() > 0 ? item.alarmRet : "4";
                auto str_uuid = value["Id"].asString();
//                DBG(value.toStyledString());
                cout << __FUNCTION__ << " -> " << __LINE__ << " ->  " << "value.toStyledString()  "
                     << value.toStyledString() << "\n score   " << score << endl;
                DBG("value.toStyledString()  " << value.toStyledString() << "\n score   " << score);
//                DBG("score  " << score);
                retface = pManagerEsDB.insertData("videopersons", "perVideoPicture", value.toStyledString(),
                                                  str_uuid);
@@ -258,37 +268,35 @@
            value["personIsHub"] = "4";
            value["likePer"] = 0.0;
            DBG(value.toStyledString());
//            cout << __FUNCTION__ << " -> " << __LINE__ << " ->  " << "value.toStyledString()  "
//                 << value.toStyledString() << endl;
            retface = pManagerEsDB.insertData("videopersons", "perVideoPicture", value.toStyledString(),
                                              str_uuid);
        }
        if (!retface) {
            ERR("insert error");
        } else {
            cout << __FUNCTION__ << " -> " << __LINE__ << " ->  " << "retface  " << retface << endl;
            ERR("retface  " << retface);
        };
    } else {
        ERR("json is error" << info_json);
    }
//    for (auto &item : t_tables) {
//        DBG(item);
//    }
    return results;
}
bool FaceFeatureSearchServerI::loadFeatureData(FaceFeatureSearchServerI *faceFea) {
    // 加载底库数据
    ErlangTool::map_TabDataCache dataBaseCache = faceFea->m_erlangDbTool.findAllDatabase();
    if (dataBaseCache.size() < 0 && faceFea->m_retUpdatePthread) {
        // 这里进不来吧?
        faceFea->m_retUpdatePthread = false;
        //控制下方线程只启动一次
        std::thread thd(dataUpdate, faceFea);
        thd.detach();
    }
    // 获取表信息
    auto typeInfoCache = faceFea->m_erlangDbTool.findAllTypeInfo();
    //清除旧数据
    faceFea->m_tableType.clear();
    string str_config = faceFea->m_erlangDbTool.getConfigJsonString();
@@ -368,6 +376,7 @@
    faceFea->m_inTime = getTimeLong();
    if (faceFea->m_retUpdatePthread) {
        faceFea->m_retUpdatePthread = false;
        //控制下方线程只启动一次
        std::thread thd(dataUpdate, faceFea);
//        faceFea->m_erlangDbTool.test(faceFea, erlangCallBackFunc);
@@ -418,6 +427,10 @@
//    pthread_mutex_unlock(&(func_cond_mutex));
//}
/**
 * 等待底库加载完成,并等待信号触发新的数据刷新
 * @param faceFea
 */
void FaceFeatureSearchServerI::dataUpdate(FaceFeatureSearchServerI *faceFea) {
    long inTime = faceFea->m_inTime;
    // modify all db ready start update, <10s
QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.h
@@ -24,6 +24,8 @@
//};
static bool t_live_ret = true;
//全局的信号量,如果数据刷新延迟过高可以改为使用nsq消息队列。
static pthread_cond_t func_cond(PTHREAD_COND_INITIALIZER);
static pthread_mutex_t func_cond_mutex(PTHREAD_MUTEX_INITIALIZER);
@@ -39,44 +41,71 @@
    virtual ~FaceFeatureSearchServerI();
public:
    /**
     * @deprecated
     * @return
     */
    virtual ::FaceSearch::FaceResults faceSearchMax(const ::FaceSearch::Data &, const ::std::string &,
                                                    const ::Ice::Current & = ::Ice::emptyCurrent);
    /***
     * 对比获取第n大的人员
     * @return
     */
    virtual ::FaceSearch::FaceResults
    faceSearchTopN(const ::FaceSearch::Data &, const ::std::string &, ::Ice::Int, ::Ice::Float,
                   const ::Ice::Current & = ::Ice::emptyCurrent);
private:
    /**
     * @deprecated
     * @param nodeName
     * @param cookie
     * @return
     */
    bool initErlang(std::string nodeName, std::string cookie);
    //#todo delete cache
    //#todo loadData
    /**
     * 加载人脸属性
     * @param faceFea
     * @return
     */
    static bool loadFeatureData(FaceFeatureSearchServerI *faceFea);
    /**
     * 数据更新线程,有信号触发才会更新
     * @param faceFea
     */
    static void dataUpdate(FaceFeatureSearchServerI *faceFea);
    /***
     * 等待底库表加载成功
     * @param faceFea
     * @param loop
     */
    static void waitTables(FaceFeatureSearchServerI *faceFea, int loop = -1);
//    void erlangCallBackFunc(std::string);
private:
    long m_inTime;
    // 特征对比类
    std::map<std::string, FaceDBCompareServer *> m_faceFCMAP;
    // 底库类型,生效时间等
    std::map<std::string, TableInfo> m_tableType;
    // 对 m_faceFCMAP 加读写锁
    // 当对比时,数据刷新会等待
    RWLock m_rwLock;
    ErlangTool::ErlangDbTool m_erlangDbTool;
    SqliteFaceEncap m_sqliteFaceEncap;
    std::mutex m_mutex;
    bool m_retUpdatePthread;
    Base64 base64;
//    Ice::ObjectPrx base_FaceMemoryData;
//    IceRpcClient<::FaceSearch::FaceMemoryDataPrx> m_faceMemoryClient;
//    ::FaceSearch::FaceMemoryDataPrx serverFaceMemoryData;
//    func_cond_mutex(PTHREAD_MUTEX_INITIALIZER), func_cond(PTHREAD_COND_INITIALIZER)
    EsDBTool pManagerEsDB;//(appPref.getStringData("ipAdd"), appPref.getIntData("ipPort"));
};
QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp
@@ -67,7 +67,6 @@
                            p_this->videoPublishElement->start();
                        } else {
                            if (!p_this->m_image.empty()) {
//                                DBG("videoPublishElement->setImage() : " << p_this->m_chanPubID);
                                p_this->videoPublishElement->setImage(p_this->m_image);
                                p_this->videoPublishElement->submit();
                            } else {
QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.h
@@ -37,6 +37,7 @@
         */
        bool getRunning();
        /***
         * 获取图片
         * @return
QiaoJiaSystem/PerimeterAlarm/AppPaController.cpp
File was deleted
QiaoJiaSystem/PerimeterAlarm/AppPaController.h
File was deleted
QiaoJiaSystem/PerimeterAlarm/CMakeLists.txt
File was deleted
QiaoJiaSystem/PerimeterAlarm/CMakeLists.txt.user
File was deleted
QiaoJiaSystem/PerimeterAlarm/PaImageDrawElement.cpp
File was deleted
QiaoJiaSystem/PerimeterAlarm/PaImageDrawElement.h
File was deleted
QiaoJiaSystem/PerimeterAlarm/PaYoloRpcElement.cpp
File was deleted
QiaoJiaSystem/PerimeterAlarm/PaYoloRpcElement.h
File was deleted
QiaoJiaSystem/PerimeterAlarm/main.cpp
File was deleted
QiaoJiaSystem/RecordVideo/CMakeLists.txt
File was deleted
QiaoJiaSystem/RecordVideo/CommonFFmpegFunc.hpp
File was deleted
QiaoJiaSystem/RecordVideo/ImageGrabberI.cpp
File was deleted
QiaoJiaSystem/RecordVideo/ImageGrabberI.h
File was deleted
QiaoJiaSystem/RecordVideo/LoopRecordVideoI.cpp
File was deleted
QiaoJiaSystem/RecordVideo/LoopRecordVideoI.h
File was deleted
QiaoJiaSystem/RecordVideo/LoopVideoRecorder.cpp
File was deleted
QiaoJiaSystem/RecordVideo/LoopVideoRecorder.h
File was deleted
QiaoJiaSystem/RecordVideo/RecordVideoI.cpp
File was deleted
QiaoJiaSystem/RecordVideo/RecordVideoI.h
File was deleted
QiaoJiaSystem/RecordVideo/VideoRecorder.cpp
File was deleted
QiaoJiaSystem/RecordVideo/VideoRecorder.h
File was deleted
QiaoJiaSystem/RecordVideo/VideoRecorderManager.cpp
File was deleted
QiaoJiaSystem/RecordVideo/VideoRecorderManager.h
File was deleted
QiaoJiaSystem/RecordVideo/config.cfg
File was deleted
QiaoJiaSystem/RecordVideo/main.cpp
File was deleted
QiaoJiaSystem/RecordVideo/rpc/RecordVideo.cpp
File was deleted
QiaoJiaSystem/RecordVideo/rpc/RecordVideo.h
File was deleted
QiaoJiaSystem/RecordVideo/rpc/RecordVideo.ice
File was deleted
QiaoJiaSystem/RecordVideo/rpc/RecordVideo/__init__.py
File was deleted
QiaoJiaSystem/RecordVideo/rpc/RecordVideo_ice.py
File was deleted
QiaoJiaSystem/RecordVideo/rpc/test2.py
File was deleted
QiaoJiaSystem/RecordVideo/rpc/testClient.py
File was deleted
QiaoJiaSystem/StructureApp/AppPipeController.h
@@ -9,17 +9,16 @@
#include "FaceRpcElement.h"
#include "FaceExtractElement.h"
#include "YoloRpcElement.h"
#include "RecordVideoElement.h"
#include <TriggerElement.h>
#include <QtCore/QDateTime>
#include "PerimeterElement.h"
#include "JudgmentRetrogradeTool.h"
#include "NewRecordVideoElement.h"
#include "PersonElement.h"
#include "PerStaticElement.h"
#include <jsoncpp/json/json.h>
#include "DBStruct.h"
#include "SaveVideoRpc.h"
#include "HiredisTool.h"
class VideoCaptureElementNotDecoder : public ffmpeg::VideoCaptureElement {
    using ffmpeg::VideoCaptureElement::VideoCaptureElement;
QiaoJiaSystem/StructureApp/CMakeLists.txt
@@ -9,11 +9,8 @@
SET(SOURCES
    #    HiredisTool.cpp
    NewRecordVideoElement.cpp
    JudgmentRetrogradeTool.cpp
    PerimeterElement.cpp
    NewEncodeVideoManager.cpp
    NewEncodeVideo.cpp
    HiredisTool.cpp
    PersonElement.cpp
    PerStaticElement.cpp
@@ -24,14 +21,12 @@
    FaceExtractElement.cpp
    YoloRpcElement.cpp
    ImageDrawElement.cpp
    RecordVideoElement.cpp
    rpc/StructureApp.cpp
    AppPipeController.cpp
    ../YoloServer/rpc/YoloServer.cpp
    ../FaceDetectServer/rpc/FaceServer.cpp
    ../FaceSearchServer/rpc/FaceSearchServer.cpp
    ../RecordVideo/rpc/RecordVideo.cpp
    ../VideoToImage/rpc/RtspAnalysServer.cpp
    ../VideoToImageMulth/rpc/RtspAnalysServer.cpp
    ../RapidStructureApp/TriggerElement.cpp
    ../../../BasicPlatForm/basic/pipe_element/ffmpeg/FfmpegElement.cpp
@@ -78,10 +73,9 @@
include_directories(
    ./rpc
    ../YoloServer/rpc
    ../RecordVideo/rpc
    ../FaceDetectServer/rpc
    ../FaceSearchServer/rpc
    ../VideoToImage/rpc
    ../VideoToImageMulth/rpc
    ../RapidStructureApp/
    ../../../BasicPlatForm
QiaoJiaSystem/StructureApp/NewEncodeVideo.cpp
File was deleted
QiaoJiaSystem/StructureApp/NewEncodeVideo.h
File was deleted
QiaoJiaSystem/StructureApp/NewEncodeVideoManager.cpp
File was deleted
QiaoJiaSystem/StructureApp/NewEncodeVideoManager.h
File was deleted
QiaoJiaSystem/StructureApp/NewRecordVideoElement.cpp
File was deleted
QiaoJiaSystem/StructureApp/NewRecordVideoElement.h
File was deleted
QiaoJiaSystem/StructureApp/RecordVideoElement.cpp
File was deleted
QiaoJiaSystem/StructureApp/RecordVideoElement.h
File was deleted
QiaoJiaSystem/StructureApp/SaveVideoRpc.h
@@ -6,6 +6,6 @@
#define QIAOJIASYSTEM_SAVEVIDEORPC_H
#include "../../../BasicPlatForm/basic/rpc/IceRpc.hpp"
#include "../VideoToImage/rpc/RtspAnalysServer.h"
#include "../VideoToImageMulth/rpc/RtspAnalysServer.h"
using SaveVideoRpcClient_t = IceRpcClient<RtspAnalys::RtspAnalysServerPrx>;
#endif //QIAOJIASYSTEM_SAVEVIDEORPC_H
QiaoJiaSystem/UnitTest/BasicStruct_test.cpp
File was deleted
QiaoJiaSystem/UnitTest/CMakeLists.txt
File was deleted
QiaoJiaSystem/UnitTest/doctest/doctest.h
File was deleted
QiaoJiaSystem/UnitTest/doctest/parts/doctest_fwd.h
File was deleted
QiaoJiaSystem/UnitTest/doctest/parts/doctest_impl.h
File was deleted
QiaoJiaSystem/UnitTest/doctest/parts/doctest_main.cpp
File was deleted
QiaoJiaSystem/UnitTest/main.cpp
File was deleted
QiaoJiaSystem/VideoAnalysFromHC/CMakeLists.txt
@@ -50,13 +50,9 @@
    ../StructureApp/FaceRpcElement.cpp
    ../StructureApp/FaceExtractElement.cpp
    ../StructureApp/ImageDrawElement.cpp
    ../StructureApp/RecordVideoElement.cpp
    ../StructureApp/JudgmentRetrogradeTool.cpp
    ../StructureApp/PerimeterElement.cpp
    ../StructureApp/NewRecordVideoElement.cpp
    ../StructureApp/NewEncodeVideoManager.cpp
    ../StructureApp/NewEncodeVideo.cpp
    ../StructureApp/HiredisTool.cpp
    ../StructureApp/PersonElement.cpp
    ../StructureApp/PerStaticElement.cpp
@@ -65,8 +61,7 @@
    ../YoloServer/rpc/YoloServer.cpp
    ../FaceDetectServer/rpc/FaceServer.cpp
    ../FaceSearchServer/rpc/FaceSearchServer.cpp
    ../RecordVideo/rpc/RecordVideo.cpp
    ../VideoToImage/rpc/RtspAnalysServer.cpp
    ../VideoToImageMulth/rpc/RtspAnalysServer.cpp
    #通用模块
    ../../../BasicPlatForm/basic/io/io.cpp
@@ -182,12 +177,12 @@
    ../VideoServer/QiaoJia/DB
    ../VideoServer/QiaoJia/dispatchTool
    ../RecordVideo/rpc
    ../StructureApp/rpc
    ../YoloServer/rpc
    ../FaceDetectServer/rpc
    ../FaceSearchServer/rpc
    ../VideoToImage/rpc
    ../VideoToImageMulth/rpc
    ../../../BasicPlatForm/
QiaoJiaSystem/VideoAnalysFromHC/main.cpp
@@ -9,7 +9,6 @@
#include "DBManageClass.h"
#include "RtspAnalysElement.h"
#include <basic/debug/Debug.h>
#include "StructureApp/NewEncodeVideoManager.h"
//#include "PerimeterAlarmManager.h"
//#include "KeepRightManager.h"
//"192.168.1.4", 8000, "admin", "basic123"
QiaoJiaSystem/VideoToImage/CMakeLists.txt
File was deleted
QiaoJiaSystem/VideoToImage/RtspAnalysManager.cpp
File was deleted
QiaoJiaSystem/VideoToImage/RtspAnalysManager.h
File was deleted
QiaoJiaSystem/VideoToImage/RtspCaptureElement.cpp
File was deleted
QiaoJiaSystem/VideoToImage/RtspCaptureElement.h
File was deleted
QiaoJiaSystem/VideoToImage/main.cpp
File was deleted
QiaoJiaSystem/VideoToImage/rpc/RtspAnalysServer.cpp
File was deleted
QiaoJiaSystem/VideoToImage/rpc/RtspAnalysServer.h
File was deleted
QiaoJiaSystem/VideoToImage/rpc/RtspAnalysServer.ice
File was deleted
QiaoJiaSystem/YoloServer/CMakeLists.txt
@@ -77,35 +77,7 @@
    ${LIBS}
    )
add_executable(YoloDetectClientTest
    ../../../BasicPlatForm/basic/util/opencv/CvUtil.cpp
    ../../../BasicPlatForm/basic/util/opencv/CvUtil.h
    ../../../BasicPlatForm/basic/pipe/PipeConnector.cpp
    ../../../BasicPlatForm/basic/pipe/PipeConnector.h
    ../../../BasicPlatForm/basic/pipe/PipeController.cpp
    ../../../BasicPlatForm/basic/pipe/PipeController.h
    ../../../BasicPlatForm/basic/pipe/PipeElement.cpp
    ../../../BasicPlatForm/basic/pipe/PipeElement.h
    ../../../BasicPlatForm/basic/timer_counter/Clocktimer.h
    ../../../BasicPlatForm/basic/timer_counter/Clocktimer.cpp
    ../../../BasicPlatForm/basic/pipe_element/ImageFactoryElement.cpp
    ../../../BasicPlatForm/basic/pipe_element/ImageFactoryElement.h
    ../../../BasicPlatForm/basic/pipe_element/ImageShowElement.cpp
    ../../../BasicPlatForm/basic/pipe_element/ImageShowElement.h
    ../../../BasicPlatForm/basic/pipe_element/ffmpeg/VideoCaptureElement.cpp
    ../../../BasicPlatForm/basic/pipe_element/ffmpeg/VideoCaptureElement.h
    ../../../BasicPlatForm/basic/util/fastdfs/FastdfsClient.cpp
    ../../../BasicPlatForm/basic/pipe/TimerElement.cpp
    ../RapidStructureApp/TriggerElement.cpp
    ../../../BasicPlatForm/basic/db/Elasticsearch/EsDBTool.cpp
    ../../../BasicPlatForm/basic/util/curl/HttpRequestWithCrul.hpp
    rpc/YoloServer.cpp
    YoloDetectClientTest.cpp
    ./YoloRpcElement.cpp
    ./YoloRpcElement.h
    ImageDrawElement.cpp
    )
link_directories(
@@ -137,17 +109,4 @@
    #glog
    ../../../BasicPlatForm/libs/glog/include
)
target_link_libraries(YoloDetectClientTest
    Ice
    Qt5Core
    avformat avcodec avutil avfilter swscale swresample
    opencv_world
    curl
    uuid
    jsoncpp
    fastcommon
    fdfsclient
    glog
    pthread
    )