Configure Beamr software encoding and decoding in Wowza Streaming Engine

Wowza Streaming Engine™ media server software supports Beamr software video encoding and decoding for the H.264 and HEVC/H.265 codecs. Beamr offers improved video quality with similar CPU usage compared to the default MainConcept software encoder and decoder. With support for Beamr, MainConcept software encoding and decoding are deprecated for H.264 and HEVC/H.265 video.

Note: Wowza Streaming Engine 4.8.11 or later is required.

Enable Beamr for video encoding and decoding


To enable Beamr for H.264 or HEVC/H.265 video encoding or decoding, open your Transcoder template in a text editor. Transcoder templates are located in [install-dir]/transcoder/templates. For general information about using Transcoder templates, see Set up and run Transcoder in Wowza Streaming Engine.

Note: Enabling Beamr in Wowza Streaming Engine Manager is currently not supported.

Beamr encoding

Set the encoding implementation (<Implementation>) to beamr for any encoded output renditions (<Encodes>/<Encode>) with the video codec (<Video>/<Codec>) set to H.264 or H.265. For example:

 
<Encode>
   <Enable>true</Enable>
   <Name>360p</Name>
   <StreamName>mp4:${SourceStreamName}_360p</StreamName>
   <Video>
      <Codec>H.264</Codec>
      <Implementation>beamr</Implementation>
      ...
   </Video>
   ...
</Encode>
 
Note: To migrate an encoding configuration with advanced MainConcept video encoding parameters (<Encode>/<Video>/<Parameters>) from MainConcept to Beamr, see Migrate from MainConcept to Beamr.

If you enable Beamr encoding, we recommend completing the steps in the Tune Beamr encoding section.

Beamr decoding

Set the decoding implementation (<Implementation>) to beamr for the decoding process configuration (<Decode>). For example:

 
<Decode>
   <Video>
      <Implementation>beamr</Implementation>
      ...
   </Video>
   ...
</Decode>      

Tune Beamr encoding


When using Beamr encoding, we recommend setting the number of threads that Beamr uses to a quarter of the processor cores available on your CPU (Processor Cores ÷ 4). You can find the value of Processor Cores in Wowza Streaming Engine Manager on the Performance Tuning page of the Server configuration.

To tune Beamr encoding, add the following parameters within the <Video>/<Parameters> container element in all encoded output renditions using Beamr. Replace the parameter value with the value appropriate for your system.

  • H.264 encoded output renditions:
     
    <Parameter>
       <Name>beamr4.num_threads</Name>
       <Value>...</Value>
       <Type>Long</Type>
    </Parameter>
    

     
  • HEVC/H.265 encoded output renditions:
     
    <Parameter>
       <Name>beamr5.mt_num_threads</Name>
       <Value>...</Value>
       <Type>Long</Type>
    </Parameter>
    

Additional Beamr configuration parameters


You can log advanced parameters for configuring Beamr encoding following the steps in Use video encoding parameters with the Transcoder in Wowza Streaming Engine. Beamr parameters for H.264 video encoding begin with beamr4, and Beamr parameters for HEVC/H.265 video encoding begin with beamr5.

Note: Advanced Beamr decoding parameters are not available.

The following example is an excerpt of the parameters logged in wowzastreamingengine_access.log with Beamr enabled for H.264 encoding:

# long: num_threads: No. of worker threads to run: 0(default)=auto (CPU threads)
beamr4.num_threads: 4

The first line provides information about the parameter, and the second line logs the parameter and its value.

More resources