From 967f783ab6f61b41adffe222107a0212e0f45344 Mon Sep 17 00:00:00 2001 From: zqc <835569504@qq.com> Date: Thu, 26 Feb 2026 14:03:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86camera=5Fconfig=E6=8F=90=E5=8F=96?= =?UTF-8?q?=E5=88=B0=E5=8D=95=E7=8B=AC=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/camera_config.py | 8 ++++++++ rtsp_service_ws_kadian.py | 17 +++-------------- 2 files changed, 11 insertions(+), 14 deletions(-) create mode 100644 common/camera_config.py diff --git a/common/camera_config.py b/common/camera_config.py new file mode 100644 index 0000000..928010c --- /dev/null +++ b/common/camera_config.py @@ -0,0 +1,8 @@ +from dataclasses import dataclass + +@dataclass +class CameraConfig: + id: int + name: str + index: str + params: dict = None # 额外参数字典,可选 diff --git a/rtsp_service_ws_kadian.py b/rtsp_service_ws_kadian.py index edf6068..65a1ac1 100644 --- a/rtsp_service_ws_kadian.py +++ b/rtsp_service_ws_kadian.py @@ -12,7 +12,9 @@ import yaml from dataclasses import dataclass + from biz.checkpoint.checkpoint_biz import FrameProcessorWorker +from common.camera_config import CameraConfig from test_cam import get_camera_preview_url from utils.web_socket_sender import WebSocketSender @@ -23,19 +25,6 @@ WS_HOST = "0.0.0.0" WS_PORT = 8765 - - -# ========================= 数据结构 ========================= -@dataclass -class CameraConfig: - id: int - name: str - index: str - rtsp_url: str - params: dict = None # 额外参数字典,可选 - - - # ========================= RTSP 抓流线程 ========================= class RTSPCaptureWorker(threading.Thread): def __init__(self, camera_cfg: CameraConfig, raw_queue: queue.Queue, stop_event: threading.Event): @@ -185,7 +174,7 @@ class RTSPService: def __init__(self, config_path: str = "config.yaml"): with open(config_path, "r", encoding="utf-8") as f: cfg = yaml.safe_load(f) - self.cameras = [CameraConfig(id=c["id"], name=c.get("name", f"cam_{c['id']}"), index = c["index"], rtsp_url=c["rtsp_url"], params=c.get("params")) + self.cameras = [CameraConfig(id=c["id"], name=c.get("name", f"cam_{c['id']}"), index = c["index"], params=c.get("params")) for c in cfg.get("cameras", [])] self.stop_event = threading.Event()