| | |
| | | |
| | | |
| | | using std::string; |
| | | void *gRtspAnalysManagerCamera = nullptr; |
| | | |
| | | RtspAnalysManager::RtspAnalysManager(LDBTool *_dbTool) : m_lDBTool(nullptr), m_maxCount(50), m_currentCount(0) { |
| | | INFO("MYH DEBUG HERE"); |
| | | m_lDBTool = new LDBTool; |
| | | // INFO("MYH DEBUG HERE"); |
| | | m_lDBTool = _dbTool; |
| | | init(); |
| | | |
| | | } |
| | |
| | | |
| | | //初始化函数 |
| | | void RtspAnalysManager::init() { |
| | | INFO("MYH DEBUG HERE") |
| | | // INFO("MYH DEBUG HERE") |
| | | |
| | | gRtspAnalysManagerCamera = this; |
| | | DBG("gRtspAnalysManagerCamera ADDR:" << gRtspAnalysManagerCamera); |
| | | |
| | | m_GB28181_Enable = appPref.getIntData("GB28181_Enable"); |
| | | //#todo GB28181 |
| | |
| | | sleep(1); |
| | | } |
| | | } else { |
| | | ERR("searchCamDevTableAll size is 0"); |
| | | ERR("searchCamDevTableByType size is 0"); |
| | | } |
| | | |
| | | } else { |
| | |
| | | appPref.setIntData("n_cut_max_duration", lst_dev.n_cut_max_duration); |
| | | appPref.setIntData("n_cut_min_duration", lst_dev.n_cut_min_duration); |
| | | if (lst.size() > 0) { |
| | | int startCamNO = appPref.getIntData("CamStart") * appPref.getIntData("CamStep"); |
| | | int CamCount = appPref.getIntData("CamStep"); |
| | | INFO("StartCamNO: " << startCamNO << " CamStep: " << CamCount); |
| | | int startCamNO = appPref.getIntData("CamStartNO"); |
| | | int CamCount = appPref.getIntData("CamEndNO") - appPref.getIntData("CamStartNO") + 1; |
| | | INFO("StartCamNO: " << startCamNO << " CamCount: " << CamCount); |
| | | auto itor = lst.begin(); |
| | | |
| | | if (startCamNO >= lst.size()) { |
| | |
| | | // |
| | | // } |
| | | } else { |
| | | ERR("searchCamDevTableAll size is 0"); |
| | | ERR("searchCamDevTableByType size is 0"); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | //#todo end |
| | | if (m_controllers_videoCapElem.find(index) == m_controllers_videoCapElem.end()) { |
| | | INFO("MYH DEBUG HERE"); |
| | | // INFO("MYH DEBUG HERE"); |
| | | if (m_currentCount >= m_maxCount) { |
| | | ERR("addCamera faild, camera's num is full!") |
| | | return -1; |
| | |
| | | * @return |
| | | */ |
| | | int RtspAnalysManager::removeAll() { |
| | | INFO("MYH DEBUG HERE"); |
| | | // INFO("MYH DEBUG HERE"); |
| | | |
| | | if (m_GB28181_Enable) { |
| | | for (auto controller: m_controllers_videoCapElem) { |
| | |
| | | } |
| | | m_controllers.clear(); |
| | | } |
| | | INFO("MYH DEBUG HERE"); |
| | | // INFO("MYH DEBUG HERE"); |
| | | |
| | | m_imgRedisCRwLock.wrlock(); |
| | | for (auto controller: m_imgRedisControllers) { |
| | |
| | | |
| | | |
| | | m_currentCount = 0; |
| | | INFO("MYH DEBUG HERE"); |
| | | // INFO("MYH DEBUG HERE"); |
| | | return 0; |
| | | } |
| | | |
| | |
| | | |
| | | //保存视频到RtspImageRedis的队列,由RtspCaptureElement调用 |
| | | bool RtspAnalysManager::SaveImageToRedis(const std::string &camId, const std::string &imageName, const cv::Mat &img) { |
| | | INFO("MYH DEBUG HERE " << camId); |
| | | // INFO("MYH DEBUG HERE " << camId); |
| | | |
| | | // m_imgRedisCRwLock.rdlock(); |
| | | auto item = m_imgRedisControllers.find(camId); |
| | | if (item != m_imgRedisControllers.end()) { |
| | | INFO("Save Succeed Cam: " << camId << " ImageKey: " << imageName); |
| | | // INFO("Save Succeed Cam: " << camId << " ImageKey: " << imageName); |
| | | item->second->SaveImage(imageName, img); |
| | | } else { |
| | | ERR("Save Failed Cam: " << camId << " ImageKey: " << imageName); |
| | | // ERR("Save Failed Cam: " << camId << " ImageKey: " << imageName); |
| | | } |
| | | // m_imgRedisCRwLock.unlock(); |
| | | INFO("MYH DEBUG HERE"); |
| | | // INFO("MYH DEBUG HERE"); |
| | | return true; |
| | | } |
| | | |