From 6540a2a9d69432c4cc475e3b32eae11e9e0ace73 Mon Sep 17 00:00:00 2001 From: chenshijun <csj_sky@126.com> Date: 星期四, 11 四月 2019 20:28:10 +0800 Subject: [PATCH] 1.srs的分辨率在config.json配置 2.单播推流控制,国标摄像机差一个关闭测试 3. 底库字段添加 --- QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp | 70 ++++++++++++++++++++++++++++------- 1 files changed, 56 insertions(+), 14 deletions(-) diff --git a/QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp b/QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp index 9b7b775..40b3a8c 100644 --- a/QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp +++ b/QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp @@ -53,6 +53,36 @@ #ifdef TestCode DBG("waitSignal(\"DecoderImageOK\") after"); #endif + { + if (p_this->m_publishVideoRet) { + if (p_this->videoPublishElement == nullptr) { + string path = appConfig.getStringProperty("srsAddr") + "cam" + p_this->m_chanPubID + ".flv"; + cv::Size size_(appConfig.getIntProperty("pulish.width"), appConfig.getIntProperty("pulish.height")); + int gupIdx = appPref.getIntData("gpu.index"); + DBG("videoPublishpath: " << p_this->m_chanPubID << path << " h:" << size_.height); + p_this->videoPublishElement = new ffmpeg::VideoPublishElement(path, size_, "flv", 25, gupIdx); + p_this->videoPublishElement->start(); + } else { + DBG("videoPublishElement->setImage() : " << p_this->m_chanPubID); + if (!p_this->m_image.empty()) { + p_this->videoPublishElement->setImage(p_this->m_image); + } else { + ERR("m_image.empty()"); + } + } + } else { + if (p_this->videoPublishElement != nullptr) { + DBG("videoPublishElement->stop() :" << p_this->m_chanPubID); + p_this->videoPublishElement->stop(); + p_this->videoPublishElement->wait(); + delete p_this->videoPublishElement; + p_this->videoPublishElement = nullptr; + }else{ + DBG("videoPublishElement null :" << p_this->m_chanPubID); + } + } + } + /****褰曞儚妯″潡浠g爜*****/ p_this->m_picCount++; //鍑犲紶閫変竴寮犳斁鍏edis @@ -204,20 +234,32 @@ } void BASICGB28181::VideoCaptureElementWithRtp::threadFunc() { - - if (m_publishVideoRet) { - if (videoPublishElement == nullptr) { - string path = appConfig.getStringProperty("srsAddr") + "cam" + m_chanPubID + ".flv"; - cv::Size size_(appConfig.getIntProperty("pulish.width"), appConfig.getIntProperty("pulish.height")); - int gupIdx = appPref.getIntData("gpu.index"); - videoPublishElement = new ffmpeg::VideoPublishElement(path, size_, "flv", 25, gupIdx); - } else { - videoPublishElement->stop(); - videoPublishElement->wait(); - delete videoPublishElement; - videoPublishElement = nullptr; - } - } +// { +// if (m_publishVideoRet) { +// if (videoPublishElement == nullptr) { +// string path = appConfig.getStringProperty("srsAddr") + "cam" + m_chanPubID + ".flv"; +// cv::Size size_(appConfig.getIntProperty("pulish.width"), appConfig.getIntProperty("pulish.height")); +// int gupIdx = appPref.getIntData("gpu.index"); +// DBG("videoPublishpath:" << path << " h:" << size_.height << " w:" << size_.width); +// videoPublishElement = new ffmpeg::VideoPublishElement(path, size_, "flv", 25, gupIdx); +// videoPublishElement->start(); +// } else { +// if (!m_image.empty()) { +// videoPublishElement->setImage(m_image); +// } else { +// ERR("m_image.empty()"); +// } +// } +// } else { +// if (videoPublishElement != nullptr) { +// DBG("videoPublishElement->stop()"); +// videoPublishElement->stop(); +// videoPublishElement->wait(); +// delete videoPublishElement; +// videoPublishElement = nullptr; +// } +// } +// } fireConnectors(); } -- Gitblit v1.8.0