1 #include "VideoReader.h"
4 using namespace suanzi;
7 const static std::string TAG = "VideoReader";
9 VideoReader* VideoReaderFactory::createVideoReader(VideoSrcType type, const std::string& url)
11 VideoReader* v = nullptr;
13 case VideoSrcType::URL:
14 v = new UrlReader(type, url);
16 case VideoSrcType::File:
17 v = new FileReader(type, url);
19 case VideoSrcType::USB:
20 v = new UsbReader(type, url);
28 VideoReader::~VideoReader()
30 LOG_DEBUG("video", "init");
34 UrlReader::UrlReader(VideoSrcType type, const std::string& url) : VideoReader(type, url)
36 LOG_DEBUG(TAG, "UrlReader, open " + url);
38 if (!vcap.isOpened()){
39 LOG_ERROR(TAG, "open video " + url);
40 throw std::runtime_error("Cannot open video url " + url);
42 LOG_DEBUG(TAG, "reader video sourc succeed.");
45 UrlReader::~UrlReader()
49 bool UrlReader::read(cv::Mat& mat)
51 bool ret = vcap.read(mat);
53 LOG_ERROR(TAG, "blank frame grabbed");
60 //void UrlReader::read()
64 //void FileReader::read()
68 //void UsbReader::read()