当前版本由管理系统负责把边缘端的原始视频流转换为浏览器可播放的 MJPEG,后续可以只改配置切换为边缘端转换。
在 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 返回前端。
边缘端准备好 WHEP/HLS 地址后,将:
camera.conversion-mode 改为 edge;stream_protocol 改为 webrtc 或 hls;stream_url;页面和通道绑定关系不变,MQTT 道闸控制、车辆识别和图片 HTTP 上传也不受影响。
is_active=true、channel_id 与道闸通道一致。source_url 是否可从管理系统主机访问,RTSP 用户名密码是否正确。mjpeg-fps 或将转换切换到边缘端 WHEP。