Media Foundation: декодирование и отображение кадров H264 без контейнера

StackOverflow https://stackoverflow.com/questions/8417128

Вопрос

Сценарий таков: мое клиентское приложение для Windows получает кадры в кодировке H264 из сетевого источника без контейнера пользовательским способом (проприетарный протокол).Формат кадров известен.Мне нужно расшифровать кадры и отобразить видео.Требуется, чтобы воспроизведение было безупречным во время потоковой передачи HD, но при этом имелась возможность низкой задержки для других сценариев.

В настоящее время я использую libavcodec ffmpeg для декодирования кадров, а затем вручную отображаю их на экране с помощью StretchBlt.Мы рассматриваем возможность перехода на Media Foundation, но мне непонятно - возможно ли иметь источник, не использующий контейнер?если да, нужно ли мне создавать собственный?

Также приветствуются альтернативы использованию Media Foundation.Моя основная проблема с методом, который я сейчас использую, заключается в том, что производительность недостаточно высока, особенно для HD-видео.

Это было полезно?

Решение

Я не вижу, чтобы вы упомянули, что вам конкретно нужно или какой API-интерфейс Media Foundation, поэтому я бы предложил DirectShow, с помощью которого вы можете это сделать:

  • настраиваемый источник, см. Пример использования исходных фильтров
  • Декодер H.264, установленный в Windows 7 (аналогично Media Foundation) или сторонний (на выбор).
  • средство визуализации видео, такое как EVR (совместно с Media Foundation) или более ранние версии.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top