Control which streams get transcoded with a Wowza Streaming Engine Java module

The ModuleTranscoderControl module for Wowza Streaming Engine™ media server software controls which streams passing through a given application are transcoded by Transcoder. It can be used when certain streams that are published to the media server don't need to be transcoded. For example, you can use this module to omit a source stream that won't be used (such as source streams that are used with the ModuleLoopUntilLive module).

Note: You can also control which streams get packetized by using ModulePacketizerControl and which streams get recorded for DVR playback by using ModuleDvrRecorderControl.

Contents


Prerequisites

Installation

Configuration

Properties

Usage

For developers

Prerequisites


Wowza Streaming Engine™ 4.0.0 or later is required.

Installation


  1. Download wse-plugin-transcodercontrol.zip.
     
  2. Extract the contents from the downloaded (zipped) package, and then copy the lib/wse-plugin-transcodercontrol.jar file from the package to the lib folder in your Wowza Streaming Engine installation ([install-dir]/lib).
     
  3. Restart Wowza Streaming Engine.

Configuration


To enable this module, add the following module definition to your application configuration. See Configure modules for details.

Name
Description
Fully Qualified Class Name
ModuleTranscoderControl Controls which streams are transcoded. com.wowza.wms.plugin.TranscoderControl

Properties


After enabling the module, you can adjust the default settings by adding the following properties to your application. See Configure properties for details.

Path
Name
Type
Value
Notes
/Root/Application transcoderControlNames String * Can be empty, a wildcard (*), or a comma-separated list of names or patterns (for example: myStream, myOtherStream). (default: *)
/Root/Application transcoderControlMatchAllow Boolean true Controls what happens when a match is found between items in the transcoderControlNames list and the stream names found in the application. If set to true, the names in transcoderControlNames that match the application's stream names will be transcoded. If set to false, the names in transcoderControlNames that match the application's stream names won't be transcoded. If the transcoderControlNames list is a * (wildcard), then all streams are transcoded when transcoderControlMatchAllow is true. (default: true)
/Root/Application transcoderControlNoMatchAllow Boolean false Controls what happens when no match is found between items in the transcoderControlNames list and the application's stream names. If transcoderControlNames has an empty value or if there are no matches between the transcoderControlNames list and application stream names, the decision to transcode is based on transcoderControlNoMatchAllow's value. (default: false)

Notes:
  • If the value of transcoderControlNames is empty, the decision to transcode all streams in the application is done based on the value of transcoderControlNoMatchAllow. If the value of transcoderControlNames is *, the decision to transcode all streams in the application is done based on the value of transcoderControlMatchAllow.
     
  • If the value of transcoderControlNames is a list of names, each name is compared with all stream names in the application. If a match is found between a transcoderControlNames entry and a stream name in the application, the decision to transcode is based on the value of transcoderControlMatchAllow. If there are no matches, the decision to transcode is based on the value of transcoderControlNoMatchAllow.

For developers


  • Get the source code on GitHub