From 26458587182bf9a2bc10a5fa8e5ab6e41211da74 Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期一, 22 四月 2019 13:46:02 +0800
Subject: [PATCH] 推流按cap的时间来

---
 QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.cpp |   23 ++++++++++++-----------
 1 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.cpp b/QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.cpp
index 38fcecb..7316f37 100644
--- a/QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.cpp
+++ b/QiaoJiaSystem/VideoToImageMulth/RtspCaptureElement.cpp
@@ -49,7 +49,7 @@
             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);
+            videoPublishElement = new ffmpeg::PipeVideoPublishElement(path, size_, "flv", 25, gupIdx);
             videoPublishElement->start();
         } else {
 //            DBG("videoPublishElement->setImage()");
@@ -59,6 +59,7 @@
 
             if (!copyMat.empty()) {
                 videoPublishElement->setImage(copyMat);
+                videoPublishElement->submit();
             } else {
                 DBG("copyMat.empty()");
             }
@@ -76,20 +77,20 @@
     //鍑犲紶閫変竴寮犳斁鍏edis
     m_picCount++;
     if (m_picCount % m_nPicsPickOne != 0) {
-//        return;
+        return;
     } else {
         m_picCount.store(0);
-
-        if (copyMat.empty()) {
-//        ERR("copyMat.empty()");
-            m_capture->retrieveFrame(0, &data, &step, &width, &height, &cn);
-            cv::Mat img(height, width, CV_8UC3, data, step);
-            img.copyTo(copyMat);
-        }
-        std::string imageName = m_capture->GetImageName();
-        m_pManager->SaveImageToRedis(m_camId, imageName, copyMat);
     }
 
+    if (copyMat.empty()) {
+//        ERR("copyMat.empty()");
+        m_capture->retrieveFrame(0, &data, &step, &width, &height, &cn);
+        cv::Mat img(height, width, CV_8UC3, data, step);
+        img.copyTo(copyMat);
+    }
+    std::string imageName = m_capture->GetImageName();
+    m_pManager->SaveImageToRedis(m_camId, imageName, copyMat);
+
     fireConnectors();
 }
 

--
Gitblit v1.8.0