Commit beec83ee3e7c65c6803f364728bb711727e74292
1 parent
746db74c
添加发送录制消息的线程
Showing
11 changed files
with
51 additions
and
126 deletions
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 | 156 | pVpcUtil->init(m_devId); |
157 | 157 | |
158 | 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 | 172 | m_timing_snapshot_thread = new std::thread( |
166 | 173 | [](void* arg) |
... | ... | @@ -510,6 +517,11 @@ void CMultiSourceProcess::CloseAllTask(){ |
510 | 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 | 525 | if(m_timing_snapshot_thread != nullptr && m_timing_snapshot_thread->joinable()){ |
514 | 526 | m_timing_snapshot_thread->join(); |
515 | 527 | m_timing_snapshot_thread = nullptr; |
... | ... | @@ -1298,4 +1310,31 @@ void CMultiSourceProcess::face_locus_finished(const OBJ_KEY obj_key) { |
1298 | 1310 | m_save_snapshot_reprocessing->reprocessing_process_wo_locus_async(roi_save_info); |
1299 | 1311 | |
1300 | 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 | 1341 | \ No newline at end of file | ... | ... |
src/ai_platform/MultiSourceProcess.h
... | ... | @@ -51,6 +51,8 @@ public: |
51 | 51 | void task_finished(const string task_id); |
52 | 52 | void decoded_cbk(DeviceMemory* devFrame); |
53 | 53 | void timing_snapshot_thread(); |
54 | + // 发送录制消息给任务 | |
55 | + int recode_thread(); | |
54 | 56 | |
55 | 57 | private: |
56 | 58 | // 算法相关 |
... | ... | @@ -120,4 +122,8 @@ private: |
120 | 122 | |
121 | 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 | 130 | \ No newline at end of file | ... | ... |
src/ai_platform/common_header.h