Migrate from MainConcept to Beamr in Wowza Streaming Engine

To migrate a Wowza Streaming Engine™ media server software encoding configuration with advanced MainConcept video encoding parameters (<Encode>/<Video>/<Parameters>) from MainConcept to Beamr, you need to update advanced parameters' names and values to work with Beamr. This article includes a mapping of some advanced MainConcept encoding parameters to equivalent or similar Beamr encoding parameters with details on how to adjust your parameter configuration for Beamr.

Notes:
  • Wowza Streaming Engine 4.8.11 or later is required to use Beamr. See Configure Beamr software encoding and decoding in Wowza Streaming Engine for how to enable Beamr.
  • Wowza Streaming Engine 4.8.14 and later automatically map the advanced MainConcept parameters in this article to Beamr equivalents, with values also automatically adjusted as needed. You only need to update your encoding configuration if it includes other advanced MainConcept parameters.
  • Advanced Beamr decoding parameters are not available.

Identify MainConcept video encoding parameters


First, identify if you have any advanced MainConcept video encoding parameters configured by opening your Transcoder template and looking for parameters beginning with mainconcept within the <Video>/<Parameters> container element in all H.264 or HEVC/H.265 encoded output renditions (<Encodes>/<Encode>) that you want to migrate to using Beamr. For example:

<Encode>
   ...
   <Video>
      ...
      <Parameters>
         <Parameter>
            <Name>mainconcept.level_id</Name>
            <Value>1</Value>
            <Type>Long</Type>
         </Parameter>
      </Parameters>
   </Video>
   ...
</Encode>

Replace MainConcept parameters with Beamr parameters


The following table maps some common MainConcept H.264 encoding parameters to equivalent or similar Beamr H.264 encoding parameters. This is not a complete list of advanced MainConcept encoding parameters. If your Transcoder template includes MainConcept encoding parameters that are not in the following table, we recommend logging available Beamr encoding parameters to identify possible replacements according to the instructions in Use video encoding parameters with the Transcoder in Wowza Streaming Engine.

To replace an existing MainConcept parameter with a Beamr parameter, edit the parameter name (<Name>) to use the Beamr name. For some parameters, you also need to update the parameter value (<Value>).

Wowza Streaming Engine 4.8.14 and later

Wowza Streaming Engine 4.8.14 and later automatically map the parameters in the following table for you. With Wowza Streaming Engine 4.8.14 and later, you only need to update your encoding configuration for other advanced parameters. Access logs (wowzastreamingengine_access.log) report these parameters with a warning. For example:

WARN 200 - TranscoderNativeParameterInfo.mapEncodingParameter: MainConcept encoding parameter [mainconcept.entropy_coding_mode=1] not supported by Beamr4 and won't be applied

Wowza Streaming Engine 4.8.11 – 4.8.13

With Wowza Streaming Engine 4.8.11 – 4.8.13, you need to manually update your encoding configuration for Beamr if it uses any advanced MainConcept parameters, including the following parameters. Refer to the following notes for information about when and how to update the parameters' values.

MainConcept name Beamr name Notes
mainconcept.bit_rate beamr4.kbps Divide the value you used for mainconcept.bit_rate by 1000 to get the equivalent value for beamr4.kbps (beamr4.kbps = mainconcept.bit_rate ÷ 1000).
 
Note: The bitrate can also be configured using the Bitrate property (bps) within <Encode>/<Video> instead. This parameter overrides the value of Bitrate.
mainconcept.bit_rate_mode beamr4.rc_type
  • If you set mainconcept.bit_rate_mode to 0, set beamr4.rc_type to 2.
  • If you set mainconcept.bit_rate_mode to 2, set beamr4.rc_type to 1.
mainconcept.idr_interval beamr4.keyframes No change to <Value> needed.
 
Note: The keyframe interval can also be configured using the KeyFrameInterval properties within <Encode>/<Video> instead. This parameter overrides the value of the KeyFrameInterval properties.
mainconcept.level_id beamr4.level_idc No change to <Value> needed.
 
Note: The H.264 level can also be configured using the Profile property within <Encode>/<Video> instead. This parameter overrides the value of Profile.
mainconcept.max_bit_rate beamr4.max_kbps Divide the value you used for mainconcept.max_bit_rate by 1000 to get the equivalent value for beamr4.max_kbps (beamr4.max_kbps = mainconcept.max_bit_rate ÷ 1000).
mainconcept.num_reference_frames beamr4.max_refs No change to <Value> needed.
mainconcept.reordering_delay beamr4.bframes Subtract one from the value you used for mainconcept.reordering_delay to get the equivalent value for beamr4.bframes (beamr4.bframes = mainconcept.reordering_delay − 1).
mainconcept.write_au_delimiters beamr4.aud No change to <Value> needed.

More resources