Предварительный просмотр видео с камеры 4K MJPEG с задержкой (в Windows 10)

Я пытаюсь предварительно просмотреть видеопоток с камеры 4K (Brio) в своем приложении. Приложение использует DirectShow для открытия камеры и приема кадров. Конфигурация фильтра показана на изображении ниже.

введите описание изображения здесь

Проблема в высоких разрешениях (т.е. 4096x2160). С разрешением 4096x2160 и GraphEdit, и мое приложение имеют задержку при предварительном просмотре видеопотока. Я тестирую это на Windows 10. Обратите внимание, что предустановленное в Windows 10 приложение «Камера» отлично работает с этим разрешением. Я также пробовал то же самое с образцом UWP с использованием MediaCapture Api, но проблема та же.

Что мне не хватает?


person iz25    schedule 13.08.2020    source источник


Ответы (1)


Предустановленное в Windows 10 приложение Camera не использует DirectShow, использует совершенно другой путь кода на основе Media Foundation API и в целом более эффективен при распаковке JPEG, в частности. То есть вы не можете напрямую сравнивать свой график на основе DirectShow с тем, что делает приложение Windows Store Camera.

В вашей ситуации MJPEG Decompressor Filter является устаревшее программное обеспечение несовместимо с этим разрешением и является узким местом. Также для прямого просмотра видео в графике DirectShow должен быть установлен фильтр Smart Tee..

Что касается производительности, я бы порекомендовал создать конвейер мультимедиа на Media Foundation, даже если это сложнее и содержит меньше документации и образцов.

person Roman R.    schedule 13.08.2020