All about Wowza Streaming Engine extension modules

2019-12-17 10:00:00

When purchasing a Wowza Streaming Engine license, there is no need to select options, editions or versions, since all the functionality of this unique media server is included in the only possible delivery package - the user obtains everything at once. Licenses differ by the period of technical support and the way of checking the license, but their functionality is the same. Wowza Streaming Engine is not a constructor, but a software product designed to work right out of the box in a large number of usage scenarios, with the possibility of more detailed configuration and refinement through an open API. Also a media server developer, Wowza Media offers a fairly extensive set of additional modules - Wowza functionality extensions created using this API. Some of the modules are available along with the source code, some are only in the form of a ready-made library, but they are all free. They can be downloaded from wowza.com and installed on your server without understanding the intricacies of programming or used as an example to create your own program code. This article was prepared by PWI to familiarize existing Wowza users and those who are just planning to purchase a media server with the modules available for download on wowza.com:

1. Additional security options.

ModuleRefererValidate module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-control-access-to-your-application-by-checking-referer-domain-modulereferervalidate)
The module is capable to allow viewing the stream from the web page of a specific Internet site only. Validation is performed by verification of the HTTP referer header in the player’s request to view the stream. The module is supplied as a ready-made Wowza library and HTML code examples. To use the module, basic HTML knowledge and minimal Wowza administration experience will suffice. The module provides an initial level of protection against unauthorized viewing. As a serious tool for ensuring the preservation of content, it cannot be considered.

ModuleSecureURLParams module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-secure-publishing-from-an-rtmp-encoder-that-does-not-support-authentication-modulesecureurlparams)
The module is intended for use with RTMP encoders not supporting the publisher authorization request / response mechanism. The key is passed in the RTMP parameters of the link to publish the stream to the server. To use the module, minimal administration experience is sufficient. The module is part of Wowza and does not require the installation of additional components. Provides a minimum level of protection against unauthorized publication of streams to the server

Authorizing a user to publish a stream can be quite a difficult task to implement on the side of a web server or mobile application, requiring the development or complication of existing program code. At the same time, a similar level of protection can be achieved using an alternative approach that does not require user authorization with the transmission of a password or security settings. You can learn more about this method of protecting a publishing point on this page PWI Secure publisher Addon for Wowza Streaming Engine

OnConnectAuthenticate2 module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-do-file-based-rtmp-authentication-with-url-query-strings-onconnectauthenticate2)
This module is similar in functionality to the previous module, but allows you to specify personal authorization parameters for several publishers in a text file

ModuleLimitStreamViewers module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-limit-the-number-of-viewers-to-a-stream-modulelimitstreamviewers)
A useful module in a situation where the number of viewers who want to view the stream exceeds the capabilities of the network connection. After setting the limit, all new viewers after reaching the specified value will be denied viewing the stream, without interfering with viewing already connected users. The module is supplied as a binary Wowza library. To use the module, minimal Wowza administration experience will be sufficient.

ModuleTimedDisconnect module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-disconnect-connected-clients-after-a-specified-time-period-moduletimeddisconnect)
The module is used to limit the time for continuous viewing of the stream by the user. The module is supplied as a Wowza .jar library. A minimum of Wowza administration experience will be sufficient to use the module.

BlacklistStreams module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-blacklist-a-stream-in-session-blackliststreams)
The module allows you to prohibit the publication of streams with specific names. Adding stream names to the black list is done from the HTML module control page. The module is supplied as Wowza library. A minimum of Wowza administration experience will be sufficient to use the module..

ModuleLimitPublishedStreamBandwidth module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-monitor-bandwidth-of-published-streams-modulelimitpublishedstreambandwidth)
In the case of limited network resources, the module allows you to limit the bit rate of the RTMP stream published by the user. For example, to prohibit the publication of streams encoded with a bitrate of more than 3mbits. As soon as the bitrate exceeds the set value, the publisher will be disabled. The module is supplied as a binary Wowza library. A minimum of Wowza administration experience will be sufficient to use the module..

2. Live stream recording management and VOD Wowza.applications

ModuleMediaListPathSelector module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-use-different-locations-for-smil-files-and-vod-assets-modulemedialistpathselector)
The module allows you to place video and metadata files (SMIL) in different directories. Files with metadata are needed when VOD content is available in several quality options - multi-bitrate. Each such set of several MP4 files must have one SMIL file. In many cases, storing video and metadata files in the same directory may be undesirable. The module allows you to specify separate paths for each type of file. The module is supplied as Wowza library. To use the module, minimal Wowza administration experience will be sufficient.

ModuleMultiTrackVOD module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-select-multiple-tracks-from-a-vod-file-modulemultitrackvod)
The MP4 container allows you to store several videos, audio tracks, as well as data tracks in one physical file. Sometimes video content with translation into several languages is recorded in such files. This module allows specifying query parameters in the viewing URL to play one of the tracks, for example, a specific translation language. The module is supplied as a Wowza .jar library. To use the module, minimal Wowza administration experience will be sufficient.

Using the capabilities of the MP4 container for storing video and sound tracks with translation in one file seems very convenient. But viewing such files in desktop players is sometimes fraught with difficulties, as the choice of a sound track in the player’s interface is not always obvious. If users download files for local viewing, this may be important. In these cases, it’s easier to store several variants of the MP4 file, each with its own soundtrack language. It will require more disk space, but fewer problems with the support of users downloading files. To support both methods of recording and playing MP4 files with several translation languages, a special module has been developed by PWI, which you can find out about here PWI Multilingual SMIL Addon for Wowza Streaming Engine

MediaCacheLocalContent module for Wowza Streaming Engine
(https://www.wowza.com/docs/media-cache-implementation-that-will-first-try-to-access-content-locally-before-getting-it-from-a-remote-source-mediacachelocalcontent)
The module allows you to configure flexible logic of media server's VOD application with MP4 files located on the local disk (for example, live stream recordings) and files available for download from external sources using the HTTP protocol (cloud storage). When a user requests to view a file, his search will first occur on the local disk, and then in external storage. The module is supplied as a ready .jar library. To install and configure it will require some experience with Wowza and the option to cache Wowza Media Cache in particular.

MediaCachePreload module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-preload-files-for-the-media-cache-system-mediacachepreload)
This module is used to preload certain files from a remote source into the Wowza Media Cache cache in order to speed up work and reduce network spikes on the first request of VOD content. It can also be used to speed up the work of the VOD application as a whole, since files downloaded to the cache are stored in an optimized format. The module is supplied as a ready library. To install and configure it will require some experience with Wowza and the caching option Wowza Media Cache in particular.

ModuleMediaWriterFileMover module of Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-move-recordings-from-live-streams)
Built-in module that does not require downloading a separate library. Used to automatically copy or move recording files to another directory on the server. A minimum of Wowza administration experience will be sufficient to use the module..

ModuleS3Upload module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-upload-recorded-media-to-an-amazon-s3-bucket-modules3upload)
Functionally similar to the previous module, but allows you to copy or move the recorded file to the S3 cloud storage. To use the module, minimal Wowza administration experience and S3 experience will be enough.

LiveStreamRecordAutoRecord module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-start-recording-streams-automatically-livestreamrecordautorecord)
Auto record management module allows you to specify the names of the streams for automatic recording, instead of background recording of all streams published to the application. To install the module, the minimum Wowza administration experience will be sufficient..

For more detailed control of live stream recording process, a specialized module was developed by PWI that allows recording live broadcasts on a schedule. You can record both one time broadcasts and repeating at certain hours and days of the week. The module supports the integration API with an external system, using which you can set the schedule and receive links to download records in the interface of a third-party web application. More detailed information about the module is available here: PWI Video recorder Addon for Wowza Streaming Engine

ModuleDvrRecorderControl module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-control-which-streams-get-recorded-by-the-ndvr-recorder-moduledvrrecordercontrol)
The functionality of the module is similar to the previous module, but is used to control nDVR recording. To install the module, the minimum Wowza administration experience will be sufficient.

3.Additional configuration options for live Wowza applications

StreamNameAlias AddOn package for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-get-the-streamnamealias-addon)
A module that allows you to create aliases for stream names. It can be used to mask stream names for security purposes or to replace long stream URLs. Also used in place of .stream MediaCaster files. The module is intended for advanced Wowza users.

ModuleDuplicateStreams module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-duplicate-streams-to-another-application-instance-moduleduplicatestreams)
The module allows you to create a duplicate stream on another Wowza application without complicated settings. An interesting option for some recording and processing scenarios. To install the module, the minimum Wowza administration experience will be sufficient.

TranscoderKeyFrameControl for Wowza Streaming Engine
(https://github.com/WowzaMediaSystems/wse-plugin-transcoderkeyframecontrol)
The module allows you to control the process of transcoding a stream and insert a key frame at a specified interval, in compliance with the synchronization between multi-bitrate streams.

ModuleTranscoderControl module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-control-which-streams-get-transcoded-moduletranscodercontrol)
The module allows you to specify the names of the streams that should be transcoded instead of creating separate transcoding patterns for each stream. To install the module, the minimum Wowza administration experience will be sufficient.

ModulePacketizerControl module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-control-which-streams-get-packetized-for-http-streaming-modulepacketizercontrol)
It is similar in functionality to the previous module, but it allows you to choose to specify streams that require packetization in the HTTP protocol. It allows you to slightly reduce the load on the server’s resources in the event that only part of the streams need to be packaged, for example, only transcoded with a logo. To install the module, the minimum Wowza administration experience will be sufficient.

ModuleAddAudioTrack module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-add-an-audio-track-to-a-video-only-stream-moduleaddaudiotrack)
The module allows you to add an audio track to the video stream, for example, a musical background to the IP camera stream. An MP4 file is used as a sound source. To install the module, the minimum Wowza administration experience will be sufficient.

ModuleAVMix module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-mix-audio-and-video-from-different-live-sources-moduleavmix)
Unlike the previous module, it allows you to use an audio track from another stream, and not from a file. It can be used for language translation during live event. The module is intended for advanced Wowza users.

ModuleLoopUntilLive application module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-loop-a-pre-roll-until-a-live-stream-starts-loopuntillive)
This module allows you to enable the bumper video during a break in the broadcast of a live stream or before the start of a live broadcast. It also supports a list of files , for example commercials instead of a single bumper video. Some Wowza administration experience will be needed to install the module.

For not experienced user, installing and configuring the LoopUntilLive module can be quite a challenge, since it actually requires installing two modules and creating XML files. PWI offers its own solution, with a simplified installation procedure and additional options for automatically switching the input stream to backup streams, taking into account their priority or to bumper file, if there are no backup streams or they are down. You can learn about all the options of the PWI module on this page: PWI stream monitor Addon for Wowza Streaming Engine

StreamPublisher module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-schedule-streaming-with-wowza-streaming-engine-streampublisher)
Module for creating a TV channel from files and live streams (automation of television broadcasting). The schedule of the TV channel is saved in a file in SMIL format. After editing the SMIL file, you need to restart the application with the module. The module is intended for advanced users of Wowza.

Despite the fact that the StreamPublisher module has enough functionality to form a static schedule for broadcasting a TV channel, it is difficult to use it in a mode with a frequently changed schedule. As a complete TV automation solution, a specialized model was developed by PWI. It supports playlists with several priorities, a schedule for the days of the week, work with files located in the cloud storage, and much more. The module comes with a web-based management console and allows you to change the schedule without restarting the application and interrupting the stream. Detailed information about the module is available at: PWI playlist management Addon for Wowza Streaming Engine

HTTPStreamControl module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-control-stream-class-streams-dynamically-httpstreamcontrol)
This module provides an HTTP playlist management API. It can be used separately or together with the previous module. Several basic playlist management commands are available: create / delete a stream, create / delete a playlist, add / remove a playlist element. The module is intended for advanced Wowza users.

ModuleCupertinoLiveAttachPicture module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-add-poster-frames-to-apple-http-streams-id3-metadata-for-app-store-audio-renditions)
The module is designed to organize the broadcasting of podcasts with listening in a mobile application. Apple policy prohibits playing in the application streams without a video track. Adding a static picture to the stream solves this problem. To install the module, the minimum Wowza administration experience will be sufficient.

ModuleTranscoderTimedSnapshot module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-take-timed-thumbnail-snapshots-of-a-wowza-transcoder-stream-moduletranscodertimedsnapshot)
The module allows you to get screenshots of the stream and save from separate files with a time stamp or overwrite. The module uses a transcoder which significantly increases the requirements for server hardware resources. A minimal Wowza administration experience will be enough to install the module..

4. Wowza administration

Analytics module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-send-connection-and-stream-statistics-to-google-analytics-analytics)
The module allows you to send view statistics to the Google Analytics server and use all the tools and reports to view current and historical statistics of hits to Wowza, similar to regular web page views.

GeoIP module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-enable-geographic-locking-modulegeoiplock)
Blocking views from specific countries and geographic regions is one of the important elements of content copyright policy. This module is designed specifically to restrict viewing from prohibited IP addresses.

ServerListenerLoadAndLockAppInstances module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-use-a-server-listener-to-load-and-lock-an-appinstance-serverlistenerloadandlockappinstances)
In general, the configuration of a Wowza application is loaded into memory only after the publication of a stream to this application begins. In some cases, this system behavior does not allow the implementation of special application functions. This module allows you to initialize the application immediately at the start of Wowza. Installing the module is very simple, but the module itself may be of interest only to an advanced Wowza user.

ModuleStreamResolver module for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-dynamically-resolve-edge-server-stream-requests-to-origin-servers-modulestreamresolver)
An interesting module for building a scalable streaming system. If there are several origin servers and it is not known in advance which of them will be published, the use of this module will greatly facilitate the configuration of edge servers. The search for origin will be done automatically. The module is intended for advanced Wowza users.

Dynamic Load Balancing AddOn for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-get-dynamic-load-balancing-addon)
A powerful system for building a fully functional content delivery network (CDN), with a geographic distribution of load and fault tolerance. The module is intended for advanced users of Wowza..

Central Configuration AddOn for Wowza Streaming Engine
(https://www.wowza.com/docs/how-to-get-central-configuration-addon-simplify-multiple-server-deployments)
Centralized management system for multiple Wowza servers. This solution is intended for administrators of several Wowza servers with the same configuration. The console allows you to apply configuration changes simultaneously to all Wowza servers.