Для простого подхода и простого кода, использующего только GPU, взгляните на мой проект с использованием DirectX: H264Dxva2Decoder
Если вы готовы писать код, вы можете использовать мой подход.
Если нет, вы можете использовать MediaFoundation или FFMPEG, оба могут выполнять эту работу.
MediaFoundation ориентирован на C ++ и COM.FFMPEG ориентирован на C.Это может иметь значение для вас.
РЕДАКТИРОВАТЬ
Вы можете использовать мою программу, потому что у вас есть кадры, закодированные в H264 или H265.Для h265 вам придется добавить дополнительный код.
Конечно, вам нужно внести изменения.И да, вы можете отправлять кадры в DirectX без использования файла.В этом проекте используется только формат видеофайлов avcc, но его можно изменить в других случаях.
Вам не нужен анализатор атомов.Вам необходимо изменить синтаксический анализатор nalu, если, например, фреймы имеют формат приложения-b.Вам также нужно будет изменить механизм буферизации, если кадры имеют формат приложения-b.
Я могу вам помочь, если вы предоставите образцы кадров, закодированные в H264.
О Ffmpeg у него меньшеограничения, чем моя программа, в соответствии со спецификациями h264, но не обеспечивает механизм рендеринга.Например, вам придется смешать Ffmepg и мой механизм рендеринга.
Или изучить программу типа MPC-HC, которая показывает микс.Я не могу больше здесь помогать.
РЕДАКТИРОВАТЬ 2
Одна вещь, которую нужно знать, вы не можете декодировать закодированные пакеты напрямую в GPU.Вы должны разобрать их раньше.Вот почему есть анализатор nalu (см. DXVA_PicParams_H264).
Если вы не готовы писать код и понимать, как он работает, используйте Ffmpeg, в действительности это будет проще.Вы можете сосредоточиться на рендеринге, а не на декодировании.
Также важно знать, какой из них дает лучший результат, потребляет меньше ресурсов (CPU, GPU, RAM (как системная память, так и память видеокарты),поддерживает более широкий диапазон форматов и т. д.
Вы просите реальной экспертизы ...
Если вы создадите собственную программу, вы сможете оптимизировать ее и, конечно же, получитьлучшие результаты. Если вы используете Ffmpeg, и у вас есть проблемы с производительностью в вашем контексте, вы можете быть заблокированы ... потому что вы не будете изменять Ffmpeg.
Вы говорите, что будете использовать камеры Bosch. Как правило, все закодированное видеобудет в том же формате. Так что, как только ваш код сможет его декодировать, вам не нужны все функции Ffmpeg.