派生自 development/c++

miyanhui
2019-02-19 87baff1f74bc17dc7a664b3176288a235bd024f6
QiaoJiaSystem/StructureApp/FaceExtractElement.cpp
@@ -37,7 +37,8 @@
    faceSearchRpcClient(appPref.getStringData("faceSear.proxy"), appPref.getStringData("faceSear.ip"),
                        appPref.getIntData("faceSear.port"), "tcp"),
//    faceSearchRpcClient("faceCmServer", "", 10004, "tcp")
    m_sdkRule(rule)
    m_sdkRule(rule),
    m_rpcClient("RtspAnalysServer", "127.0.0.1",appPref.getIntData("RpcServerPort"),"tcp")
{
    sharedMemory = new QSharedMemory(QString(shareMemoryName.c_str()));
    if (!sharedMemory->create(4608 * 2592 * 4)) {
@@ -61,10 +62,15 @@
}
void FaceExtractElement::timerFunc() {
    INFO("MYH Run Here");
    std::vector<FaceToExtract> faceExtractQueueTmp;
    {
        std::lock_guard<std::mutex> lg(imageQueueMutex);
        if (faceExtractQueue.empty())return;
        if (faceExtractQueue.empty())
        {
            ERR("faceExtractQueue.empty ");
            return;
        }
        faceExtractQueueTmp.swap(faceExtractQueue);
        faceExtractQueue.clear();
    }
@@ -100,7 +106,7 @@
//                    cv::imwrite(string1, image);
//                }
                if (feature.empty()) {
                    ERR("feature is empty");
                    INFO("No Face Find: "<<getProperty("imgKey"));
                    continue;
                }
                features.clear();
@@ -212,6 +218,25 @@
                t_json["indeviceid"] = appPref.getStringData("fxDevID");
                t_json["indevicename"] = appPref.getStringData("fxDevNAME");
                std::string strImageKey = faceExtractQueueTmp[i].scoredRects[j].properties["imgKey"];
                INFO("SaveImageKey To ES: "<<strImageKey);
                t_json["imgKey"] = strImageKey;
                try {
                    auto server = m_rpcClient.getServer();
                    if (!server)
                    {
                        ERR("server is null");
                        //return;
                    }
                    INFO("Record Video "<<strImageKey);
                    server->recordVideo(strImageKey);
                }
                catch (std::exception &e)
                {
                    ERR("Record Video Err: "<<strImageKey <<"   Message: "<<e.what());
                    //return;
                }
                auto faceSearchServer = faceSearchRpcClient.getServer();
                if (!faceSearchServer) {
                    ERR("faceSearchServer is null");