diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 4629b968..a8606ba9 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -59,6 +59,22 @@ hik: api-secret: "${ZLM_API_SECRET:}" # 实时预览:FFmpeg 拉取 NVR 的 RTSP 子码流并推送到 ZLMediaKit。 live: + # 单路实时流从启动到明确成功或失败的总时限(毫秒);后台任务仍按此时限继续尝试。 + startup-timeout-millis: ${HIK_NVR_LIVE_STARTUP_TIMEOUT_MILLIS:10000} + # 首次起流时阻塞等待并直接返回播放结果的最长时间(毫秒)。 + # 页面只给起流请求 8 秒,超过就弹“系统接口请求超时”,因此这里必须明显小于 8 秒; + # 超时后返回 STARTING,后台继续起流,播放地址仍随响应返回。 + response-wait-millis: ${HIK_NVR_LIVE_RESPONSE_WAIT_MILLIS:6000} + # 同一台 NVR 相邻 RTSP 握手的最小间隔(毫秒),避免设备瞬时并发 SETUP 被拒。 + start-spacing-millis: ${HIK_NVR_LIVE_START_SPACING_MILLIS:600} + # 每台 NVR 等待起流的最大任务数,不含正在执行的任务。 + max-start-queue-size: ${HIK_NVR_LIVE_MAX_START_QUEUE_SIZE:8} + # 同一台 NVR 允许同时进行的起流任务数。握手间隔仍由 start-spacing-millis 保证, + # 本项只让“等待设备出流”的几路重叠,用于缩短一次打开多画面时最后一路的等待时间; + # 远程高延迟设备可适当调大,出现起流被拒时调回 1。 + max-concurrent-starts-per-nvr: ${HIK_NVR_LIVE_MAX_CONCURRENT_STARTS_PER_NVR:2} + # 单次 ZLMediaKit API 连接和读取超时(毫秒)。 + zlm-api-timeout-millis: ${HIK_NVR_LIVE_ZLM_API_TIMEOUT_MILLIS:300} # 设备端在 SETUP 阶段拒绝建立实时流时允许的退避重试次数。 max-attempts: ${HIK_NVR_LIVE_MAX_ATTEMPTS:3} # 重试前等待设备释放上一次 RTSP 会话的时间(毫秒),按尝试序号线性递增。