Aplicación de escalado para decodificación de video usando ffmpeg

Aplicación de escalado para decodificación de video usando ffmpeg

Estoy creando una aplicación para leer múltiples transmisiones de cámaras IP (rtsp) y ejecutar diferentes algoritmos de aprendizaje automático en tiempo real. Para cada transmisión de cámara,

  1. Genera un proceso ffmpeg que divide continuamente las transmisiones rtsp en cuadros y las almacena como imágenes (JPEG). Las transmisiones utilizan codificación H.264. Estoy tomando 1 fotograma por segundo como salida.
  2. Las colas de mensajes correspondientes a los modelos reciben el mensaje que contiene la ubicación del archivo.
  3. Los modelos siguen recogiendo el archivo y haciendo inferencias.

El problema al que me enfrento es el uso de la CPU mediante el proceso de decodificación ffmpeg. Para realizar inferencias en tiempo real sin pérdida de fotogramas, tengo que reforzar mi servidor con un núcleo por cada 2 transmisiones de cámara. ¿Me falta alguna optimización para ffmpeg?

Estoy usando el procesador Intel Xeon Gold con el sistema operativo Ubuntu 18.04

información relacionada