|
|
server:
|
|
|
port: 8081
|
|
|
|
|
|
spring:
|
|
|
application:
|
|
|
name: inspect-nvr
|
|
|
profiles:
|
|
|
active: dev
|
|
|
redis:
|
|
|
host: localhost
|
|
|
port: 6379
|
|
|
password:
|
|
|
|
|
|
# MySQL业务库:dynamic-datasource 使用Druid作为连接池
|
|
|
datasource:
|
|
|
dynamic:
|
|
|
primary: master
|
|
|
strict: true
|
|
|
datasource:
|
|
|
master:
|
|
|
type: com.alibaba.druid.pool.DruidDataSource
|
|
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
|
|
url: "jdbc:mysql://192.168.1.116:4406/inspect_shaoxing_260511?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true"
|
|
|
username: root
|
|
|
password: atia2018
|
|
|
druid:
|
|
|
initial-size: 1
|
|
|
min-idle: 1
|
|
|
max-active: 10
|
|
|
max-wait: 60000
|
|
|
validation-query: SELECT 1
|
|
|
test-while-idle: true
|
|
|
test-on-borrow: false
|
|
|
test-on-return: false
|
|
|
filters: stat,wall,slf4j
|
|
|
|
|
|
mybatis:
|
|
|
mapper-locations: classpath*:mapper/**/*.xml
|
|
|
configuration:
|
|
|
map-underscore-to-camel-case: true
|
|
|
|
|
|
|
|
|
|
|
|
mode:
|
|
|
retryTimes: 5
|
|
|
delayTime: 5000
|
|
|
retryMode: 0
|
|
|
|
|
|
# Browser playback service settings. NVR devices and cameras are read only from the business database.
|
|
|
hik:
|
|
|
playback:
|
|
|
hls:
|
|
|
idle-session-millis: ${HIK_NVR_HLS_IDLE_SESSION_MILLIS:120000}
|
|
|
startup-timeout-millis: ${HIK_NVR_HLS_STARTUP_TIMEOUT_MILLIS:30000}
|
|
|
no-data-timeout-millis: ${HIK_NVR_HLS_NO_DATA_TIMEOUT_MILLIS:20000}
|
|
|
max-concurrent-sessions: ${HIK_NVR_HLS_MAX_SESSIONS:1}
|
|
|
# 服务端调用 ZLMediaKit API 确认流是否已注册;密钥为空时实时预览会直接返回配置错误。
|
|
|
api-base-url: "${ZLM_API_BASE_URL:http://127.0.0.1:18081}"
|
|
|
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 会话的时间(毫秒),按尝试序号线性递增。
|
|
|
retry-release-wait-millis: ${HIK_NVR_LIVE_RETRY_RELEASE_WAIT_MILLIS:1500}
|
|
|
retry-release-wait-max-millis: ${HIK_NVR_LIVE_RETRY_RELEASE_WAIT_MAX_MILLIS:5000}
|
|
|
# 停流时等待 FFmpeg 优雅退出(发送 RTSP TEARDOWN)的最长时间(毫秒)。
|
|
|
stop-grace-millis: ${HIK_NVR_LIVE_STOP_GRACE_MILLIS:2000}
|
|
|
# 单个取流设备允许同时播放的实时流上限,0 表示不限制;请按设备远程预览预算调整。
|
|
|
# 统计粒度是"实际拉取的设备":直连摄像机时为相机 IP,经转发时为 NVR/CVR IP。
|
|
|
max-sessions-per-nvr: ${HIK_NVR_LIVE_MAX_SESSIONS_PER_NVR:8}
|
|
|
# 长时间无人观看(ZLMediaKit 观众数为 0)时回收实时流,避免浏览器异常退出后占住 NVR 会话。
|
|
|
idle-reap-enabled: ${HIK_NVR_LIVE_IDLE_REAP_ENABLED:true}
|
|
|
idle-reader-timeout-millis: ${HIK_NVR_LIVE_IDLE_READER_TIMEOUT_MILLIS:600000}
|
|
|
# 空闲回收扫描间隔(毫秒)。
|
|
|
idle-reap-interval-millis: ${HIK_NVR_LIVE_IDLE_REAP_INTERVAL_MILLIS:60000}
|
|
|
# 实时预览是否优先直连摄像机取流:CVR(中心存储)等设备的远程转发额度很小,
|
|
|
# 直连摄像机可绕开该瓶颈;地址缺失、端口不可达或鉴权失败时自动回退 NVR。
|
|
|
prefer-camera-direct: ${HIK_NVR_LIVE_PREFER_CAMERA_DIRECT:true}
|
|
|
# 直连摄像机使用的 RTSP 端口。
|
|
|
camera-rtsp-port: ${HIK_NVR_LIVE_CAMERA_RTSP_PORT:554}
|
|
|
# 直连摄像机的账号密码;留空表示沿用所属 NVR 在数据库中的凭据。
|
|
|
camera-username: "${HIK_NVR_LIVE_CAMERA_USERNAME:}"
|
|
|
camera-password: "${HIK_NVR_LIVE_CAMERA_PASSWORD:}"
|
|
|
# 直连摄像机 RTSP 端口连通性探测超时(毫秒)。
|
|
|
camera-probe-timeout-millis: ${HIK_NVR_LIVE_CAMERA_PROBE_TIMEOUT_MILLIS:500}
|
|
|
# 台账 basedata_eqpbook_channel.channel_type=ir(红外热成像)对应的相机内通道号。
|
|
|
# 台账里 vl=可见光、ir=热成像,是镜头类型的权威来源;默认 ir 用相机通道 2,
|
|
|
# 即 1=可见光、2=热成像。现场若两个镜头画面互换,只改这里即可整体反转。
|
|
|
ir-camera-channel: ${HIK_NVR_LIVE_IR_CAMERA_CHANNEL:2}
|
|
|
# 同一 IP 多通道相机(双光谱等)的相机内通道分配顺序:asc / desc。
|
|
|
# 只在台账 channel_type 与平台通道名都判断不出镜头类型时才生效。
|
|
|
camera-channel-order: ${HIK_NVR_LIVE_CAMERA_CHANNEL_ORDER:asc}
|
|
|
clip:
|
|
|
# 一分钟录像先由SDK下载到临时目录,再由FFmpeg统一封装为MP4。
|
|
|
ffmpeg-path: ${FFMPEG_PATH:C:/tools/ffmpeg/bin/ffmpeg.exe}
|
|
|
download-timeout-millis: ${HIK_NVR_CLIP_DOWNLOAD_TIMEOUT_MILLIS:120000}
|
|
|
poll-interval-millis: ${HIK_NVR_CLIP_POLL_INTERVAL_MILLIS:250}
|
|
|
ffmpeg-timeout-millis: ${HIK_NVR_CLIP_FFMPEG_TIMEOUT_MILLIS:60000}
|
|
|
|
|
|
# 云台控制锁:/device/ptzcontrol 请求体携带 username 时按 cameraCode 抢占控制锁,
|
|
|
# 角色由 ExtRoleService 解析(外部接口开关/地址见 sys_config,等级映射见 sys_dict_data 的 ptz_role_level);
|
|
|
# 同 username 续期、更高等级(roleLevel 数值更小)可抢占、同级先到先得;
|
|
|
# 不携带 username 的调用(北向上位平台)不受锁约束。
|
|
|
permission:
|
|
|
enabled: ${PERMISSION_ENABLED:true}
|
|
|
lock-ttl-seconds: ${PERMISSION_LOCK_TTL_SECONDS:300}
|
|
|
|