123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #pragma once
- #include <iostream>
- #include <map>
- #include <time.h>
- #include <dirent.h>
- #include <time.h>
- #include <cstdlib>
- #include <dirent.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- // opencv
- #include <opencv2/core.hpp>
- #include <opencv2/videoio.hpp>
- #include <opencv2/highgui.hpp>
- #include <opencv2/imgproc.hpp>
- #include <opencv2/imgproc/types_c.h>
- #include "Util/logger.h"
- #include "DataSource.h"
- using namespace toolkit;
- using namespace std;
- //using namespace cv;
- namespace MIVA
- {
- class recorder
- {
- public:
- recorder() {}
- ~recorder() {}
- static std::shared_ptr<recorder> CreateNew();
- void Start();
- void Finish();
- void ConsumerData(std::string Pid,cv::Mat& frame);
- std::string GetFileName(std::string Pid);
- private:
- struct Writer{
- std::string fileName = "";
- std::shared_ptr<cv::VideoWriter> videoWriter = nullptr;
- };
- map<std::string, Writer> videoWriters;
- public:
- bool enable = true;
- bool RecordEnable = true;
- int outType = 0; // 0 图片 1视频
- std::string outDir = "";
- std::string Dir = "./video/";
- using Ptr = std::shared_ptr<recorder>;
- };
- } // namespace name
|