摄像头系统侧转换实施说明.md 2.0 KB

摄像头系统侧转换实施说明

当前版本由管理系统负责把边缘端的原始视频流转换为浏览器可播放的 MJPEG,后续可以只改配置切换为边缘端转换。

1. 系统侧转换

camera 表中配置:

字段 示例 说明
stream_protocol system-mjpeg 使用系统侧 FFmpeg 转换
source_url rtsp://user:pass@192.168.1.50:554/live 原始 RTSP/HTTP 地址,仅后端使用
stream_url 系统侧模式下为空即可
is_active true 启用摄像头

管理端调用 GET /api/parking/camera/streams 时,会返回短期令牌地址,例如:

/api/parking/camera/stream/CAM-IN-01/<token>

页面使用该地址显示实时画面。后端启动 FFmpeg,参数为 RTSP TCP 拉流、限帧、MJPEG 输出;浏览器断开后进程自动退出。

系统配置位于 config.yaml

camera:
  conversion-mode: system
  ffmpeg-path: ffmpeg
  mjpeg-fps: 8
  jpeg-quality: 5

ffmpeg-path 可以填写 FFmpeg 的绝对路径。生产环境应限制摄像头源地址和数据库管理权限,避免把带密码的 source_url 返回前端。

2. 切换到边缘端转换

边缘端准备好 WHEP/HLS 地址后,将:

  1. camera.conversion-mode 改为 edge
  2. 将摄像头的 stream_protocol 改为 webrtchls
  3. 将边缘端播放地址写入 stream_url
  4. 重启后端或重新打开进出场操作页面。

页面和通道绑定关系不变,MQTT 道闸控制、车辆识别和图片 HTTP 上传也不受影响。

3. 故障定位

  • 下拉框没有摄像头:检查摄像头 is_active=truechannel_id 与道闸通道一致。
  • 画面显示“视频连接失败”:检查 FFmpeg 是否在系统 PATH 中,或配置绝对路径。
  • FFmpeg 启动失败:检查 source_url 是否可从管理系统主机访问,RTSP 用户名密码是否正确。
  • 画面延迟较高:降低 mjpeg-fps 或将转换切换到边缘端 WHEP。