Pushes Wowza streams up to Akamai via RTMP
Latest commit 4033c3f May 3, 2012 @brookemckim brookemckim logging + formatting
Failed to load latest commit information.
Application.xml Fixed some formatting. Aug 16, 2011
LICENSE.txt Updated license company name Aug 15, 2011
README.md update readme Jan 31, 2012
TelvueAkamiPushPlugin.java logging + formatting May 3, 2012


Telvue Akamai Push Plugin

The Telvue Akamai push plugin allows for an incoming Wowza stream to be pushed to Akamai via RTMP. The plugin supports multiple stream applications, as well as multiple streams per application. All of the specifics are set up through configuration files.

Required libraries

This plugin requires the Wowza SDK and the PushPublish plugin library com.wowza.wms.plugin.pushpublish.protocol.rtmp.PushPublisherRTMP

How to set up

First the code must be compiled and added to a .jar file. That jar file is then copied into the lib directory of the WowzaMediaServer folder for your version of Wowza. After this a folder for each Application stream must be created in the conf directory inside of the main Wowza directory. For example, if you had an application called MyLiveStream, and Wowza was installed at /usr/local/WowzaMediaServer/ then you would create the directory /usr/local/WowzaMediaServer/conf/MyLiveStream/. Inside of this directory you need an Application.xml file. A Sample Application.xml has been made available. The key part to note is the modules tag. Inside of this must be the module for the TelvueAkamaiPushPlugin


This module entry is what allows the plugin to work with the incoming application stream.

Configuration files

The plugin was designed to be as generic as possible using configuration files to determine where to push the incoming streams to.

Configuration file layout

The layout of the configuration file is very simple. There are 6 key:value pairs that must be included.


Optional Configuration Settings

These settings are the Wowza recommended settings by default, but are configurable.


All pairs are separated by a single ":" character, and reside on their own lines. All configuration files must be named after their stream names, and have the extension ".cnfg". So if there is a stream called MyStream, the configuration file would be "MyStream.cnfg"

Configuration directory layout

The configuration files are placed into a root directory called pushConfigFiles. This directory will hold folders for each of the applications being streamed into Wowza (Just like the conf directory). If Wowza is installed at /usr/local/WowzaMediaServer/ then the config file directory is /usr/local/WowzaMediaServer/pushConfigFiles/ If there is an application called MyLiveStream, and it has 3 streams live1, live2, and live3. Then the directory structure is /usr/local/WowzaMediaServer/pushConfigFiles/MyLiveStream/ and in this directory are 3 files live1.cnfg, live2.cnfg, and live3.cnfg. Each file has the 6 key:value pairs shown above.

Changing the base directory

It is possible (and necessary if you are not running wowza from /usr/local on a Linux box) to change where the plugin looks for the configuration files. Simply modify line 19 of the TelvueAkamiPushPlugin to the location of the pushConfigFiles directory on your server. Just remember to follow the layout within the pushConfigFiles directory and it will work.