Настройка неограниченных VBR
Для указания средней скорости битовой скорости (VBR) в потоке можно использовать кодировку без ограничений скорости передачи данных, которая будет поддерживаться в кодированном содержимом. Не ограничено VBR отличается от обычного CBR в том, что дисперсия скорости битов во всем потоке может быть больше.
Скорость потока, заданная с помощью IWMStreamConfig::SetBitrate, используется в качестве требуемой средней скорости. После завершения кодирования потока можно использовать IWMPropertyVault::GetPropertyByName для получения двух дополнительных свойств: g_wszVBRPeak и g_wszBufferAverage. Эти свойства описывают пиковую скорость передачи содержимого в кодировке и среднее окно буфера содержимого соответственно.
Неограниченные VBR должны использоваться в сочетании с двухпродающей кодировкой. Двухпрохожая кодировка не задана в профиле. Перед записью потока необходимо настроить модуль записи для выполнения прохода предварительной обработки. Дополнительные сведения об использовании двухпроданой кодировки см. в разделе "Использование кодировки Two-Pass".
Чтобы настроить поток в профиле для кодирования с помощью неограниченных VBR, выполните следующие действия.
- Создайте объект диспетчера профилей, вызвав функцию WMCreateProfileManager .
- Откройте существующий профиль, в который требуется добавить поддержку VBR. Дополнительные сведения о открытии профилей см. в разделе "Работа с профилями".
- Получите объект конфигурации потока для потока, который вы хотите использовать, вызвав IWMProfile::GetStream или IWMProfile::GetStreamByNumber.
- Получите указатель на интерфейс IWMPropertyVault объекта конфигурации потока, вызвав IWMStreamConfig::QueryInterface.
- Включите кодировку VBR для потока, вызвав IWMPropertyVault::SetProperty для свойства g_wszVBREnabled .
- Задайте для g_wszVBRBitrateMax и g_wszVBRBufferWindowMax значение "ноль" с помощью IWMPropertyVault::SetProperty.
- Сохраните изменения, внесенные в поток, вызвав IWMProfile::ReconfigStream.
- Сохраните профиль или передайте его в объект модуля записи.
- Настройте модуль записи для выполнения прохода предварительной обработки.
Связанные темы