主码流与子码流
合理分配录像与检测码流可以显著降低 CPU / GPU 负载。
推荐分工
| 用途 | 推荐码流 | 建议 |
|---|---|---|
| 录像 | 主码流 | 摄像头原生高分辨率、目标画质 |
| 检测 | 子码流 | 较低分辨率与合理 FPS |
| 实时 | 主/子码流 | 按客户端与网络选择 |
输入角色
cameras:
front:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/front_main
roles: [record]
- path: rtsp://127.0.0.1:8554/front_sub
roles: [detect]
检测分辨率不需要等同录像分辨率。对大多数场景,稳定的低延迟子码流比盲目提高检测像素更重要。
Main and Sub Streams
A camera is the main configuration unit in Securex NVR. Treat acquisition, detection, recording, and live viewing as separate layers: go2rtc stabilizes/restreams sources, FFmpeg decodes and records, the detect stream feeds analytics, and the record stream preserves quality.
Recommended stream design
- Main stream: high resolution/bitrate for recording.
- Sub stream: lower resolution and frame rate for detection to reduce decode and inference cost.
- Live viewing: reuse go2rtc restream/WebRTC/MSE so each client does not open another direct session to the camera.
Minimal example
cameras:
front:
enabled: true
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/front
input_args: preset-rtsp-restream
roles:
- detect
- record
detect:
width: 1280
height: 720
fps: 5
record:
enabled: trueInput roles
| Role | Purpose |
|---|---|
| detect | Frames used by motion and object detection. |
| record | Source used for recorded media, normally the higher-quality stream. |
| audio | Used where the configuration handles audio separately; support depends on the input and build. |
Detection resolution and FPS
Detection resolution controls the image entering the analysis pipeline. Do not use 4K detection simply because the source is 4K. Around 5 FPS is enough for many person/vehicle scenarios; increase resolution or frame rate only when the scene actually requires it, such as small targets or fast vehicles.
Commissioning checklist
- Verify the camera source itself is stable.
- Verify continuous playback in go2rtc.
- Check FFmpeg logs for reconnect loops or decode/timestamp errors.
- Confirm detection FPS and inference speed can keep up.
- Only then enable recording, Review, notifications, and enrichments.
Common issues
- Video works but no detections: check the detect role and detect enablement.
- Detections work but recordings fail: inspect the record role and codec of the recording stream.
- High CPU: verify hardware decoding and reduce detect-stream workload.
- Too many camera sessions: restream through go2rtc.
Flujos principal y secundario
La cámara es la unidad principal de Securex NVR. Conviene separar captura, detección, grabación y visualización: go2rtc estabiliza y redistribuye streams, FFmpeg decodifica/graba, el stream detect alimenta el análisis y record conserva la calidad.
Diseño recomendado
- Stream principal: alta resolución para grabación.
- Substream: menor resolución/FPS para detección.
- Vista en vivo: reutilice go2rtc con restream/WebRTC/MSE para evitar conexiones directas adicionales.
Ejemplo mínimo
cameras:
front:
enabled: true
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/front
input_args: preset-rtsp-restream
roles:
- detect
- record
detect:
width: 1280
height: 720
fps: 5
record:
enabled: trueRoles
| Rol | Uso |
|---|---|
| detect | Fotogramas para movimiento y detección de objetos. |
| record | Fuente para grabación, normalmente de mayor calidad. |
| audio | Procesamiento de audio cuando la compilación y la entrada lo admiten. |
Resolución y FPS
No use 4K para detección solo porque la cámara lo ofrece. En muchos casos unos 5 FPS bastan; aumente resolución/FPS únicamente cuando el tamaño o la velocidad del objetivo lo exijan.
Lista de puesta en marcha
- Compruebe el origen de cámara.
- Compruebe reproducción continua en go2rtc.
- Revise errores de FFmpeg.
- Verifique que FPS de detección e inferencia sean sostenibles.
- Después active grabación, Review, notificaciones y enriquecimientos.
Problemas frecuentes
- Hay vídeo pero no detección: revise role detect.
- Hay detección pero falla grabación: revise role record y códec.
- CPU alta: active aceleración y reduzca el stream detect.
- Demasiadas sesiones: redistribuya con go2rtc.
