Профили
[Функция, связанная с этой страницей, пакет SDK для Windows Media 11, является устаревшей функцией. Он был заменен средства чтения источника и записи приемника. средства чтения источников и записи приемника оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код средства чтения исходного кода и записи приемников вместо пакета SDK для Windows Media 11, когда это возможно. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]
Профиль — это коллекция данных, описывающих конфигурацию файла ASF. Как минимум, профиль должен содержать параметры конфигурации для одного потока.
Сведения о потоке в профиле содержат скорость передачи, окно буфера и свойства мультимедиа для потока. Сведения о потоке для аудио и видео описываются точно, как носитель настроен в файле, включая кодек (если таковой) будет использоваться для сжатия данных.
Профиль также содержит сведения о различных функциях ФАЙЛОВ ASF, которые будут использоваться в файлах, созданных с ним. К ним относятся взаимное исключение, потоковой приоритетности, пропускной способности и расширения единиц данных.
Предыдущие версии пакета SDK для формата Windows Media предоставляют предварительно настроенные системные профили, которые можно использовать для создания распространенных типов файлов или немного изменены в соответствии с потребностями приложения. Системные профили не поддерживаются для кодеков серии Windows Media 9. Это связано с тем, что число "распространенных" типов файлов увеличилось экспоненциально с добавлением новых функций. Ожидается, что практически каждый создатель контента нуждается в том, чтобы выйти за рамки простых решений, предоставляемых системными профилями. Старые системные профили по-прежнему можно использовать в качестве отправного места. Дополнительные сведения см. в разделе Использование системных профилей.
Необходимо указать модуль записи с профилем для каждого файла, который вы пишете. Вы можете указать профиль для использования с записью, вызвав IWMWriter::SetProfile.
Данные профиля существуют в нескольких разных формах, которые могут использоваться пакетом SDK для формата Windows Media. Сведения о профиле также можно получить несколькими способами. Это может привести к путанице о том, что такое профиль и как он используется.
На следующей схеме показано, как данные профиля используются в пакете SDK.
Данные профиля принимают три разных формы: данные, содержащиеся в объекте профиля в приложении, XML-файле на диске и данных в заголовке ФАЙЛА ASF. Каждая из этих форм данных отображается как затененным прямоугольником на схеме.
Данные в объекте профиля
При редактировании профиля используется объект профиля, который инкапсулирует все данные профиля. Можно создать пустой объект профиля с помощью объекта диспетчера профилей. Можно также использовать объект диспетчера профилей для загрузки существующих данных профиля в объект профиля.
Большинство данных профиля необходимо добавлять и управлять ими с помощью объектов, представляющих отдельные части профиля. К ним относятся объекты конфигурации потоков, объекты взаимной исключения, объекты общего доступа к пропускной способности и объект приоритета потока. Каждый из этих типов объектов можно создать с помощью методов в объекте профиля. Внесение изменений в эти объекты не влияет на объект профиля, пока не будет использоваться метод в объекте профиля для включения обновленных данных из другого объекта.
Данные в XML-файле
Данные профиля хранятся на диске в виде XML-файла с расширением PRX-файла. В состав пакета SDK для формата Windows Media входит коллекция профилей, называемых системными профилями, охватывающими наиболее распространенные типы файлов ASF. Системные профили хранятся в файле WMSysPr9.prx. (Обратите внимание, что этот файл фактически не содержит системных профилей для серии Windows Media 9, так как концепция системных профилей больше не используется.) При сохранении собственных пользовательских профилей их необходимо сохранить в собственных файлах.
Объект диспетчера профилей можно использовать для сохранения данных из объекта профиля в строку XML-текста. Затем можно использовать все функции ввода-вывода файлов, которые вы хотите сохранить в файле на диске.
Данные в заголовке ФАЙЛА ASF
Модуль записи принимает сведения из профиля и использует его для создания потоков, которые отправляются в раздел данных файла ASF. Основная часть данных профиля хранится в разделе заголовка файла при записи файла. При воспроизведении объект чтения (или синхронный объект чтения) может получить доступ к данным в заголовке файла. В этом случае объект чтения создает объект профиля и заполняет его данными из заголовка.
При доступе к данным профиля с помощью средства чтения (или синхронного чтения) вы можете внести изменения в сведения профиля, но не существует способа применить эти изменения к файлу в средстве чтения. Вы можете применить сведения профиля из файла в средстве чтения к профилю в записи, чтобы создать новый файл с теми же параметрами, что и файл в средстве чтения. В этом случае все изменения, внесенные в сведения профиля перед настройкой профиля в записи, будут отражены в сведениях профиля, зарегистрированных средством записи.
Использование редактора профилей
Вместо создания профилей с помощью пакета SDK для формата Windows Media можно использовать редактор профилей, служебную программу, включенную в кодировщик Windows Media. В приложении кодирования используйте метод IWMProfileManager::LoadProfileByData для загрузки сохраненного профиля. В некоторых сценариях, например при использовании ограниченного количества профилей, которые никогда не изменяются динамически, может быть удобнее использовать редактор профилей для создания профилей.
Однако если вы используете редактор профилей, рекомендуется не использовать параметр "Размер видео: тот же, что и входные данные видео". Если этот флажок установлен, редактор профилей создаст профиль с высотой вывода видео и шириной, равной нулю. При обнаружении этих профилей кодировщик Windows Media задает правильные значения, соответствующие входным видео. Однако средство записи в пакете SDK для формата Windows Media не делает это автоматически, поэтому необходимо убедиться, что приложение устанавливает размер кадра видео в случаях, когда профиль не имеет.
примечание Некоторые элементы конфигурации потока не хранятся в профиле. Данные в профиле описывают формат готового ФАЙЛА ASF. Входные свойства носителя и другие данные конфигурации, используемые объектом записи для настройки кодеков, не сохраняются в профиле. Сюда входят все свойства, заданные с помощью метода IWMPropertyVault::SetProperty.
Связанные разделы