Масштабирование приложения для декодирования видео с использованием ffmpeg

Масштабирование приложения для декодирования видео с использованием ffmpeg

Я создаю приложение для чтения нескольких потоков IP-камер (rtsp) и запуска различных алгоритмов машинного обучения в реальном времени. Для каждого потока камеры,

  1. Я запускаю процесс ffmpeg, который непрерывно разбивает потоки rtsp на кадры и сохраняет их как изображения (JPEG). Потоки используют кодировку H.264. Я беру 1 кадр каждую секунду в качестве вывода.
  2. Очереди сообщений, соответствующие моделям, получают сообщение, содержащее местоположение файла.
  3. Модели продолжают изучать файл и делать выводы.

Проблема, с которой я столкнулся, заключается в использовании процессора процессом декодирования ffmpeg. Для вывода в реальном времени без потери кадров мне приходится усиливать свой сервер на ядро ​​для каждых 2 потоков камеры. Есть ли какая-то оптимизация, которую мне не хватает для ffmpeg?

Я использую процессор Intel Xeon Gold с ОС Ubuntu 18.04.

Связанный контент