新增推理视频流的逻辑

This commit is contained in:
2025-03-14 09:35:44 +08:00
parent 9d369b9898
commit 8478b4a102
2 changed files with 16 additions and 29 deletions

View File

@ -122,7 +122,7 @@ def run_detect_yolo(detect_log_in: ProjectDetectLogIn, session: Session = Depend
return rc.response_error("推理集合中没有内容,请先到推理集合中上传图片")
if detect.file_type == 'img' or detect.file_type == 'video':
detect_log = pds.run_detect_yolo(detect_log_in, detect, train, session)
thread_train = threading.Thread(target=run_event_loop,
thread_train = threading.Thread(target=run_img_loop,
args=(detect_log.pt_url, detect_log.folder_url, detect_log.detect_folder_url,
detect_log.detect_version, detect_log.id, detect_log.detect_id, session,))
thread_train.start()
@ -137,11 +137,20 @@ def run_detect_yolo(detect_log_in: ProjectDetectLogIn, session: Session = Depend
return rc.response_success(msg="执行成功")
def run_event_loop(weights: str, source: str, project: str, name: str, log_id: int, detect_id: int, session: Session):
def run_img_loop(weights: str, source: str, project: str, name: str, log_id: int, detect_id: int, session: Session):
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
# 运行异步函数
loop.run_until_complete(pds.run_commend(weights, source, project, name, log_id, detect_id, session))
loop.run_until_complete(pds.run_detect_img(weights, source, project, name, log_id, detect_id, session))
# 可选: 关闭循环
loop.close()
def run_rtsp_loop(weights_pt: str, rtsp_url: str, data: str, detect_id: int):
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
# 运行异步函数
loop.run_until_complete(pds.run_detect_rtsp(weights_pt, rtsp_url, data, detect_id,))
# 可选: 关闭循环
loop.close()