Utility modules for Wowza Streaming Engine media server software

Wowza Media Systems™ provides utility modules that are ready to use in Wowza™ media server applications. The Wowza IDE is not required.

Note: Modules are designed for use with Wowza Streaming Engine™ media server software. Most are backward-compatible; however, some modules aren't fully supported in Wowza Media Server™ software. When a module requires a specific minimum version of the Wowza media server software to function, the version is noted in the module's configuration article.

Wowza Streaming Engine Module Packages

Modules listed in the Individual Modules table can be downloaded in separate packages. Each module's source code, which enables you to see how the module is implemented and to extend the module for your own use, is available on our Wowza Media Systems GitHub webpage.

Individual Modules

Module Name Module Description
AddAudioTrack Module to add an audio track to a live stream that doesn't have audio.
AkamaiValidate VHost Listener to validate Akamai servers that connect when using HTTP Origin mode.
Analytics Module to send connection and stream statistics to Google Analytics.
AVMix Module to mix audio and video from separate sources into a single stream.
BlacklistStreams Server Listener and HTTP Provider to persistently blacklist published streams.
CupertinoAutoMultibitrateFilter Module to filter connections based on a player's User-Agent string to turn off audio-only streams for players that have trouble playing them correctly.
CupertinoLiveAttachPicture Module to add poster images to iOS audio-only streams produced by using the audio-only rendition of the App Store compliance technique. This module also includes CupertinoLiveAttachPicture2 to add poster images to non-compliant live audio streams, and CupertinoVODAttachPicture to add poster images to non-compliant on-demand audio streams.
DuplicateStreams Module to copy a stream from one application instance to another on the same Wowza media server.
DvrRecorderControl Module to control which streams get recorded by Wowza nDVR recorder. It can be used with Wowza Transcoder or whenever you don't want to record all streams.
FixStreamPath Module to fix the stream path that some Flash players incorrectly parse when the video content is stored in a subfolder of an application's content location.
LimitPublishedStreamBandwidth Module to monitor bandwidth of streams published from RTMP live sources.
LimitStreamViewers Module to limit number of concurrent viewers of a stream.
LiveStreamRecordAutoRecord Module to record incoming live streams on an application automatically using the application's default StreamRecorder parameters.
LoadAndLockAppInstances Server Listener that loads applications and keeps them loaded until the Wowza Streaming Engine server is shut down. The server listener can be configured to load multiple applications or application instances on the server.
LoopUntilLive Stream Publisher application module to loop a server-side filler video stream in place of a live stream that isn't available.
MediaCacheLocalContent Media Reader implementation that enables you to make locally stored content available before it's transferred to the remote Media Cache source.
MediaCachePreload Server Listener that enables you to specify files to preload into the Media Cache before first playback. This can help to avoid any "first-read" delays that can result from the inability to read from the source quickly enough.
MediaListPathSelector Module to enable Synchronized Multimedia Integration Language (SMIL) files and the associated VOD assets to be stored in different content directory paths.
MultiTrackVOD Module to use URL query parameters to select certain tracks to send to media players when streaming a video on demand (VOD) file that has multiple video, audio, or data tracks.
OnConnectAuthenticate Module to perform file-based authentication with RTMP clients using credentials passed as parameters in the NetConnection.connect method.
OnConnectAuthenticate2 Module to perform file-based authentication with RTMP clients using credentials passed as URL query parameters.
PacketizerControl Module to control which streams get packetized for HTTP streaming. It can be used with Wowza Transcoder or any time where you don't want all streams to be packetized.
RefererValidate Module to determine the identity of the webpage that a player is launched from using an image tag or JavaScript embedded in the webpage. It's a simple but effective alternative to the ModuleHotlinkDenial module.
S3Upload Module to upload recorded files to an Amazon S3 bucket automatically. The module uses the Amazon Web Services (AWS) SDK for Java to upload the recorded files.
StreamPublisher Module to schedule streaming of streams and playlists in Wowza Streaming Engine.
StreamResolver Module to dynamically resolve client requests for streams on edge servers to origin servers in a live stream repeater (origin/edge) media server configuration.
TimedDisconnect Module to disconnect players from applications after an elapsed time period.
TranscoderControl Module to control which streams get transcoded with Wowza Transcoder. It can be used when you don't want all streams that are published to the server to be transcoded.
TranscoderTimedSnapshot Module to take a thumbnail snapshot of a Wowza Transcoder stream at regular intervals. You can save a sequence of time-stamped images or a single image that's overwritten continuously.

Wowza Streaming Engine Module Collection Package

Modules listed in the Module Collection table are available a single download package named WowzaServerAddOnCollection_4.0.zip. This Module Collection package includes source code that you can use to see how the modules are implemented and to extend the modules for your own use.

Note: See the version.txt file in the Module Collection package for details of changes.

To install the module collection for Wowza Streaming Engine

  1. Download the Module Collection package.
  2. Extract the contents from the downloaded .zip file and copy /lib/wms-plugin-collection.jar from the package to the /lib folder in your Wowza Streaming Engine installation ([install-dir]/lib).
  3. To configure a specific module in the collection, see the articles in the Modules Collection table below.
  4. Restart Wowza Streaming Engine.

Module Collection

Module Name Module Description
ModuleClientBWCheck Use with a Flash client to test the bandwidth available from the Flash client to the server (client-to-server bandwidth).
ModuleCreateSnapshot Take a single-frame snapshot of a live stream for thumbnail creation.
ModuleGetConnectionCount Get connection counts for server, applications, and application instances sent to a Flash application.
ModuleHotlinkDenial Set a list of website domain names whose HTML pages are allowed to embed the Flash clients that connect to your application.

See Also: ModuleRefererValidate
ModuleLoadBalancerEdgeLimitConnections Stop load balancer redirects when the edge server limit is reached.
ModuleLogViewerCounts Log client count and metadata for a stream every 10 seconds.
ModuleStreamControl Control Stream class streams and playlists. It can be used to dynamically create, set up, and start new live Stream class streams from static and live sources and add sources to existing Stream class streams. It uses a custom Flash client as a user interface to the module.
ModuleStreamWatchDog Monitor live streams that are published to an application and broadcasts information to connected Flash clients every 10 seconds. The Flash clients can be configured to respond to these broadcasts, either to monitor the stream health or to play the stream.
ModuleVideoNameList Get a list of files in your application's content location.
ServerListenerUDPPortRecycleTime Change the amount of time required to re-allocate released UDP ports to new IP camera connections.

Changes from the Previous Module Collection

Modules listed in the Removed Modules table are no longer available in the Wowza Streaming Engine Module Collection. They've either been replaced by core functionality in the Wowza Streaming Engine software or are no longer required. However, their configuration articles have been retained for reference.

If you need to use one of these older modules, either because you're still using Wowza Media Server software or your workflow doesn't allow you to use the core features in Wowza Streaming Engine, you can download the package that contains the removed modules.

Removed Modules

Module Name Module Description
ModuleBlockDuplicateStreamNames Prevent a live encoder from publishing a stream that already exists in the same application instance.
ModuleCalculateBitrate Calculate the bitrate of a VOD stream.
ModuleEncryptionHandlerCupertinoStreaming Use the internal method of AES-128 encryption to secure a live or VOD stream to send to Apple iOS devices.
ModuleFCSubscribe Implement a server-side method for sending FCSubscribe messages to a CDN.
ModuleLimitConnectionsToApplication Limit the number of connections to an application.
ModuleOverridePlayBlackListIP Override play to blacklist (refuse connection) to certain IP addresses.
ModuleOverridePlayRestrictIP Override play to limit Flash clients to certain IP addresses. Handling for HTTP and RTSP clients is also included.
ModuleOverridePublishRestrictIP Limit publishing of live streams to allowed IP addresses.
ModuleRequireSecureConnection Require RTMPE, RTMPTE, or RTMPS to be used to connect to a given Wowza Media Server application.

Wowza media server software and all components, including modules, source code, and other related items offered on this page, are copyrighted (c) 2006-2016 by Wowza Media Systems, LLC, all rights reserved, and are licensed pursuant to the Wowza Media Software End User License Agreement.
Originally Published: 10-02-2010.
Updated: For Wowza Streaming Engine on 12-28-2016.