4153efaae94dedc2d0f7703ad026f7f0db0f1b4b
问题: - 旧逻辑启动所有数据库中的摄像头视频流(7个) - 实际只有3个摄像头有ROI配置 - 浪费带宽和计算资源 解决方案: 1. 新增 _get_camera_ids_with_roi() 方法 - 从ROI配置中提取有配置的摄像头ID集合 - 返回去重后的摄像头ID set 2. 新增 _get_camera_config_by_id() 方法 - 根据ID获取摄像头配置对象 - 提高代码复用性和可维护性 3. 重构 _load_cameras() 方法 - 只启动有ROI配置的摄像头 - 添加详细的成功/失败统计 - 改进日志信息,便于排查问题 4. 重构 _reload_cameras() 方法 - 配置更新时只添加有ROI且未启动的摄像头 - 使用集合运算提高性能 - 统一错误处理逻辑 5. 新增 _cleanup_cameras_without_roi() 方法 - 清理已启动但没有ROI的摄像头流 - 当用户删除所有ROI时自动停止视频流 - 节省系统资源 6. 更新配置回调逻辑 - 先清理无ROI的摄像头 - 再添加新增的有ROI的摄像头 - 保证视频流与ROI配置同步 优势: - 资源利用率提升:只启动必要的视频流 - 代码模块化:提取公共逻辑,提高复用性 - 可维护性强:清晰的注释和文档字符串 - 日志完善:详细的统计信息便于监控 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Description
边缘推理层
Languages
Python
100%