Медиа фундамент, преобразующий сырой пиксельный кадр в видео MPEG

Я хочу закодировать необработанные пиксельные кадры фиксированного размера в MPEG в Windows 7. Я пытаюсь использовать для этого медиа-трансформацию. Но медиа-фонд не поддерживает непосредственное преобразование необработанных кадров в MPEG. Вместо этого мне нужно использовать медиа-приемник для преобразования необработанных пиксельных буферов в формат WMV3, а затем преобразовать WMV в MPEG с использованием топологии транскодирования.

Есть ли способ, которым медиа-фонд поддерживает прямое преобразование кадровых буферов в MEPG?

Также при этом я сталкиваюсь с проблемой структуры транскодирования, не способной конвертировать однокадровое видео WMV в MEPG. Не знаю почему, но это приводит к созданию пустого файла MPEG при подаче одного кадра WMV. Это известное ограничение с медиа-фондом?

с уважением

GT

PS Я не собираюсь реализовывать графы фильтров для прямого показа, чтобы сделать это. В соответствии с документами по средствам массовой информации, он должен предоставлять все средства, которые предоставляет прямое шоу.

1 ответ

Media Foundation предлагает вам H.264 Video Encoder MFT / DMO, который обрабатывает сжатие.

В отличие от DirectShow (который вы не хотите использовать, но он предлагает вам сопоставимую возможность сжатия в MPEG-4 и MPEG-4 AVC с использованием сторонних кодеров), с Media Foundation вы можете использовать преобразование самостоятельно, без вставка его в полнофункциональный граф (топология). Microsoft предлагает вам только кодер H.264, начиная только с Windows 7 (хорошо для вас).

Использование MFT описано в статье MSDN, и, следуя ей шаг за шагом, вы получите сжатые блоки NAL H.264 (MPEG-4 AVC), однако они не являются в точности "файлом". Файл MPEG-4 отформатирован в соответствии со спецификацией MPEG-4 Part 14, для которой корпорация Майкрософт предоставляет приемник файлов MPEG-4. Последний в основном предполагает, что вы используете топологию, а не отдельный компонент.

Таким образом, вы можете либо реализовать пользовательский узел источника видео для вставки в топологию, либо создать топологию кодирования для маршрутизации данных через кодер H.264 в приемник файлов MPEG-4, либо создать экземпляр видеокодера и приемника файлов отдельно и использовать их вне топология настраивает их и передает данные между ними самостоятельно.

В соответствии с документами по средствам массовой информации, он должен предоставлять все средства, которые предоставляет прямое шоу.

Не должно и не должно. Microsoft предоставляет видеокодер и мультиплексор MPEG-4 только через Media Foundation в Windows 7+ и вообще не делает их доступными для DirectShow (кроме как через обертку над компонентом MF), однако MF во многих отношениях уступает DS: поддержка в старых ОС набор функций, расширяемость и накладные расходы - это лишь некоторые из них.

Другие вопросы по тегам