Поделиться через


Свойства кодирования

Кодировщики 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:

  1. Получите ссылку на интерфейс IMFTransform кодировщика MFT, как описано в статье Использование интерфейса IMFTransform кодировщика.
  2. Запрос кодировщика MFT для интерфейса IPropertyStore .
  3. Задайте необходимые свойства, вызвав IPropertyStore::SetValue.

Если вы используете встроенные объекты активации кодировщика и уже создали настроенный приемник файлов ASF, вы можете передать хранилище свойств приемника мультимедиа ASF в MFCreateWMAEncoderActivate или MFCreateWMVEncoderActivate. Кодировщик настраивается автоматически на основе параметров, заданных приложением. Дополнительные сведения см. в процедуре, описанной в разделе Использование объектов активации кодировщика.

Дополнительные сведения о создании объектов Media Foundation с помощью объектов активации см. в разделе Объекты активации.

Создание экземпляра кодировщика MFT

Кодировщики Windows Media