Свойства кодирования
Кодировщики Windows Media Audio и Windows Media Video поддерживают различные режимы кодирования. Эти режимы обычно настраиваются путем задания свойств в кодировщике Преобразования Media Foundation (MFT). Чтобы выполнить кодирование файлов с использованием компонентов уровня WMContainer или путем создания частичной топологии, необходимо соответствующим образом настроить кодировщик, задав свойства в зависимости от режима кодирования и типа мультимедиа потока. Один и тот же набор свойств должен быть задан как в кодировщике, так и в объекте (приемник файлов ASF или мультиплексор ASF), который используется для записи файла ASF.
Свойства кодировщика определены в wmcodecdsp.h. Конкретные свойства, используемые для настройки кодировщика, задаются с помощью методов интерфейса IPropertyStore .
Свойства аудиопотока
В следующей таблице показаны конфигурации кодировщика для аудиопотока.
Тип кодирования | Имя свойства — значение |
---|---|
Кодировка с постоянной скоростью | MFPKEY_VBRENABLED — FALSE (необязательно).По умолчанию MFPKEY_VBRENABLED имеет значение FALSE. |
Кодирование переменной скорости на основе качества | MFPKEY_VBRENABLED — TRUE MFPKEY_PASSESUSED — 1 (необязательно) По умолчанию MFPKEY_PASSESUSED имеет значение 1. MFPKEY_DESIRED_VBRQUALITY — от 0 до 100 |
Неограниченное кодирование переменной скорости | MFPKEY_VBRENABLED — TRUE MFPKEY_PASSESUSED - 2 |
Кодирование с переменной скоростью с пиковой ограниченной скоростью | MFPKEY_VBRENABLED — TRUE MFPKEY_PASSESUSED - 2 MFPKEY_RMAX — максимальная скорость передачи данных MFPKEY_BMAX — максимальное окно буфера |
Свойства видеопотока
В следующей таблице показаны конфигурации кодировщика для видеопотока.
Тип кодирования | Имя свойства |
---|---|
Кодировка с постоянной скоростью | MFPKEY_VBRENABLED — FALSE (необязательно) По умолчанию MFPKEY_VBRENABLED имеет значение FALSE. MFPKEY_VIDEOWINDOW — окно буфера |
Кодирование переменной скорости на основе качества | MFPKEY_VBRENABLED — TRUE MFPKEY_PASSESUSED — 1 (необязательно) По умолчанию MFPKEY_PASSESUSED имеет значение 1. MFPKEY_DESIRED_VBRQUALITY — от 0 до 100 |
Неограниченное кодирование переменной скорости | MFPKEY_VBRENABLED — TRUE MFPKEY_PASSESUSED - 2 |
Кодирование с переменной скоростью с пиковой ограниченной скоростью | MFPKEY_VBRENABLED — TRUE MFPKEY_PASSESUSED - 2 MFPKEY_RMAX — максимальная скорость передачи данных MFPKEY_BMAX — максимальное окно буфера |
Настройка хранилища свойств кодировщика
Необходимо настроить кодировщик, указав тип кодирования и различные параметры потока перед сеансом кодирования. Необходимо также задать свойства кодировщика в хранилище свойств объекта ASF ContentInfo, представляющего объект заголовка ASF выходного файла.
Если вы используете кодировщик MFT:
- Получите ссылку на интерфейс IMFTransform кодировщика MFT, как описано в статье Использование интерфейса IMFTransform кодировщика.
- Запрос кодировщика MFT для интерфейса IPropertyStore .
- Задайте необходимые свойства, вызвав IPropertyStore::SetValue.
Если вы используете встроенные объекты активации кодировщика и уже создали настроенный приемник файлов ASF, вы можете передать хранилище свойств приемника мультимедиа ASF в MFCreateWMAEncoderActivate или MFCreateWMVEncoderActivate. Кодировщик настраивается автоматически на основе параметров, заданных приложением. Дополнительные сведения см. в процедуре, описанной в разделе Использование объектов активации кодировщика.
Дополнительные сведения о создании объектов Media Foundation с помощью объектов активации см. в разделе Объекты активации.
Связанные темы