Configure B-frame generation in Wowza Streaming Engine

The Transcoder in Wowza Streaming Engine™ media server software supports bi-directional frames (B-frames) when using the default MainConcept encoder implementation and the Main or High profile. However, B-frame generation is turned off by default.

You can change the number of B-frames generated or disable B-frames for a given <Encode> block using the mainconcept.reordering_delay and mainconcept-h265.adaptive_num_b_pics parameters. These parameters work with AVC/H.264 and HVEC/H.265 encoding.

In your Transcoder template, add the parameter to the Video/Parameters container in the <Encode> block.

For AVC/H.264

<Parameter>
    <Name>mainconcept.reordering_delay</Name>
    <Value>3</Value>
    <Type>Integer</Type>
</Parameter>

The Value property specifies the maximum distance between predicted frames (P-frames) and controls the insertion of B-frames between each P-frame. The default value is 1, meaning no B-frames will be generated. A value of instructs the Transcoder to generate and insert up to two B-frames between each P-frame.

For HEVC/H.265

<Parameter>
    <Name>mainconcept-h265.adaptive_num_b_pics</Name>
    <Value>1</Value>
    <Type>Long</Type>
</Parameter>

This parameter enables adaptive B-frame selection in the MainConcept H.265 (HEVC) encoder.

When enabled (Value set to 1), the encoder dynamically determines how many B-frames to insert between P-frames, up to the configured maximum, based on content and rate-control analysis.

When disabled (Value set to 0), the encoder uses a fixed B-frame pattern, inserting the same number of B-frames between P-frames regardless of content.