Files
operating-room-monitor-server/.env.example
Kevin 869ea21bbe feat(video): 可配置 RTSP 打开超时并提高默认时长
- Settings 增加 video_open_timeout_sec(VIDEO_OPEN_TIMEOUT_SEC),默认 45s
- SessionManager 全部就绪等待为该值 + 5s;StreamWorker 传入单路超时
- baked pipeline 回退默认值与配置对齐;.env.example 补充说明
- or_site_config.sample.json 扩展穿透摄像头与术间绑定示例
- 同步 uv.lock
2026-04-29 10:51:23 +08:00

74 lines
3.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 复制为 `.env` 并按环境填写。pydantic-settings 将字段名映射为大写下划线环境变量。
# 启动前须执行 `alembic upgrade head``start.sh` / `start_fresh.sh` 已包含)。
# 算法、管线、归档路径、视觉/语音日志等非部署项见 `app/baked/algorithm.py` 与 `app/baked/pipeline.py`。
# 详细说明见 docs/video-backends.md。
# --- PostgreSQL ---
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=operation_room
POSTGRES_HOST=localhost
POSTGRES_PORT=35432
# 可选:整串 async DSN会覆盖与默认一致的 POSTGRES_* 组合时的逻辑,见 Settings
# DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:35432/operation_room
# --- HTTPpython -m main / 容器等入口)---
# SERVER_HOST=0.0.0.0
# SERVER_PORT=38080
# 开发热重载(等价 uvicorn --reload修改 *.py 后自动重启;生产勿开)
# UVICORN_RELOAD=true
# --- VideoRTSP 与按路后端(须与客户端 camera_ids 一致)---
# 单路 RTSP 首次打开超时(秒);四路须在「该值 + 5」秒内全部就绪穿透/公网链路可调大(默认 45
# VIDEO_OPEN_TIMEOUT_SEC=45
# VIDEO_DEFAULT_BACKEND=rtsp
# VIDEO_CAMERA_BACKEND_OVERRIDES_JSON={"or-cam-01":"rtsp","or-cam-02":"hikvision_sdk"}
# 站点 JSON术间↔摄像头↔语音终端只在这里维护voice_or_room_bindings须同时含 video_rtsp_urls可为 []。
# 见 app/resources/or_site_config.sample.json
# OR_SITE_CONFIG_JSON_FILE=app/resources/or_site_config.sample.json
# VIDEO_RTSP_URL_TEMPLATE=rtsp://user:pass@host:554/path/{camera_id}
#
# 语音终端 ID 在站点 JSON 的 voice_or_room_bindings 中配置浏览器语音确认页web/voice-confirmation在页面内填写本机终端 ID。
#
# Docker 跑 APIdocker-compose.prod.yml站点 JSON 中可与 sample 相同使用术间摄像头局域网 IP容器出站经宿主机路由须宿主机可达该网段
# 若 RTSP 由「宿主机」上的假流/服务提供URL 须用 host.docker.internal 而非 127.0.0.1compose 已为 api 注入 extra_hosts。
# 容器内拉流默认使用 TCPdocker-compose.prod.yml仅当必须让 FFmpeg 自选传输时在 .env 中设空覆盖:
# OPENCV_FFMPEG_CAPTURE_OPTIONS=
# --- 海康 SDKLinux x86_64二进制勿提交仓库---
# HIKVISION_LIB_DIR=/opt/hikvision/lib
# 可选:单一路径,见 app/services/video/hikvision_runtime.py 直读 HIKVISION_LIB_PATH
# HIKVISION_LIB_PATH=
# HIKVISION_SDK_ENABLED=false
# HIKVISION_DEVICE_IP=
# HIKVISION_USER=
# HIKVISION_PASSWORD=
# HIKVISION_CHANNEL=1
# HIKVISION_PREVIEW_RTSP_TEMPLATE=rtsp://{user}:{password}@{ip}:554/Streaming/Channels/101
# HIKVISION_CAMERA_RTSP_URLS_JSON={}
# HIKVISION_SDK_FALLBACK_TO_RTSP=true
# --- 百度(语音:短语音识别 AipSpeech + 在线合成;控制台开通对应能力)---
# BAIDU_APP_ID=
# BAIDU_API_KEY=
# BAIDU_SECRET_KEY=
# 可选
# BAIDU_CONNECTION_TIMEOUT_MS=
# BAIDU_SOCKET_TIMEOUT_MS=
# BAIDU_ASR_DEV_PID=1537
# --- MinIO语音 WAV---
# MINIO_ENDPOINT=127.0.0.1:9000
# MINIO_ACCESS_KEY=
# MINIO_SECRET_KEY=
# MINIO_BUCKET=operation-room-voice
# MINIO_SECURE=false
# MINIO_REGION=
# --- Demo 客户端 / 一键联调(生产关闭)---
# DEMO_CORS_ENABLED=true
# DEMO_CORS_ORIGINS=*
# DEMO_ORCHESTRATOR_ENABLED=false
# DEMO_ORCHESTRATOR_RTSP_PORT=18554
# DEMO_ORCHESTRATOR_RTSP_JSON_HOST=host.docker.internal