#ifndef NEWRECORDVIDEOELEMENT_H
|
#define NEWRECORDVIDEOELEMENT_H
|
//#include <basic/pipe/PipeElement.h>
|
#include <basic/pipe_element/ffmpeg/FfmpegElement.h>
|
#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<ImgInfo> m_imgBufQue;
|
HiredisTool m_hiredisTool;
|
std::string m_filename;
|
bool m_bSaveWH;
|
};
|
|
#endif // RECORDVIDEOELEMENT_H
|