Configuring VBR Streams

[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

You can use variable bit rate (VBR) encoding to produce high quality streams for local files or for downloading and playing. There are three options for VBR: quality-based (one-pass), unconstrained (two-pass), and constrained (two-pass). For more information about the types of VBR encoding, see Variable Bit Rate (VBR) Encoding.

You can configure VBR encoding in a profile by setting properties with the IWMPropertyVault interface. The following table describes the properties used to configure VBR encoding.

Property Description
g_wszVBREnabled Boolean value. Set to True to use VBR encoding.
g_wszVBRQuality DWORD value. Set to the desired quality level (1 to 100) for quality-based VBR encoding.
g_wszVBRBitrateMax DWORD value. Set to the maximum bit rate, in bits per second, for constrained VBR encoding.
g_wszVBRBufferWindowMax DWORD value. Set to the maximum buffer window, in milliseconds, for constrained VBR encoding.

 

The following sections describe how to use the different types of variable bit rate encoding.

Section Description
To Configure Quality-Based VBR Describes how to use variable bit rate encoding based on a static quality level.
To Configure Unconstrained VBR Describes how to use variable bit rate encoding based on a target average bit rate without an explicit peak value.
To Configure Constrained VBR Describes how to use variable bit rate encoding based on a target average bit rate and an explicit peak value.

 

Configuring Streams