Saltar al contenido principal

Repositorio de guías de OpenCV

Consulta el código fuente completo y los proyectos de ejemplo para las cámaras DWE.ai en GitHub.

Características

  • RTP/UDP en bruto: no requiere GStreamer ni dependencias externas.
  • Alta resolución: optimizado para flujos 1080p a 30 fps o más.
  • Soporte de 10 bits: maneja YUV 4:4:4 de 10 bits (yuv444p10le) y formatos estándar de 8 bits.
  • Baja latencia: utiliza un hilo receptor en segundo plano y decodificación multihilo.
  • Diseño modular: separa la gestión de red, la decodificación y la lógica de visualización.

Requisitos previos

  • Python 3.8+
  • Bibliotecas FFmpeg (normalmente instaladas automáticamente mediante PyAV)

Instalación

Navega al directorio 3-receive-dweos-h264/python en el repositorio y configura tu entorno:
  1. Crea un entorno virtual:
    python3 -m venv venv
    source venv/bin/activate  # En Windows: venv\Scripts\activate
    
  2. Instala las dependencias requeridas:
    pip install -r requirements.txt
    

Uso

  1. Inicia tu flujo RTP H.264 (por defecto en 127.0.0.1:5600).
  2. Ejecuta el receptor:
    python main.py
    

Estructura del proyecto

  • rtp_receiver.py: gestiona la recepción de paquetes UDP en bruto y el reensamblaje de NAL H.264 (incluyendo FU-A y STAP-A).
  • h264_decoder.py: encapsula PyAV para una decodificación H.264 de alto rendimiento.
  • main.py: punto de entrada principal que conecta el receptor y el decodificador a una ventana OpenCV.