提交 4622b17d authored 作者: blu's avatar blu

feature: max event video length

上级 9d4e746c
...@@ -64,7 +64,7 @@ private: ...@@ -64,7 +64,7 @@ private:
int iid; int iid;
AVFormatContext *pAVFormatInput = nullptr; AVFormatContext *pAVFormatInput = nullptr;
AVCodecContext *pCodecCtx = nullptr; AVCodecContext *pCodecCtx = nullptr;
DetectParam detPara = {25, 500, -1, 3, 3, 30, 0.3, 10}; DetectParam detPara = {25, 500, -1, 3, 3, 30, 0.3, 25};
EventState evtState = EventState::NONE; EventState evtState = EventState::NONE;
// chrono::system_clock::time_point evtStartTm, evtStartTmLast, evtStartTmOrig; // chrono::system_clock::time_point evtStartTm, evtStartTmLast, evtStartTmOrig;
long long evtStartTm = 0, evtStartTmLast = 0, evtStartTmOrig = 0; long long evtStartTm = 0, evtStartTmLast = 0, evtStartTmOrig = 0;
...@@ -619,19 +619,19 @@ private: ...@@ -619,19 +619,19 @@ private:
switch(evtState) { switch(evtState) {
case NONE: { case NONE: {
evtStartTmLast = evtStartTm;
evtStartTmOrig = evtStartTm;
if(hasEvent) { if(hasEvent) {
evtState = PRE; evtState = PRE;
spdlog::debug("state: NONE->PRE ({}, {})", dura, evtCnt); spdlog::debug("state: NONE->PRE ({}, {})", dura, evtCnt);
evtCnt = 0; evtCnt = 0;
evtStartTmLast = evtStartTm;
evtStartTmOrig = evtStartTm;
} }
break; break;
} }
case PRE: { case PRE: {
if(hasEvent) {
evtStartTmLast = evtStartTm; evtStartTmLast = evtStartTm;
evtStartTmOrig = evtStartTm; evtStartTmOrig = evtStartTm;
if(hasEvent) {
if(dura > detPara.pre /*&& evtCnt < detPara.pre*/) { if(dura > detPara.pre /*&& evtCnt < detPara.pre*/) {
spdlog::debug("state: PRE->PRE ({}, {})", dura, evtCnt); spdlog::debug("state: PRE->PRE ({}, {})", dura, evtCnt);
evtState = PRE; evtState = PRE;
...@@ -671,7 +671,6 @@ private: ...@@ -671,7 +671,6 @@ private:
makeEvent(EV_MSG_EVENT_MOTION_END, packetTs); makeEvent(EV_MSG_EVENT_MOTION_END, packetTs);
evtCnt = 0; evtCnt = 0;
makeEvent(EV_MSG_EVENT_MOTION_START, packetTs); makeEvent(EV_MSG_EVENT_MOTION_START, packetTs);
} }
evtStartTmLast = evtStartTm; evtStartTmLast = evtStartTm;
spdlog::debug("state: IN->IN ({}, {})", dura, evtCnt); spdlog::debug("state: IN->IN ({}, {})", dura, evtCnt);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论