From 12879769af38a00425309e292b2c167afc6612c1 Mon Sep 17 00:00:00 2001 From: pansen <pansen626@sina.com> Date: 星期四, 04 四月 2019 11:27:38 +0800 Subject: [PATCH] 增加点播功能 --- QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.cpp | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.cpp b/QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.cpp index b8d983d..374529b 100644 --- a/QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.cpp +++ b/QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.cpp @@ -9,6 +9,7 @@ #include "RtspAnalysManager.h" //#include <basic/pipe_element/ffmpeg/cap_ffmpeg_impl.hpp> #include "../../../BasicPlatForm/basic/pipe_element/ffmpeg/FfmpegElement.cpp" +#include <basic/util/app/AppConfig.h> RtspCaptureElement::RtspCaptureElement(const std::string &path, const std::string &camId, int fps, int reopenTime, int gpuIndex, RtspAnalysManager *manager) : @@ -56,6 +57,20 @@ img.copyTo(copyMat); std::string imageName = m_capture->GetImageName(); m_pManager->SaveImageToRedis(m_camId, imageName, copyMat); + } + //#todo publish Video + if (m_publishVideoRet) { + if (videoPublishElement == nullptr) { + string path = appConfig.getStringProperty("srsAddr") + "cam" + m_camId + ".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; + } } fireConnectors(); } @@ -114,3 +129,11 @@ m_capture->SetMinMaxVideoSeconds(minSeconds, maxSeconds); } +void RtspCaptureElement::startPublishVideo() { + m_publishVideoRet = true; +} + +void RtspCaptureElement::stopPublishVideo() { + m_publishVideoRet = false; +} + -- Gitblit v1.8.0