miyanhui
2019-02-18 8ac7f0ec5873c84c44d4cb2bc0a1d1247d6ae5ba
QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
@@ -9,6 +9,7 @@
using std::string;
RtspAnalysManager::RtspAnalysManager(LDBTool *_dbTool) : m_lDBTool(nullptr), m_maxCount(50), m_currentCount(0) {
    INFO("MYH DEBUG HERE");
    m_lDBTool=new LDBTool;
    init();
@@ -39,7 +40,7 @@
//初始化函数
void RtspAnalysManager::init() {
    NFO("MYH DEBUG HERE")
    auto lst = m_lDBTool->searchCamDevTableAll();
    Record_Config lst_dev = m_lDBTool->searchConfigTableWithinServerInfo();
@@ -50,6 +51,7 @@
        for (auto item : lst)
        {
            INFO("MYH DEBUG HERE");
            std::string t_camIdex = item.str_cam_dev_id.toStdString();
            std::string rtsp_url = rtspAddrBuild(item.str_ip.toStdString(), 554, item.str_username.toStdString(),
                                                 item.str_password.toStdString(), item.str_brand.toStdString());
@@ -65,7 +67,9 @@
}
RtspAnalysManager::~RtspAnalysManager() {
    INFO("Program Exit");
    for (auto controller: m_controllers) {
        INFO("Delete Controller: "<<controller.first);
        delete controller.second;
    }
    m_controllers.clear();
@@ -84,6 +88,7 @@
    Record_Config lst_dev = m_lDBTool->searchConfigTableWithinServerInfo();
    if (m_controllers.find(index) == m_controllers.end()) {
        INFO("MYH DEBUG HERE");
        if (m_currentCount >= m_maxCount) {
            ERR("addCamera faild, camera's num is full!")
            return -1;
@@ -111,6 +116,7 @@
 * @return 总是0
 */
int RtspAnalysManager::removeCamera(const std::string &index) {
    INFO("MYH DEBUG HERE");
    if (m_controllers.find(index) == m_controllers.end())return -1;
    auto controller = m_controllers[index];
    controller->stop();
@@ -124,6 +130,7 @@
    imgRedis->wait();
    delete imgRedis;
    m_imgRedisControllers.erase(index);
    INFO("MYH DEBUG HERE");
    return 0;
}
@@ -132,6 +139,7 @@
 * @return
 */
int RtspAnalysManager::removeAll() {
    INFO("MYH DEBUG HERE");
    for (auto controller: m_controllers) {
        controller.second->stop();
    }
@@ -140,6 +148,7 @@
        delete controller.second;
    }
    m_controllers.clear();
    INFO("MYH DEBUG HERE");
    for (auto controller: m_imgRedisControllers) {
@@ -153,6 +162,7 @@
    m_currentCount = 0;
    INFO("MYH DEBUG HERE");
    return 0;
}
@@ -191,11 +201,16 @@
//保存视频到RtspImageRedis的队列,由RtspCaptureElement调用
bool RtspAnalysManager::SaveImageToRedis(const std::string& camId,const std::string& imageName,const cv::Mat& img)
{
    INFO("MYH DEBUG HERE");
    auto item = m_imgRedisControllers.find(camId);
    if(item!=m_imgRedisControllers.end())
    {
        INFO("Save Succeed Cam: "<<camId<<" ImageKey: "<<imageName);
        item->second->SaveImage(imageName,img);
    } else {
        ERROR("Save Failed Cam: "<<camId<<" ImageKey: "<<imageName);
    }
    INFO("MYH DEBUG HERE");
    return true;
}