Настройка неограниченных VBR

Для указания средней скорости битовой скорости (VBR) в потоке можно использовать кодировку без ограничений скорости передачи данных, которая будет поддерживаться в кодированном содержимом. Не ограничено VBR отличается от обычного CBR в том, что дисперсия скорости битов во всем потоке может быть больше.

Скорость потока, заданная с помощью IWMStreamConfig::SetBitrate, используется в качестве требуемой средней скорости. После завершения кодирования потока можно использовать IWMPropertyVault::GetPropertyByName для получения двух дополнительных свойств: g_wszVBRPeak и g_wszBufferAverage. Эти свойства описывают пиковую скорость передачи содержимого в кодировке и среднее окно буфера содержимого соответственно.

Неограниченные VBR должны использоваться в сочетании с двухпродающей кодировкой. Двухпрохожая кодировка не задана в профиле. Перед записью потока необходимо настроить модуль записи для выполнения прохода предварительной обработки. Дополнительные сведения об использовании двухпроданой кодировки см. в разделе "Использование кодировки Two-Pass".

Чтобы настроить поток в профиле для кодирования с помощью неограниченных VBR, выполните следующие действия.

  1. Создайте объект диспетчера профилей, вызвав функцию WMCreateProfileManager .
  2. Откройте существующий профиль, в который требуется добавить поддержку VBR. Дополнительные сведения о открытии профилей см. в разделе "Работа с профилями".
  3. Получите объект конфигурации потока для потока, который вы хотите использовать, вызвав IWMProfile::GetStream или IWMProfile::GetStreamByNumber.
  4. Получите указатель на интерфейс IWMPropertyVault объекта конфигурации потока, вызвав IWMStreamConfig::QueryInterface.
  5. Включите кодировку VBR для потока, вызвав IWMPropertyVault::SetProperty для свойства g_wszVBREnabled .
  6. Задайте для g_wszVBRBitrateMax и g_wszVBRBufferWindowMax значение "ноль" с помощью IWMPropertyVault::SetProperty.
  7. Сохраните изменения, внесенные в поток, вызвав IWMProfile::ReconfigStream.
  8. Сохраните профиль или передайте его в объект модуля записи.
  9. Настройте модуль записи для выполнения прохода предварительной обработки.

Настройка Потоки VBR