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 is a state-of-the-art encoder and decoder for high quality video and efficient transcoding. Learn how to enable Beamr transcoding and configure advanced Beamr parameters.

Note: Wowza Streaming Engine 4.8.11 or later is required. With Wowza Streaming Engine 4.8.14 and later, Beamr is enabled for encoding and decoding of H.264 and HEVC/H.265 video by default when using the Transcoder.

Enable Beamr for video encoding and decoding


To enable Beamr for H.264 or HEVC/H.265 video encoding or decoding, open and edit your Transcoder template in Wowza Streaming Engine Manager or open your Transcoder template in a text editor to edit the XML directly. For general information about creating and using Transcoder templates, see Set up and run Transcoder in Wowza Streaming Engine.

Note: With Wowza Streaming Engine 4.8.11 – 4.8.12, you must enable Beamr by editing your Transcoder template XML. Wowza Streaming Engine 4.8.13 added support for enabling Beamr in Wowza Streaming Engine Manager.

Beamr encoding

Complete the following steps to enable Beamr as an encoder in your Transcoder template from Wowza Streaming Engine Manager or the template XML.

Wowza Streaming Engine Manager
  1. From the Encoding Presets tab, click the edit icon for an Encoding Preset.
  2. Set the Encoding Implementation to Beamr and then click Save.
  3. Repeat the previous steps for each Encoding Preset in your template that you want to use Beamr.

 
XML
  1. 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>

You can confirm that the Beamr encoder is enabled and running by looking in the Access logs (wowzastreamingengine_access.log) for logs similar to the following examples:

comment server INFO 200 - JNI:TranscoderSession.videoEncoderAdd[_defaultVHost_:live/_definst_/myStream]: Create video encoder: H.264: BEAMR

encoder-video-start transcoder INFO 200 myStream {"name":"160p", "bitrate":105000, "codec":"hvc1.1.6.L60.B1.0.0.1", "profile":"Main", "level":"2.0", "frameSize":"284x160", "displaySize":"284x160", "frameRate":60.0}

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.

Beamr decoding

Complete the following steps to enable Beamr as the decoder in your Transcoder template from Wowza Streaming Engine Manager or the template XML.

Wowza Streaming Engine Manager
  1. From the Decoding Preset tab, click Edit.
  2. Set the Decoder Implementation to Beamr and then click Save.

 
XML
  1. Set the decoding implementation (<Implementation>) to Beamr for the decoding process configuration (<Decode>). For example:
<Decode>
   <Video>
      <Implementation>Beamr</Implementation>
      ...
   </Video>
   ...
</Decode>      

You can confirm that the Beamr decoder is enabled and running by looking in the Access logs (wowzastreamingengine_access.log) for logs similar to the following examples:

comment server INFO 200 -JNI:TranscoderSession.videoDecoderCreate[_defaultVHost_:live/_definst_/myStream]: Create video decoder: H.264: BEAMR

decoder-video-start transcoder INFO 200 myStream {"codec":"avc1.64002a", "profile":"High", "level":"4.2", "frameSize":"1920x1088", "displaySize":"1920x1080", "frameRate":60.0}

Use advanced Beamr configuration parameters


To identify and use advanced parameters for Beamr encoding, follow 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. 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.

Notes:
  • Advanced Beamr decoding parameters are not available.
  • To migrate an encoding configuration with advanced MainConcept video encoding parameters (<Encode>/<Video>/<Parameters>) from MainConcept to Beamr, see Migrate from MainConcept to Beamr.

More resources