摄像头配置
摄像头是 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 | 音频事件检测 | 只有启用音频检测时才配置 |
设置顺序
- 先在 VLC/ffprobe 或摄像头厂商工具确认 RTSP 地址可访问。
- 先建立 go2rtc stream,打开 Live 确认画面稳定。
- 再分配 detect/record role,不要一开始同时修改所有参数。
- 确认硬件解码后,再添加录像、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 / MSEFor 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
| Role | Purpose | Typical choice |
|---|---|---|
| detect | Decoded video used by motion, object detection, and tracking | Substream, usually around 5 FPS |
| record | Source saved to recording segments | Main stream at native quality |
| audio | Audio event detection | Only when audio detection is enabled |
Bring-up order
- Verify each RTSP URL outside Securex NVR.
- Create go2rtc streams and confirm a stable Live view.
- Assign detect and record roles.
- 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 / MSEEn 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
| Rol | Uso | Recomendación |
|---|---|---|
| detect | Movimiento, detección y seguimiento | Substream, normalmente ~5 FPS |
| record | Fuente de segmentos grabados | Stream principal |
| audio | Detección de audio | Solo si se usa esa función |
Orden de configuración
- Verifique las URL RTSP fuera de Securex NVR.
- Cree los streams go2rtc y compruebe Live.
- Asigne detect y record.
- 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.
