1 #include "VideoReader.h"
4 using namespace suanzi;
7 const static std::string TAG = "VideoReader";
9 VideoReaderPtr VideoReaderFactory::createVideoReader(VideoSrcType type, const std::string& url)
12 case VideoSrcType::URL:
14 VideoReaderPtr v (new UrlReader(type, url));
17 case VideoSrcType::File:
19 VideoReaderPtr v (new FileReader(type, url));
22 case VideoSrcType::USB:
24 VideoReaderPtr v (new UsbReader(type, url));
33 VideoReader::~VideoReader()
35 LOG_DEBUG("video", "init");
39 UrlReader::UrlReader(VideoSrcType type, const std::string& url) : VideoReader(type, url)
41 LOG_DEBUG(TAG, "UrlReader, open " + url);
43 if (!vcap.isOpened()){
44 LOG_ERROR(TAG, "open video " + url);
45 throw std::runtime_error("Cannot open video url " + url);
47 LOG_DEBUG(TAG, "reader video sourc succeed. ");
50 UrlReader::~UrlReader()
55 bool UrlReader::read(cv::Mat& mat)
57 bool ret = vcap.read(mat);
59 LOG_ERROR(TAG, "blank frame grabbed");
66 //void UrlReader::read()
70 //void FileReader::read()
74 //void UsbReader::read()