Commit beec83ee3e7c65c6803f364728bb711727e74292

Authored by Hu Chunming
1 parent 746db74c

添加发送录制消息的线程

bin/logs/main_2023_08_10.log deleted
1 -MultiSourceProcess.cpp(86): [I 08/10/23 15:01:27.944 4109495 4109495 InitAlgorthim] 编译时间:Aug 10 2023 14:48:49  
2 -VPTProcess.cpp(30): [I 08/10/23 15:01:28.839 4109495 4109495 init] vpt 版本:vpt_vdec_arm_310p_v0.0.2.20230613_without_timelimit 模型路径:./models/vpt230323_310p.om  
3 -MultiSourceProcess.cpp(585): [I 08/10/23 15:01:29.145 4109495 4109723 algorthim_process_thread] algorthim_process_thread start...  
4 -MultiSourceProcess.cpp(955): [I 08/10/23 15:01:29.146 4109495 4109725 timing_snapshot_thread] timing_snapshot_thread start.  
5 -MultiSourceProcess.cpp(181): [I 08/10/23 15:01:29.146 4109495 4109495 InitAlgorthim] InitAlgorthim succeed !  
6 -MultiSourceProcess.cpp(190): [I 08/10/23 15:01:29.146 4109495 4109495 AddMqConn] 初始化MQ队列  
7 -MultiSourceProcess.cpp(202): [I 08/10/23 15:01:29.225 4109495 4109495 AddMqConn] 为报警类 绑定MQ回调  
8 -MultiSourceProcess.cpp(207): [I 08/10/23 15:01:29.225 4109495 4109495 AddMqConn] 为报警类 绑定MQ回调 成功!  
9 -MultiSourceProcess.cpp(210): [I 08/10/23 15:01:29.225 4109495 4109495 AddMqConn] 初始化MQ队列成功!  
10 -MultiSourceProcess.cpp(467): [I 08/10/23 15:01:34.059 4109495 4109495 SnapShot] begin SnapShot task: test_task_id_default  
11 -MultiSourceProcess.cpp(430): [I 08/10/23 15:01:34.059 4109495 4109495 snapshot_task] snap in task  
12 -DecoderManager.cpp(467): [E 08/10/23 15:01:34.059 4109495 4109495 snapshot_in_task] 没有找到name为test_task_id_default的解码器  
13 -MultiSourceProcess.cpp(462): [E 08/10/23 15:01:34.059 4109495 4109495 snapshot_task] failed!  
14 -  
15 -MultiSourceProcess.cpp(433): [I 08/10/23 15:01:34.059 4109495 4109495 snapshot_task] snap out task  
16 -DvppDecoder.cpp(151): [I 08/10/23 15:01:35.359 4109495 4109495 init_FFmpeg] []- init ffmpeg success! input:rtsp://admin:ad123456@192.168.60.165:554/cam/realmonitor?channel=1&subtype=0 frame_width:1920 frame_height:1080 fps:25  
17 -DvppDecoder.cpp(165): [I 08/10/23 15:01:35.359 4109495 4109495 init_vdpp] []- Init device start...  
18 -DvppDecoder.cpp(210): [I 08/10/23 15:01:35.359 4109495 4109495 init_vdpp] []- init vdpp success! device:0 channel:0  
19 -DecoderManager.cpp(509): [I 08/10/23 15:01:35.359 4109495 4109495 snapshot_out_task] snapshot 解码器初始化成功  
20 -DvppDecoder.cpp(852): [I 08/10/23 15:01:35.423 4109495 4109988 sendVdecEos] []- send eos  
21 -DvppDecoder.cpp(474): [I 08/10/23 15:01:35.460 4109495 4109989 doProcessReport] doProcessReport exit.  
22 -DvppDecoder.cpp(698): [I 08/10/23 15:01:35.461 4109495 4109988 decode_thread] []- decode thread exit.  
23 -DvppDecoder.cpp(432): [I 08/10/23 15:01:35.461 4109495 4109987 read_thread] []- read thread exit.  
24 -MultiSourceProcess.cpp(458): [I 08/10/23 15:01:35.471 4109495 4109495 snapshot_task] snap successed!  
25 -MultiSourceProcess.cpp(496): [I 08/10/23 15:01:35.471 4109495 4109495 SnapShot] SnapShot task: test_task_id_default success  
26 -MultiSourceProcess.cpp(467): [I 08/10/23 15:01:35.471 4109495 4109495 SnapShot] begin SnapShot task: test_task_id_default  
27 -MultiSourceProcess.cpp(430): [I 08/10/23 15:01:35.472 4109495 4109495 snapshot_task] snap in task  
28 -DecoderManager.cpp(467): [E 08/10/23 15:01:35.472 4109495 4109495 snapshot_in_task] 没有找到name为test_task_id_default的解码器  
29 -MultiSourceProcess.cpp(462): [E 08/10/23 15:01:35.472 4109495 4109495 snapshot_task] failed!  
30 -  
31 -MultiSourceProcess.cpp(433): [I 08/10/23 15:01:35.472 4109495 4109495 snapshot_task] snap out task  
32 -DvppDecoder.cpp(151): [I 08/10/23 15:01:36.985 4109495 4109495 init_FFmpeg] []- init ffmpeg success! input:rtsp://admin:ad123456@192.168.60.165:554/cam/realmonitor?channel=1&subtype=0 frame_width:1920 frame_height:1080 fps:25  
33 -DvppDecoder.cpp(165): [I 08/10/23 15:01:36.985 4109495 4109495 init_vdpp] []- Init device start...  
34 -DvppDecoder.cpp(210): [I 08/10/23 15:01:36.986 4109495 4109495 init_vdpp] []- init vdpp success! device:0 channel:0  
35 -DecoderManager.cpp(509): [I 08/10/23 15:01:36.986 4109495 4109495 snapshot_out_task] snapshot 解码器初始化成功  
36 -DvppDecoder.cpp(852): [I 08/10/23 15:01:37.043 4109495 4110068 sendVdecEos] []- send eos  
37 -DvppDecoder.cpp(474): [I 08/10/23 15:01:37.083 4109495 4110069 doProcessReport] doProcessReport exit.  
38 -DvppDecoder.cpp(698): [I 08/10/23 15:01:37.085 4109495 4110068 decode_thread] []- decode thread exit.  
39 -DvppDecoder.cpp(432): [I 08/10/23 15:01:37.085 4109495 4110067 read_thread] []- read thread exit.  
40 -MultiSourceProcess.cpp(458): [I 08/10/23 15:01:37.094 4109495 4109495 snapshot_task] snap successed!  
41 -MultiSourceProcess.cpp(496): [I 08/10/23 15:01:37.094 4109495 4109495 SnapShot] SnapShot task: test_task_id_default success  
42 -MultiSourceProcess.cpp(467): [I 08/10/23 15:01:37.094 4109495 4109495 SnapShot] begin SnapShot task: test_task_id_default  
43 -MultiSourceProcess.cpp(430): [I 08/10/23 15:01:37.094 4109495 4109495 snapshot_task] snap in task  
44 -DecoderManager.cpp(467): [E 08/10/23 15:01:37.094 4109495 4109495 snapshot_in_task] 没有找到name为test_task_id_default的解码器  
45 -MultiSourceProcess.cpp(462): [E 08/10/23 15:01:37.094 4109495 4109495 snapshot_task] failed!  
46 -  
47 -MultiSourceProcess.cpp(433): [I 08/10/23 15:01:37.094 4109495 4109495 snapshot_task] snap out task  
48 -DvppDecoder.cpp(151): [I 08/10/23 15:01:38.391 4109495 4109495 init_FFmpeg] []- init ffmpeg success! input:rtsp://admin:ad123456@192.168.60.165:554/cam/realmonitor?channel=1&subtype=0 frame_width:1920 frame_height:1080 fps:25  
49 -DvppDecoder.cpp(165): [I 08/10/23 15:01:38.391 4109495 4109495 init_vdpp] []- Init device start...  
50 -DvppDecoder.cpp(210): [I 08/10/23 15:01:38.393 4109495 4109495 init_vdpp] []- init vdpp success! device:0 channel:0  
51 -DecoderManager.cpp(509): [I 08/10/23 15:01:38.393 4109495 4109495 snapshot_out_task] snapshot 解码器初始化成功  
52 -DvppDecoder.cpp(852): [I 08/10/23 15:01:38.439 4109495 4110116 sendVdecEos] []- send eos  
53 -DvppDecoder.cpp(474): [I 08/10/23 15:01:38.475 4109495 4110117 doProcessReport] doProcessReport exit.  
54 -DvppDecoder.cpp(698): [I 08/10/23 15:01:38.477 4109495 4110116 decode_thread] []- decode thread exit.  
55 -DvppDecoder.cpp(432): [I 08/10/23 15:01:38.477 4109495 4110115 read_thread] []- read thread exit.  
56 -MultiSourceProcess.cpp(458): [I 08/10/23 15:01:38.490 4109495 4109495 snapshot_task] snap successed!  
57 -MultiSourceProcess.cpp(496): [I 08/10/23 15:01:38.491 4109495 4109495 SnapShot] SnapShot task: test_task_id_default success  
58 -MultiSourceProcess.cpp(467): [I 08/10/23 15:01:38.491 4109495 4109495 SnapShot] begin SnapShot task: test_task_id_default  
59 -MultiSourceProcess.cpp(430): [I 08/10/23 15:01:38.491 4109495 4109495 snapshot_task] snap in task  
60 -DecoderManager.cpp(467): [E 08/10/23 15:01:38.491 4109495 4109495 snapshot_in_task] 没有找到name为test_task_id_default的解码器  
61 -MultiSourceProcess.cpp(462): [E 08/10/23 15:01:38.491 4109495 4109495 snapshot_task] failed!  
62 -  
63 -MultiSourceProcess.cpp(433): [I 08/10/23 15:01:38.491 4109495 4109495 snapshot_task] snap out task  
64 -DvppDecoder.cpp(151): [I 08/10/23 15:01:39.817 4109495 4109495 init_FFmpeg] []- init ffmpeg success! input:rtsp://admin:ad123456@192.168.60.165:554/cam/realmonitor?channel=1&subtype=0 frame_width:1920 frame_height:1080 fps:25  
65 -DvppDecoder.cpp(165): [I 08/10/23 15:01:39.817 4109495 4109495 init_vdpp] []- Init device start...  
66 -DvppDecoder.cpp(210): [I 08/10/23 15:01:39.818 4109495 4109495 init_vdpp] []- init vdpp success! device:0 channel:0  
67 -DecoderManager.cpp(509): [I 08/10/23 15:01:39.818 4109495 4109495 snapshot_out_task] snapshot 解码器初始化成功  
68 -DvppDecoder.cpp(852): [I 08/10/23 15:01:39.883 4109495 4110159 sendVdecEos] []- send eos  
69 -DvppDecoder.cpp(474): [I 08/10/23 15:01:39.900 4109495 4110160 doProcessReport] doProcessReport exit.  
70 -DvppDecoder.cpp(698): [I 08/10/23 15:01:39.901 4109495 4110159 decode_thread] []- decode thread exit.  
71 -DvppDecoder.cpp(432): [I 08/10/23 15:01:39.901 4109495 4110158 read_thread] []- read thread exit.  
72 -MultiSourceProcess.cpp(458): [I 08/10/23 15:01:39.911 4109495 4109495 snapshot_task] snap successed!  
73 -MultiSourceProcess.cpp(496): [I 08/10/23 15:01:39.911 4109495 4109495 SnapShot] SnapShot task: test_task_id_default success  
74 -MultiSourceProcess.cpp(467): [I 08/10/23 15:01:39.911 4109495 4109495 SnapShot] begin SnapShot task: test_task_id_default  
75 -MultiSourceProcess.cpp(430): [I 08/10/23 15:01:39.911 4109495 4109495 snapshot_task] snap in task  
76 -DecoderManager.cpp(467): [E 08/10/23 15:01:39.911 4109495 4109495 snapshot_in_task] 没有找到name为test_task_id_default的解码器  
77 -MultiSourceProcess.cpp(462): [E 08/10/23 15:01:39.911 4109495 4109495 snapshot_task] failed!  
78 -  
79 -MultiSourceProcess.cpp(433): [I 08/10/23 15:01:39.911 4109495 4109495 snapshot_task] snap out task  
80 -DvppDecoder.cpp(151): [I 08/10/23 15:01:41.207 4109495 4109495 init_FFmpeg] []- init ffmpeg success! input:rtsp://admin:ad123456@192.168.60.165:554/cam/realmonitor?channel=1&subtype=0 frame_width:1920 frame_height:1080 fps:25  
81 -DvppDecoder.cpp(165): [I 08/10/23 15:01:41.207 4109495 4109495 init_vdpp] []- Init device start...  
82 -DvppDecoder.cpp(210): [I 08/10/23 15:01:41.208 4109495 4109495 init_vdpp] []- init vdpp success! device:0 channel:0  
83 -DecoderManager.cpp(509): [I 08/10/23 15:01:41.208 4109495 4109495 snapshot_out_task] snapshot 解码器初始化成功  
84 -DvppDecoder.cpp(852): [I 08/10/23 15:01:41.263 4109495 4110226 sendVdecEos] []- send eos  
85 -DvppDecoder.cpp(474): [I 08/10/23 15:01:41.308 4109495 4110227 doProcessReport] doProcessReport exit.  
86 -DvppDecoder.cpp(698): [I 08/10/23 15:01:41.309 4109495 4110226 decode_thread] []- decode thread exit.  
87 -DvppDecoder.cpp(432): [I 08/10/23 15:01:41.310 4109495 4110225 read_thread] []- read thread exit.  
88 -MultiSourceProcess.cpp(458): [I 08/10/23 15:01:41.319 4109495 4109495 snapshot_task] snap successed!  
89 -MultiSourceProcess.cpp(496): [I 08/10/23 15:01:41.319 4109495 4109495 SnapShot] SnapShot task: test_task_id_default success  
90 -MultiSourceProcess.cpp(467): [I 08/10/23 15:01:41.319 4109495 4109495 SnapShot] begin SnapShot task: test_task_id_default  
91 -MultiSourceProcess.cpp(430): [I 08/10/23 15:01:41.319 4109495 4109495 snapshot_task] snap in task  
92 -DecoderManager.cpp(467): [E 08/10/23 15:01:41.319 4109495 4109495 snapshot_in_task] 没有找到name为test_task_id_default的解码器  
93 -MultiSourceProcess.cpp(462): [E 08/10/23 15:01:41.319 4109495 4109495 snapshot_task] failed!  
94 -  
95 -MultiSourceProcess.cpp(433): [I 08/10/23 15:01:41.319 4109495 4109495 snapshot_task] snap out task  
96 -DvppDecoder.cpp(151): [I 08/10/23 15:01:42.606 4109495 4109495 init_FFmpeg] []- init ffmpeg success! input:rtsp://admin:ad123456@192.168.60.165:554/cam/realmonitor?channel=1&subtype=0 frame_width:1920 frame_height:1080 fps:25  
97 -DvppDecoder.cpp(165): [I 08/10/23 15:01:42.606 4109495 4109495 init_vdpp] []- Init device start...  
98 -DvppDecoder.cpp(210): [I 08/10/23 15:01:42.606 4109495 4109495 init_vdpp] []- init vdpp success! device:0 channel:0  
99 -DecoderManager.cpp(509): [I 08/10/23 15:01:42.607 4109495 4109495 snapshot_out_task] snapshot 解码器初始化成功  
100 -DvppDecoder.cpp(852): [I 08/10/23 15:01:42.671 4109495 4110277 sendVdecEos] []- send eos  
101 -DvppDecoder.cpp(474): [I 08/10/23 15:01:42.683 4109495 4110278 doProcessReport] doProcessReport exit.  
102 -DvppDecoder.cpp(698): [I 08/10/23 15:01:42.685 4109495 4110277 decode_thread] []- decode thread exit.  
103 -DvppDecoder.cpp(432): [I 08/10/23 15:01:42.685 4109495 4110276 read_thread] []- read thread exit.  
104 -MultiSourceProcess.cpp(458): [I 08/10/23 15:01:42.694 4109495 4109495 snapshot_task] snap successed!  
105 -MultiSourceProcess.cpp(496): [I 08/10/23 15:01:42.695 4109495 4109495 SnapShot] SnapShot task: test_task_id_default success  
106 -MultiSourceProcess.cpp(467): [I 08/10/23 15:01:42.695 4109495 4109495 SnapShot] begin SnapShot task: test_task_id_default  
107 -MultiSourceProcess.cpp(430): [I 08/10/23 15:01:42.695 4109495 4109495 snapshot_task] snap in task  
108 -DecoderManager.cpp(467): [E 08/10/23 15:01:42.695 4109495 4109495 snapshot_in_task] 没有找到name为test_task_id_default的解码器  
109 -MultiSourceProcess.cpp(462): [E 08/10/23 15:01:42.695 4109495 4109495 snapshot_task] failed!  
110 -  
111 -MultiSourceProcess.cpp(433): [I 08/10/23 15:01:42.695 4109495 4109495 snapshot_task] snap out task  
112 -DvppDecoder.cpp(151): [I 08/10/23 15:01:44.031 4109495 4109495 init_FFmpeg] []- init ffmpeg success! input:rtsp://admin:ad123456@192.168.60.165:554/cam/realmonitor?channel=1&subtype=0 frame_width:1920 frame_height:1080 fps:25  
113 -DvppDecoder.cpp(165): [I 08/10/23 15:01:44.031 4109495 4109495 init_vdpp] []- Init device start...  
114 -DvppDecoder.cpp(210): [I 08/10/23 15:01:44.032 4109495 4109495 init_vdpp] []- init vdpp success! device:0 channel:0  
115 -DecoderManager.cpp(509): [I 08/10/23 15:01:44.032 4109495 4109495 snapshot_out_task] snapshot 解码器初始化成功  
116 -DvppDecoder.cpp(852): [I 08/10/23 15:01:44.089 4109495 4110331 sendVdecEos] []- send eos  
117 -DvppDecoder.cpp(474): [I 08/10/23 15:01:44.128 4109495 4110332 doProcessReport] doProcessReport exit.  
118 -DvppDecoder.cpp(698): [I 08/10/23 15:01:44.129 4109495 4110331 decode_thread] []- decode thread exit.  
119 -DvppDecoder.cpp(432): [I 08/10/23 15:01:44.129 4109495 4110330 read_thread] []- read thread exit.  
120 -MultiSourceProcess.cpp(458): [I 08/10/23 15:01:44.139 4109495 4109495 snapshot_task] snap successed!  
121 -MultiSourceProcess.cpp(496): [I 08/10/23 15:01:44.139 4109495 4109495 SnapShot] SnapShot task: test_task_id_default success  
bin/res/video_snapshot/test_task_id_default_snap_1691650894059.jpg deleted

610 KB

bin/res/video_snapshot/test_task_id_default_snap_1691650895472.jpg deleted

615 KB

bin/res/video_snapshot/test_task_id_default_snap_1691650897094.jpg deleted

619 KB

bin/res/video_snapshot/test_task_id_default_snap_1691650898491.jpg deleted

633 KB

bin/res/video_snapshot/test_task_id_default_snap_1691650899911.jpg deleted

634 KB

bin/res/video_snapshot/test_task_id_default_snap_1691650901319.jpg deleted

632 KB

bin/res/video_snapshot/test_task_id_default_snap_1691650902695.jpg deleted

633 KB

src/ai_platform/MultiSourceProcess.cpp
@@ -156,11 +156,18 @@ int CMultiSourceProcess::InitAlgorthim(tsl_aiplatform_param vptParam){ @@ -156,11 +156,18 @@ int CMultiSourceProcess::InitAlgorthim(tsl_aiplatform_param vptParam){
156 pVpcUtil->init(m_devId); 156 pVpcUtil->init(m_devId);
157 157
158 m_pAlgorthimThread = new thread([](void* arg) { 158 m_pAlgorthimThread = new thread([](void* arg) {
159 - CMultiSourceProcess* process = (CMultiSourceProcess*)arg ;  
160 - process->algorthim_process_thread();  
161 - return (void*)0;  
162 - }  
163 - , this); 159 + CMultiSourceProcess* process = (CMultiSourceProcess*)arg ;
  160 + process->algorthim_process_thread();
  161 + return (void*)0;
  162 + }
  163 + , this);
  164 +
  165 + m_recode_thread = new thread([](void* arg) {
  166 + CMultiSourceProcess* process = (CMultiSourceProcess*)arg ;
  167 + process->recode_thread();
  168 + return (void*)0;
  169 + }
  170 + , this);
164 171
165 m_timing_snapshot_thread = new std::thread( 172 m_timing_snapshot_thread = new std::thread(
166 [](void* arg) 173 [](void* arg)
@@ -510,6 +517,11 @@ void CMultiSourceProcess::CloseAllTask(){ @@ -510,6 +517,11 @@ void CMultiSourceProcess::CloseAllTask(){
510 m_pAlgorthimThread = nullptr; 517 m_pAlgorthimThread = nullptr;
511 } 518 }
512 519
  520 + if(m_recode_thread){
  521 + m_recode_thread->join();
  522 + m_recode_thread = nullptr;
  523 + }
  524 +
513 if(m_timing_snapshot_thread != nullptr && m_timing_snapshot_thread->joinable()){ 525 if(m_timing_snapshot_thread != nullptr && m_timing_snapshot_thread->joinable()){
514 m_timing_snapshot_thread->join(); 526 m_timing_snapshot_thread->join();
515 m_timing_snapshot_thread = nullptr; 527 m_timing_snapshot_thread = nullptr;
@@ -1298,4 +1310,31 @@ void CMultiSourceProcess::face_locus_finished(const OBJ_KEY obj_key) { @@ -1298,4 +1310,31 @@ void CMultiSourceProcess::face_locus_finished(const OBJ_KEY obj_key) {
1298 m_save_snapshot_reprocessing->reprocessing_process_wo_locus_async(roi_save_info); 1310 m_save_snapshot_reprocessing->reprocessing_process_wo_locus_async(roi_save_info);
1299 1311
1300 _total_face_snapshot_info.erase(obj_key); 1312 _total_face_snapshot_info.erase(obj_key);
  1313 +}
  1314 +
  1315 +int CMultiSourceProcess::recode_thread() {
  1316 + LOG_INFO("recode_thread start...");
  1317 +
  1318 + while(true) {
  1319 +
  1320 + if(m_bfinish){
  1321 + break;
  1322 + }
  1323 +
  1324 + m_recoderinfo_queue_mtx.lock();
  1325 + if(m_recoderinfo_queue.size() <= 0) {
  1326 + m_recoderinfo_queue_mtx.unlock();
  1327 + std::this_thread::sleep_for(std::chrono::milliseconds(5));
  1328 + continue;
  1329 + }
  1330 +
  1331 + RecoderInfo info = m_recoderinfo_queue.front();
  1332 + m_recoderinfo_queue.pop_front();
  1333 + m_recoderinfo_queue_mtx.unlock();
  1334 +
  1335 + DecoderManager* pDecManager = DecoderManager::getInstance();
  1336 + pDecManager->doRecode(info);
  1337 + }
  1338 +
  1339 + LOG_INFO("recode_thread end.");
1301 } 1340 }
1302 \ No newline at end of file 1341 \ No newline at end of file
src/ai_platform/MultiSourceProcess.h
@@ -51,6 +51,8 @@ public: @@ -51,6 +51,8 @@ public:
51 void task_finished(const string task_id); 51 void task_finished(const string task_id);
52 void decoded_cbk(DeviceMemory* devFrame); 52 void decoded_cbk(DeviceMemory* devFrame);
53 void timing_snapshot_thread(); 53 void timing_snapshot_thread();
  54 + // 发送录制消息给任务
  55 + int recode_thread();
54 56
55 private: 57 private:
56 // 算法相关 58 // 算法相关
@@ -120,4 +122,8 @@ private: @@ -120,4 +122,8 @@ private:
120 122
121 face_det_ai_engine m_face_det_ai_engine; // 人脸检测 123 face_det_ai_engine m_face_det_ai_engine; // 人脸检测
122 124
  125 + deque<RecoderInfo> m_recoderinfo_queue;
  126 + mutex m_recoderinfo_queue_mtx;
  127 + thread* m_recode_thread {nullptr};
  128 +
123 }; 129 };
124 \ No newline at end of file 130 \ No newline at end of file
src/ai_platform/common_header.h
@@ -36,6 +36,7 @@ struct RecoderInfo { @@ -36,6 +36,7 @@ struct RecoderInfo {
36 std::string task_id; 36 std::string task_id;
37 std::string object_id; 37 std::string object_id;
38 unsigned long long frame_nb; 38 unsigned long long frame_nb;
  39 + std::string mq_info;
39 }; 40 };
40 41
41 #endif // ___COMMON_HEADER_H__ 42 #endif // ___COMMON_HEADER_H__
42 \ No newline at end of file 43 \ No newline at end of file