From ae5899dc884d8d7e1427e45c35e865d7ca51c34b Mon Sep 17 00:00:00 2001 From: miyanhui <dennismi1024@gmail.com> Date: 星期五, 15 二月 2019 14:56:24 +0800 Subject: [PATCH] 新的方式解决视频不录的问题 --- QiaoJiaSystem/StructureApp/AppPipeController.h | 55 +++++++++++++++++++++++++++++-------------------------- 1 files changed, 29 insertions(+), 26 deletions(-) diff --git a/QiaoJiaSystem/StructureApp/AppPipeController.h b/QiaoJiaSystem/StructureApp/AppPipeController.h index 648b766..ab0e738 100644 --- a/QiaoJiaSystem/StructureApp/AppPipeController.h +++ b/QiaoJiaSystem/StructureApp/AppPipeController.h @@ -15,9 +15,11 @@ #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" class AppPipeController : public PipeController { public: /*** @@ -25,11 +27,14 @@ * @param folderPath 浠诲姟鏍圭洰褰曪紝鐢ㄤ簬鍋氬叡浜唴瀛榠d * @param json 鍙傛暟涓簉tsp娴佸湴鍧� sdk鏄惁鍚敤鐨勬爣璇� */ - AppPipeController(std::string folderPath, const Json::Value &json); + // AppPipeController(std::string folderPath, const Json::Value &json); + AppPipeController(std::string folderPath, const SdkRuleMap& ruleMap); - AppPipeController(int index, const Json::Value &json, bool RecordVideoEnable = false); + // AppPipeController(int index, const Json::Value &json, bool RecordVideoEnable = false); - AppPipeController(std::string camId, const Json::Value &json, bool RecordVideoEnable); + // AppPipeController(std::string camId, const Json::Value &json, bool RecordVideoEnable); + + AppPipeController(std::string camId, const SdkRuleMap& ruleMap, bool RecordVideoEnable); virtual ~AppPipeController(); @@ -41,9 +46,9 @@ void setfdfsClient(FastFdsWithLock *p_fdfsClient); + void setWeekRule(const std::map<int, std::vector<LActRuleWeekRecord>>& weekRuleMap); private: void init(); - private://Perimete PerimeterElement perimeterElement; // TriggerElement peTriggerElement; @@ -55,7 +60,7 @@ //TriggerElement crowdTriggerElement; void initCrowd(); - + void RecordVideo(); private://KeepRight JudgmentRetrogradeTool leftJudgment; JudgmentRetrogradeTool rightJudgment; @@ -63,9 +68,18 @@ // TriggerElement leftTriggerElement; // TriggerElement rightTriggerElement; - void intKeepRight(); + void initKeepRight(); private: + PerStaticElement perStaticElement; + void initPerStatic(); +private://Perimete + PerimeterElement perHubElement; + // TriggerElement peTriggerElement; + + void initPerHub(); +private: + SaveVideoRpcClient_t m_rpcClient; ffmpeg::VideoCaptureElement videoCaptureElement; YoloRpcElement yoloRpcElement; FaceRpcElement faceRpcElement; @@ -73,6 +87,7 @@ ImageDrawElement imageDrawElement; RecordVideoElement recordVideoElement; NewRecordVideoElement newRecordVideoElement; + PersonElement personElement; int m_index; std::string m_camId; @@ -91,25 +106,13 @@ QDateTime m_dt; + std::map<int, std::vector<LActRuleWeekRecord>> m_weekRuleMap; + SdkRuleMap m_sdkRuleMap; + std::string m_localIp; std::string getFullFileName(); - - - void recordInit(int videoMin, int videoMax); - void setSdkTrigger(); - void doRecord(); - int fileMin; - int fileMax; - bool sdkTrigger; - int triggerDelay; - -#define RECORD_STOP (0) -#define RECORD_DOING (1) -#define RECORD_ENDING (2) - - int recordStatus; - int videoLength; - int recordDelay; - + std::mutex mutex; + bool m_bSetWH; + HiredisTool m_hiredisTool; }; -- Gitblit v1.8.0