Я разрабатываю приложение для потоковой передачи мультимедиа для рабочего стола, используя технику SourceReader MediaFoundation.
Я использую USB-камеру для показа потоковой передачи. Камера поддерживает 2 видеоформата: YUY2 и MJPG.
Для разрешения видео 1980x1080p YUY2 получение только 48fps для 60fps. Я получил преобразование YUY2-RGB32 со страницы MSDN и использовал его в своем приложении (Примечание: я не использовал фильтр преобразования для преобразования цвета).
Для видеоформата MJPG я использовал MJPEG Decoder MFT для преобразования MJPG в YUY2 в RGB32 и последующего отображения в окне с помощью Direct3D9. Для определенного разрешения я сталкиваюсь с падением частоты кадров с 60 кадров в секунду до 30 кадров в секунду (Пример: 1920x1080 60 кадров в секунду, но рисование только 30-33 кадра в секунду).
Два способа, которые я проверил в Graphedit, чтобы подтвердить фильтр:
Добавлен фильтр MJPEG Decompressor и построен график для формата видео MJPG, чтобы проверить частоту кадров для разрешения FullHD и показать 28 кадров в секунду для 60 кадров в секунду.
Добавлен фильтр AVI Decompressor и построен график для формата видео MJPG, чтобы проверить частоту кадров для разрешения FullHD и показать 60 кадров в секунду.
Я искал на многих сайтах, чтобы найти декомпрессор AVI для медиа-фонда, но безуспешно.
Кто-нибудь подтвердит, есть ли фильтр в MFT?