SECUREXSECURITY ENGINEERINGNVR 文档

摄像头配置

摄像头是 Securex NVR 的基础资源。一个摄像头可以同时使用多个输入流:低码率子码流负责检测,高码率主码流负责录像;go2rtc 可作为统一转流层,减少摄像头连接数并改善 Live/WebRTC 体验。

推荐架构

摄像头 ──主码流──► go2rtc ──► record / live
   └──子码流────► go2rtc ──► detect
                           └──► WebRTC / MSE

对大多数 1080p/4K 摄像头,建议把主码流保留给录像,把 640×360、640×480、720p 或相近的子码流用于检测。检测流并不需要与录像流一样清晰,关键是人物/车辆在检测画面中仍有足够像素。

最小可用示例

go2rtc:
  streams:
    front_main:
      - rtsp://user:pass@192.168.1.50:554/main
    front_sub:
      - rtsp://user:pass@192.168.1.50:554/sub

cameras:
  front:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/front_sub
          input_args: preset-rtsp-restream
          roles: [detect]
        - path: rtsp://127.0.0.1:8554/front_main
          input_args: preset-rtsp-restream
          roles: [record]
    detect:
      fps: 5

每个 role 的职责

Role用途建议
detect运动分析、目标检测、跟踪等需要解码的低延迟视频优先使用子码流,通常 5 FPS 已足够
record写入录像片段使用主码流,保持原始质量
audio音频事件检测只有启用音频检测时才配置

设置顺序

  1. 先在 VLC/ffprobe 或摄像头厂商工具确认 RTSP 地址可访问。
  2. 先建立 go2rtc stream,打开 Live 确认画面稳定。
  3. 再分配 detect/record role,不要一开始同时修改所有参数。
  4. 确认硬件解码后,再添加录像、Review、Zones 和通知。

常见问题

  • 画面能看但检测 0 FPS:检查 detect role 是否分配,子码流编码是否受支持。
  • CPU 很高:先确认硬件解码生效,再降低 detect 分辨率/FPS。
  • 摄像头连接数过多:让 FFmpeg 与 Live 尽量读取本机 go2rtc restream,而不是重复直连摄像头。
  • 录像有卡顿:检查主码流网络抖动、关键帧间隔和磁盘写入能力。

验证

完成后同时检查 Live、系统统计、摄像头 FPS、检测延迟和录像时间线。只要其中一个环节异常,就沿“摄像头 → go2rtc → FFmpeg → detect/record → 存储”顺序定位。

Camera configuration

Cameras are the foundation of Securex NVR. A camera can use more than one input: a lower-bandwidth substream for detection and a high-quality main stream for recording. go2rtc can be used as a common restream layer for Live, WebRTC, and FFmpeg consumers.

Recommended pipeline

Camera ──main stream──► go2rtc ──► record / live
   └────sub stream───► go2rtc ──► detect
                              └──► WebRTC / MSE

For most 1080p or 4K cameras, keep the main stream for recording and use a 360p/480p/720p substream for detection. Detection does not require the same visual quality as archival video; objects only need enough pixels for stable classification.

Minimal example

go2rtc:
  streams:
    front_main: rtsp://user:pass@192.168.1.50:554/main
    front_sub: rtsp://user:pass@192.168.1.50:554/sub
cameras:
  front:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/front_sub
          input_args: preset-rtsp-restream
          roles: [detect]
        - path: rtsp://127.0.0.1:8554/front_main
          input_args: preset-rtsp-restream
          roles: [record]
    detect:
      fps: 5

Input roles

RolePurposeTypical choice
detectDecoded video used by motion, object detection, and trackingSubstream, usually around 5 FPS
recordSource saved to recording segmentsMain stream at native quality
audioAudio event detectionOnly when audio detection is enabled

Bring-up order

  1. Verify each RTSP URL outside Securex NVR.
  2. Create go2rtc streams and confirm a stable Live view.
  3. Assign detect and record roles.
  4. Verify hardware decode before tuning recording, Review, zones, and notifications.

Troubleshooting

  • Live works but detection is zero: verify the detect role and codec of the substream.
  • High CPU: verify hardware decode, then reduce detection resolution/FPS.
  • Too many camera sessions: use local go2rtc restreams for both Live and FFmpeg where possible.
  • Recording stutters: inspect network loss, GOP/keyframe interval, and disk write performance.

Verification

Check Live view, camera FPS, detector inference time, recording timeline, and system telemetry together. Troubleshoot in order: camera → go2rtc → FFmpeg → detect/record → storage.

Configuración de cámaras

Las cámaras son la base de Securex NVR. Una cámara puede usar varias entradas: un substream de menor bitrate para detección y el stream principal para grabación. go2rtc puede actuar como capa común para Live, WebRTC y FFmpeg.

Arquitectura recomendada

Cámara ──stream principal──► go2rtc ──► grabación / live
   └────substream──────────► go2rtc ──► detección
                                   └──► WebRTC / MSE

En cámaras 1080p/4K conviene reservar el stream principal para grabar y usar 360p/480p/720p para detectar. La detección no necesita la misma calidad del archivo, solo suficientes píxeles para clasificar y seguir objetos.

Ejemplo mínimo

go2rtc:
  streams:
    front_main: rtsp://user:pass@192.168.1.50:554/main
    front_sub: rtsp://user:pass@192.168.1.50:554/sub
cameras:
  front:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/front_sub
          input_args: preset-rtsp-restream
          roles: [detect]
        - path: rtsp://127.0.0.1:8554/front_main
          input_args: preset-rtsp-restream
          roles: [record]
    detect:
      fps: 5

Roles

RolUsoRecomendación
detectMovimiento, detección y seguimientoSubstream, normalmente ~5 FPS
recordFuente de segmentos grabadosStream principal
audioDetección de audioSolo si se usa esa función

Orden de configuración

  1. Verifique las URL RTSP fuera de Securex NVR.
  2. Cree los streams go2rtc y compruebe Live.
  3. Asigne detect y record.
  4. Confirme la decodificación por hardware y después ajuste grabación, Review, zonas y avisos.

Problemas comunes

  • Live funciona pero no hay detección: revise el rol detect y el códec.
  • CPU alta: confirme hwaccel y reduzca resolución/FPS de detección.
  • Demasiadas conexiones: reutilice restreams locales de go2rtc.
  • Grabación entrecortada: revise red, GOP y escritura de disco.

Verificación

Compruebe Live, FPS, latencia del detector, timeline y telemetría. Depure en orden: cámara → go2rtc → FFmpeg → detect/record → almacenamiento.

输入关键词开始搜索