Средство чтения исходного кода

Средство чтения исходного кода является альтернативой использованию сеанса мультимедиа и конвейера Microsoft Media Foundation для обработки данных мультимедиа.

Зачем использовать средство чтения исходного кода?

Media Foundation предоставляет конвейер, оптимизированный для воспроизведения. Конвейер является сквозным, то есть он обрабатывает поток данных из источника (например, видеофайла) до места назначения (например, графического дисплея). Однако если вы хотите считывать или изменять данные по мере их прохождения через конвейер, необходимо написать пользовательский подключаемый модуль. Для этого требуется достаточно глубокое знание конвейера Media Foundation. Для некоторых задач создание нового подключаемого модуля — это слишком много накладных расходов. Средство чтения источника предназначено для такого типа ситуации, когда требуется получить необработанные данные из источника без дополнительных затрат на весь конвейер.

На внутреннем этапе средство чтения источника содержит указатель на источник мультимедиа. Источник мультимедиа — это объект Media Foundation, который создает данные мультимедиа из внешнего источника, например файла мультимедиа или устройства захвата видео. Средство чтения источника управляет всеми вызовами методов к источнику мультимедиа. (Дополнительные сведения об источниках мультимедиа см. в разделе Источники мультимедиа.)

Если источник мультимедиа предоставляет сжатые данные, для декодирования данных можно использовать средство чтения источника. В этом случае средство чтения исходного кода загрузит правильный декодер и будет управлять потоком данных между источником мультимедиа и декодером. Средство чтения исходного кода также может выполнять ограниченную обработку видео: преобразование цвета из YUV в RGB-32 и программную деинтерлейку, хотя эти операции не рекомендуются для отрисовки видео в режиме реального времени. Этот процесс показан на следующем рисунке.

Схема средства чтения источника

Средство чтения источника не отправляет данные в место назначения; приложение может использовать данные. Например, средство чтения исходного кода может прочитать видеофайл, но не будет отображать видео на экране. Кроме того, средство чтения исходного кода не управляет часами презентации, не обрабатывает проблемы с временем или не синхронизирует видео со звуком.

Рекомендуется использовать средство чтения исходного кода в следующих случаях:

  • Вы хотите получить данные из файла мультимедиа, не беспокоясь о базовой структуре файла.
  • Вы хотите получить данные с устройства аудио- или видеозахвата.
  • В ваших задачах обработки данных не учитывается время или вам не требуются часы презентации.
  • У вас уже есть конвейер мультимедиа, который не основан на Media Foundation, и вы хотите включить источники мультимедиа Media Foundation в свой собственный конвейер.

Средство чтения исходного кода не рекомендуется в следующих ситуациях:

  • Для защищенного содержимого. Средство чтения исходного кода не поддерживает управление цифровыми правами (DRM).
  • Если вам нужны сведения о базовой структуре файлов. Средство чтения исходного кода скрывает этот тип сведений.

В этом разделе

Раздел Описание
Использование средства чтения источника для обработки данных мультимедиа
В этом разделе описывается, как использовать средство чтения источника для обработки данных мультимедиа.
Использование средства чтения источника в асинхронном режиме
В этом разделе описывается, как использовать средство чтения источника в асинхронном режиме.
Руководство. Декодирование звука
В этом руководстве показано, как использовать средство чтения исходного кода для декодирования звука из файла мультимедиа и записи звука в ФАЙЛ WAVE.

 

Архитектура Media Foundation

Руководство по программированию в Media Foundation

IMFSourceReader