#ifndef NEWRECORDVIDEOELEMENT_H #define NEWRECORDVIDEOELEMENT_H //#include #include #include "HiredisTool.h" //struct ImgInfo //{ // std::string time; // cv::Mat img; //}; class NewRecordVideoElement { public: NewRecordVideoElement(){} NewRecordVideoElement(std::string camid); ~NewRecordVideoElement(); void setSdkTrigger(bool isTrigger); void pushImgBuf(const std::string& time,cv::Mat& img); //private: // virtual void threadFunc() override; // virtual void threadInitial() override; private: void recordInit(int videoMin, int videoMax); void Record(); 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; private: std::string startRecord(); void doRecord(); void endRecord(); void getImg(ImgInfo& info); std::string getFileName(const std::string& timeStamp); std::string makeDir(const std::string& timeStamp); ffmpeg::VideoEncodeElement videoEncoderElement; std::string camID; std::string m_cutPath; std::queue m_imgBufQue; HiredisTool m_hiredisTool; std::string m_filename; bool m_bSaveWH; }; #endif // RECORDVIDEOELEMENT_H