From 01d9022b47e5e20f39ca1115d334c43774378dfc Mon Sep 17 00:00:00 2001 From: zhangmeng <zhangmeng@aiiot.com> Date: 星期三, 25 三月 2020 13:56:16 +0800 Subject: [PATCH] add log for local video --- csrc/wrapper.cpp | 34 ++++++++++++++++++++-------------- 1 files changed, 20 insertions(+), 14 deletions(-) diff --git a/csrc/wrapper.cpp b/csrc/wrapper.cpp index 7ad32f1..8ca7b16 100644 --- a/csrc/wrapper.cpp +++ b/csrc/wrapper.cpp @@ -56,7 +56,7 @@ ,logit_(false) ,fps_(25) ,file_finished_(false) - ,min_duration_(60) + ,min_duration_(0) { makeTheWorld(); } @@ -77,7 +77,7 @@ ,logit_(true) ,fps_(25) ,file_finished_(false) - ,min_duration_(60) + ,min_duration_(0) { makeTheWorld(); logif::CreateLogger(logfile, true); @@ -193,7 +193,8 @@ void Wrapper::run_stream_thread(){ - int64_t rebootime = -1; + int64_t file_rebootime = 0; + int64_t file_frame = 0; while(!stop_stream_.load()){ auto in = init_reader(input_url_.c_str()); @@ -203,8 +204,6 @@ sleep(2); continue; } - - rebootime++; fps_ = in->getFPS(); @@ -224,8 +223,8 @@ bool exist = access(input_url_.c_str(), 0) == 0; if (exist){ wTime <<= 1; + file_rebootime++; } - int64_t file_frame = 0; logIt("WAIT TIME PER FRAME: %d", wTime); @@ -234,6 +233,10 @@ if (in->readPacket(&data->getAVPacket()) != 0){ logIt("read packet error, id: %lld", id); break; + } + if (exist){ + // 璁板綍瑙g爜鐨勬枃浠舵湁澶氬皯甯� + file_frame++; } // 闈為煶瑙嗛 if (in->notVideoAudio(&data->getAVPacket())){ @@ -262,22 +265,25 @@ //鏈湴鏂囦欢澶揩sleep涓�涓� if (exist){ usleep(wTime); - // 璁板綍瑙g爜鐨勬枃浠舵湁澶氬皯甯� - file_frame++; } } deinit_worker(); if (exist) { - if (file_frame == 0 && rebootime > 3){ - file_finished_ = true; - break; - } - if (file_frame < min_duration_ * fps_){ + // 涓夋涓�甯ч兘娌¤В鍑烘潵锛岄��鍑� + if (file_frame == 0 && file_rebootime < 3){ + logIt("libcffmpeg.so-> run %lld time, current frames %lld", file_rebootime, file_frame); continue; } - logIt("libcffmpeg.so-> local file %s run %lld time, all frames %lld", input_url_.c_str(), rebootime, file_frame); + // 鏈�灏忛渶瑕佽В鍑哄灏戝抚 + if (file_frame < min_duration_ * fps_){ + logIt("libcffmpeg.so-> run %lld time, current frames %lld, mind %d, fps: %d", + file_rebootime, file_frame, min_duration_, fps_); + continue; + } + logIt("libcffmpeg.so-> local file %s run %lld time, all frames %lld, mind %d, fps: %d", + input_url_.c_str(), file_rebootime, file_frame, min_duration_, fps_); file_finished_ = true; break; } -- Gitblit v1.8.0