From 5bf0020b189b2bc8c64737c2af4ea77c3e8f5612 Mon Sep 17 00:00:00 2001 From: xuxiuxi <554325746@qq.com> Date: 星期五, 08 三月 2019 22:24:27 +0800 Subject: [PATCH] Merge branch 'yw.1.2.fixbug' of http://192.168.1.226:10010/r/development/c++ into yw.1.2.fixbug --- QiaoJiaSystem/StructureApp/NewRecordVideoElement.cpp | 67 +++++++++++++++++++++------------ 1 files changed, 43 insertions(+), 24 deletions(-) diff --git a/QiaoJiaSystem/StructureApp/NewRecordVideoElement.cpp b/QiaoJiaSystem/StructureApp/NewRecordVideoElement.cpp index 280ce50..3b8498f 100644 --- a/QiaoJiaSystem/StructureApp/NewRecordVideoElement.cpp +++ b/QiaoJiaSystem/StructureApp/NewRecordVideoElement.cpp @@ -5,29 +5,38 @@ //#todo index int -> string NewRecordVideoElement::NewRecordVideoElement(std::string camid) : //videoEncoderElement(cv::Size(1920, 1080), 5, 0), -camID(camid) +camID(camid), +m_bSaveWH(false) { // basicPath(); + //isRecord=false; m_cutPath= appPref.getStringData("user.loop.absolute.path"); - recordInit(60,360); + + recordInit(appPref.getIntData("n_cut_min_duration"),appPref.getIntData("n_cut_max_duration")); } NewRecordVideoElement::~NewRecordVideoElement() { std::queue<ImgInfo> empty; empty.swap(m_imgBufQue); -//m_imgBufQue.clear(); + } std::string NewRecordVideoElement::startRecord() { -// ImgInfo info=m_HiredisTool.getImage(camID); + + ImgInfo info; getImg(info); std::string srcPath= getFileName(info.time); m_filename=srcPath; - DBG("m_filename: " << m_filename); + // DBG("m_filename: " << m_filename); + if(!m_bSaveWH) + { + m_bSaveWH=m_hiredisTool.hashSet(camID,"width",info.img.cols) && m_hiredisTool.hashSet(camID,"height",info.img.rows); + DBG("m_bSaveWH="<<m_bSaveWH); + } m_hiredisTool.pushImageBuf(m_filename,info.img); m_hiredisTool.addFileInfo(m_filename,RECORD_DOING); @@ -38,12 +47,13 @@ ImgInfo info; getImg(info); - DBG("m_filename: " << m_filename); - DBG("recordDelay:" << recordDelay); - DBG("videoLength:" << videoLength); - DBG("sdkTrigger:" << sdkTrigger); +// DBG("m_filename: " << m_filename); +// DBG("recordDelay:" << recordDelay); +// DBG("videoLength:" << videoLength); +// DBG("sdkTrigger:" << sdkTrigger); m_hiredisTool.pushImageBuf(m_filename,info.img); m_hiredisTool.addFileInfo(m_filename,RECORD_ENDING); + } void NewRecordVideoElement::doRecord() { @@ -80,7 +90,7 @@ QDateTime dt = QDateTime::fromString(QString::fromStdString(timeStamp), "yyyy-MM-dd hh:mm:ss:zzz"); std::string t_strTime=dt.toString("yyyyMMddhh").toStdString(); - DBG("t_strTime="<<t_strTime); + // DBG("t_strTime="<<t_strTime); t_FilePath.append(camID + "/" + t_strTime.substr(0, 6)+ "/" +t_strTime.substr(6, 2) + "/"); //YYYYMMDDHH t_FilePath.append(t_strTime.substr(0,10)+ "/"); @@ -93,36 +103,43 @@ } void NewRecordVideoElement::pushImgBuf(const std::string& time,cv::Mat& img) { +// std::string tmp="camId="+camID+"pushImgBuf"; +// ClockTimer cl(tmp); ImgInfo info; img.copyTo(info.img); // info.img=img; info.time=time; m_imgBufQue.push(info); + // if(isRecord) + // DBG("camId="<<camID<<"pushtime="<<info.time); // int size=m_imgBufQue.size(); // DBG("m_imgBufQue size="<<size); } void NewRecordVideoElement::getImg(ImgInfo& info) { +// std::string tmp="camId="+camID+"getImg"; +// ClockTimer cl(tmp); info=m_imgBufQue.front(); int size=m_imgBufQue.size(); - DBG("m_imgBufQue size="<<size<<" camId="<<camID<<" fileMin="<<fileMin/2); +// DBG("m_imgBufQue size="<<size<<" camId="<<camID<<" fileMin="<<fileMin/2); if(size>fileMin/2) { m_imgBufQue.pop(); } - - - - } - void NewRecordVideoElement::threadFunc() - { -// Record(); - } - void NewRecordVideoElement::threadInitial() - { +// if(isRecord) +// DBG("camId="<<camID<<"gettime="<<info.time); } +// void NewRecordVideoElement::threadFunc() +// { +// Record(); +// } +// void NewRecordVideoElement::threadInitial() +// { + + +// } void NewRecordVideoElement::Record() { switch(recordStatus) @@ -193,9 +210,11 @@ } } void NewRecordVideoElement::setSdkTrigger(bool isTrigger) { +// std::string tmp="camId="+camID+"setSdkTrigger"; +// ClockTimer cl(tmp); if(isTrigger) { - DBG("setSdkTrigger time=" << AppUtil::getTimeUSecString()); +// DBG("setSdkTrigger time=" << AppUtil::getTimeUSecString()); triggerDelay = 0; sdkTrigger = true; } @@ -213,8 +232,8 @@ void NewRecordVideoElement::recordInit(int videoMin, int videoMax) { sdkTrigger = false; - fileMin = videoMin; - fileMax = videoMax; + fileMin = videoMin*8;//fps=8 + fileMax = videoMax*8; triggerDelay = fileMin/2; recordStatus = RECORD_STOP; -- Gitblit v1.8.0