Атрибуты Media Foundation для объектов заголовков ASF

Объект заголовка ASF верхнего уровня для файла содержит несколько объектов вложенных заголовков ASF. Объект ContentInfo хранит сведения из всех этих объектов заголовков и предоставляет определенные значения приложению с помощью атрибутов.

Объект "Свойства файла"

Этот объект заголовка присутствует во всех ASF-файлах. Эти поля описывают атрибуты уровня файла всей презентации. В следующей таблице перечислены поля в объекте свойств файла и соответствующие атрибуты дескриптора представления.

Поле "Объект свойств файла" Атрибут дескриптора презентации Описание
Идентификатор файла MF_PD_ASF_FILEPROPERTIES_FILE_ID Уникальный идентификатор для этого файла.
Размер файла MF_PD_TOTAL_FILE_SIZE Размер файла в байтах.
Дата создания MF_PD_ASF_FILEPROPERTIES_CREATION_TIME Дата и время создания файла.
Число пакетов данных MF_PD_ASF_FILEPROPERTIES_PACKETS Количество пакетов данных в объекте данных ASF.
Длительность воспроизведения MF_PD_ASF_FILEPROPERTIES_PLAY_DURATION Время, необходимое для воспроизведения файла в единицах 100 наносекунд. Это значение включает время предварительной подготовки.
Длительность отправки MF_PD_ASF_FILEPROPERTIES_SEND_DURATION Время, необходимое для отправки файла в единицах 100 наносекунд.
Предварительная подготовка MF_PD_ASF_FILEPROPERTIES_PREROLL Продолжительность буферизации данных до воспроизведения файла в 100-наносекундных единицах.
Флаги MF_PD_ASF_FILEPROPERTIES_FLAGS Флаги, указывающие, является ли файл широковещательным или доступен для поиска.
Минимальный размер пакета данных MF_PD_ASF_FILEPROPERTIES_MIN_PACKET_SIZE Минимальный размер пакетов данных в файле в байтах.
Максимальный размер пакета данных MF_PD_ASF_FILEPROPERTIES_MAX_PACKET_SIZE Максимальный размер пакетов данных в файле (в байтах).
Максимальная скорость MF_PD_ASF_FILEPROPERTIES_MAX_BITRATE Максимальная мгновенная скорость передачи в битах в секунду.

 

Объект Stream Properties

Этот объект заголовка описывает свойства потоков в ASF-файле. В Media Foundation это управляется объектом профиля и объектом конфигурации потока. Дополнительные сведения см. в статье Создание и настройка потоков ASF.

Объект codec List

Если этот объект заголовка присутствует, атрибут MF_PD_ASF_CODECLIST предоставляет список кодеков, которые использовались для кодирования потоков в ASF-файле. Каждый поток должен содержать сведения о кодеке в этом объекте.

Объект Script Command

Если этот объект заголовка присутствует, он указывает список команд скрипта, которые поддерживаются в ASF-файле. Команда скрипта состоит из типа команды, имени команды и времени презентации. Тип команды и имя команды являются строками расширенных символов. Эти команды можно использовать для уведомления клиента о выполнении действия в определенный момент презентации. Например, приложение может использовать тип команды FILENAME для воспроизведения непрерывной последовательности файлов ASF.

Чтобы получить список команд скрипта, получите атрибут MF_PD_ASF_SCRIPT из дескриптора презентации. Приложение должно получить все команды скрипта перед началом воспроизведения.

Объект Marker

Маркер — это закладка в ASF-файле. Приложение может использовать маркеры для поиска различных точек в содержимом. Каждый маркер состоит из имени маркера, связанного времени представления и смещения от начала файла. Атрибут MF_PD_ASF_MARKER предоставляет список маркеров, доступных для файла.

Объект свойств скорости потока

В этом заголовке хранится средняя скорость каждого потока, присутствующего в ASF-файле. Это значение хранится в дескрипторе потока в атрибуте MF_SD_ASF_STREAMBITRATES_BITRATE .

Объект шифрования содержимого

Этот объект заголовка присутствует, если поставщик содержимого защитил содержимое с помощью Microsoft Digital Rights Management. В следующей таблице перечислены поля в объекте шифрования содержимого и соответствующие атрибуты дескриптора презентации:

Поле "Объект шифрования содержимого" Атрибут дескриптора презентации Описание
Секретные данные MF_PD_ASF_CONTENTENCRYPTION_SECRET_DATA Массив байтов, содержащий секретные данные.
Тип защиты MF_PD_ASF_CONTENTENCRYPTION_TYPE Строка, завершающаяся null, которая имеет значение DRM.
Идентификатор ключа MF_PD_ASF_CONTENTENCRYPTION_KEYID Строка, завершающаяся значением NULL, описывающая идентификатор ключа.
URL-адрес лицензии MF_PD_ASF_CONTENTENCRYPTION_LICENSE_URL Строка со значением NULL, содержащая URL-адрес, с которого требуется получить лицензию на использование содержимого.

 

Объект расширенного шифрования содержимого

Этот объект заголовка присутствует, если поставщик содержимого защитил содержимое с помощью пакета SDK для Windows Media Rights Manager 7. Атрибут MF_PD_ASF_CONTENTENCRYPTION_LICENSE_URL предоставляет массив байтов, соответствующий полю Data объекта заголовка. Это поле необходимо для использования содержимого.

Объект Свойств расширенного потока

Этот заголовок является частью объекта расширения заголовка. Объект Свойства расширенного потока предоставляет свойства потока, которые не определены в объекте свойств потока. Эти свойства используются главным образом для определения параметров "утечки контейнера", которые используются декодером. Эти свойства также используются кодировщиком при сжатии данных. Управление осуществляется с помощью объекта профиля и объекта конфигурации потока. Дополнительные сведения см. в статье Создание и настройка потоков ASF.

В следующей таблице перечислены поля объекта расширенных свойств потока и соответствующие атрибуты дескриптора потока.

Поле "Свойства расширенного потока" Атрибут дескриптора потока Описание
Скорость данных MF_SD_ASF_EXTSTRMPROP_AVG_DATA_BITRATE Средняя скорость передачи данных в битах в секунду.
Размер буфера MF_SD_ASF_EXTSTRMPROP_AVG_BUFFERSIZE Размер негерметикого контейнера. Значение — это количество миллисекундах данных, которые могут поместиться в буфере со средней скоростью данных.
Альтернативный битрейт данных MF_SD_ASF_EXTSTRMPROP_MAX_DATA_BITRATE Пиковая скорость передачи данных, в укусах в секунду. Пиковая скорость данных используется для потоков с переменной скоростью передачи данных.
Альтернативный размер буфера MF_SD_ASF_EXTSTRMPROP_MAX_BUFFERSIZE Максимальный размер контейнера с утечкой. Значение — это количество миллисекундах данных, которые могут поместиться в буфере с пиковой скоростью данных.
Идентификатор языка Stream MF_SD_ASF_EXTSTRMPROP_LANGUAGE_ID_INDEX Язык, используемый потоком, указанный в качестве индекса в списке языков в объекте списка языков.

 

Объект списка языков

Этот объект заголовка является частью объекта расширения заголовка. При наличии атрибут MF_PD_ASF_LANGLIST предоставляет список идентификаторов языков, поддерживаемых в файле . Идентификаторы соответствуют стандарту RFC 1766 для указания языков.

Объект взаимного исключения

Этот заголовок указывает группы потоков и их свойства, только один из которых будет доставляться одновременно. Дополнительные сведения см. в разделе Использование взаимного исключения для потоков ASF.

Объект ASF ContentInfo

Объект заголовка ASF

Поддержка ASF в Media Foundation