Use video decoding parameters with Wowza Transcoder

This article describes how to control video decoding in the Wowza Transcoder, part of Wowza Streaming Engine™ media server software. Users with advanced decoding knowledge can log all of the video decoding parameters that are available, and their current values, and use this information to adjust the transcoding parameters for transcoded streams.

Note: A Transcoder template has just one <Decode> block (<Decode>...</Decode>), which represents the decoding process. Video decoding parameters you apply will affect all transcoded streams. For more control over transcoding, you can apply video parameters to individual stream output renditions as they're transcoded. For more information, see Use video encoding parameters with Wowza Transcoder.


Logging available video decoding parameters
Configuring video decoding parameters
More resources

Logging available video decoding parameters

When using Wowza Transcoder, you can log all available video decoding parameters with their current values for the <Decode> block to the wowzastreamingengine_access.log file. To do this, open the transcoder template file in a text editor and add the following property to the <Properties> container in the <Decode> block in the transcoder template:
A section of the data logged in the wowzastreamingengine_access.log file might look like this:
TranscoderWorkerVideoDecoder.setupDecoder[_defaultVHost_:live/_definst_/myStream: decodeIterations:0]: Video decoding parameters
# long: dpb_size: Set DPB size option
mainconcept.dpb_size: 0
# long: deinterlaceDoubleRate: 0:single rate (default), 1:double rate
default.deinterlaceDoubleRate: 0
# long: optCPUNum: Sets number of logical CPUs, which can be used in specified SMP mode by the optSMPMode command
mainconcept.optCPUNum: 4
# long: optACCMode: Hardware acceleration mode: 0:ACC_MODE_NONE, 1:ACC_MODE_DXVA1, 2:ACC_MODE_DXVA2, 3:ACC_MODE_NVCUVID
mainconcept.optACCMode: -1
# long: output_8bit: Allow only 8bit output image option: 0:off, 1:on
mainconcept.output_8bit: 0
# long: deinterlace: 1=default (field interpolation top),256=field interpolation top, 768=field interpolation bottom, 512=vertical smoothing (add 2048 to reorder fields)
default.deinterlace: 0
# long: optSMPMode: Sets symmetric multiprocessing (SMP) mode of decoding: 0:SMP_NONE, 1:SMP_BY_PICTURES, 2:SMP_BY_SLICES
mainconcept.optSMPMode: 1
# long: maxTemporalLayer: Set maximum layer to be decode (default is 8)
mainconcept.maxTemporalLayer: 0
# long: ec: Set Error concealemnt modes (bitmask): 0:NONE, 1:SHOW_BASE_LAYER (SVC only), 2:CONCEAL_ERROR_FRAMES, 4:TEMPORAL_FOR_INTRA, 8:ERRORLESS_REF_ONLY 0
# long: loop_filter: Set loop filter mode option: 0:off, 1:on
mainconcept.loop_filter: 1
# long: mv_precision: Limits precision of motion vectors option: 0:PRECISION_QUARTER, 1:H264VD_MV_PRECISION_HALF, 2:H264VD_MV_PRECISION_FULL
mainconcept.mv_precision: 0
You can then use this information as a basis for adjusting the transcoded video using the available video decoding parameters that are logged.
Note: The data logged will vary depending on the hardware in use and the codec applied to each transcoded output rendition.

Configuring video decoding parameters

You must use a text editor to configure video parameters in the transcoder template files ([install-dir]/transcoder/templates) in your Wowza Streaming Engine installation. They can't be configured using Wowza Streaming Engine Manager.

Open the transcoder template file in a text editor and add a <Parameter> section to the <Video>/<Parameters> container in the <Decode> block, as shown in the example below. Then restart the Wowza media server for the changes to take effect.
Note: Older versions of the example transcoder templates may not have a <Parameters> container for the <Video> decoding section. Add this container if it's missing from your transcoder template.

Example configuration

As an example, for this deinterlace rate method video parameter defined as available and in use in the wowzastreamingengine_access.log file:
# long: deinterlaceDoubleRate: 0:single rate (default), 1:double rate
default.deinterlaceDoubleRate: 0
You can use this information to change the deinterlace rate method being used by adding the following <Parameter> section to the <Video>/<Parameters> container in the <Decode> block in your template file
	<!-- 0:single rate (default), 1:double rate -->

More resources