Add HLS browser preview for live RTSP demo and real camera URLs.
MediaMTX pulls site-config RTSP into HLS with API proxying for hls.js on the demo client; simulated realtime keeps local file previews only. Also add optional JPEG frame capture and document Docker HLS host settings. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -57,6 +57,21 @@ SDK **不作为构建期依赖**:将厂商提供的 Linux x86_64 动态库挂
|
||||
- 同类物品写入受 `VIDEO_DETAIL_COOLDOWN_SEC` 节流。
|
||||
- RTSP 读帧连续失败达到 `VIDEO_READ_FAILURE_RECONNECT_THRESHOLD` 时会 `release` 并尝试重连,间隔 `VIDEO_RECONNECT_BACKOFF_SECONDS`。
|
||||
|
||||
## Demo 联调台:HLS 浏览器预览
|
||||
|
||||
浏览器无法直接播放 RTSP。联调台通过 **MediaMTX** 将 RTSP 转为 **HLS**,由 FastAPI 反代 m3u8/ts 后由 **hls.js** 播放。
|
||||
|
||||
| 链路 | 行为 |
|
||||
|------|------|
|
||||
| **链路 1**(真 RTSP) | `POST /internal/demo/hls-preview/ensure` 在宿主机起独立 MediaMTX 容器,按 `or_site_config` 的 `video_rtsp_urls` 拉流 |
|
||||
| **链路 2**(模拟实时) | 不使用 HLS/RTSP 预览;联调台在各路槽位用本地 `<video>` 预览所选文件 |
|
||||
|
||||
- 播放地址形如:`GET /internal/demo/hls-preview/{camera_id}/index.m3u8`(playlist 内分片 URL 会重写为 API 路径)。
|
||||
- **API 在 Docker 内**时须设 `DEMO_HLS_PREVIEW_HOST=host.docker.internal`(compose 已默认),且宿主机需有 **docker** CLI 供拉流模式起 MediaMTX。
|
||||
- 环境变量:`DEMO_HLS_PREVIEW_PORT`(默认 18888)、`DEMO_HLS_PREVIEW_HOST`(本机默认 `127.0.0.1`)。
|
||||
|
||||
单帧 JPEG 预览仍保留:`GET /internal/demo/rtsp-preview/{camera_id}/frame.jpg`(不依赖 MediaMTX)。
|
||||
|
||||
## 相关环境变量
|
||||
|
||||
详见 `backend/.env.example` 中「视频:RTSP + 可选海康 HCNetSDK」一节。
|
||||
详见 `backend/.env.example` 中「视频:RTSP + 可选海康 HCNetSDK」与 HLS 预览相关注释。
|
||||
Reference in New Issue
Block a user