Wowza 4.x – AudioRepeater 2 Module [EOL]
Update august 18 2021.
This module is now deprecated. It doesn’t work properly anymore. Wowza now also has the possibility to stream to Icecast2, so the module is not needed anymore. It served me well for about 7 years.
This document outlines a Wowza module which strips audio from a RTMP stream and creates a separate stream within the current application or sent to an Icecast2, Shoutcast1 or Shoutcast2 server. I wrote the first version in 2014, but decided to do a bit of a rewrite on this. I also added the files to my Github page. The original owner doesn’t have his files shared anymore.
Github: https://github.com/nlmaca/Wowza_Audiorepeater2
Reference topic: https://www.wowza.com/community/t/audiorepeater-module-for-live-audio-video-streams/603/5
The purpose of the module is to allow one single encoded stream of audio and video to be split into an additional audio only stream so providing a lower bandwidth option for other clients who may wish to listen to a broadcast.
This module ONLY works for live streams and streammanager streams (simulated live) it will not work for VOD streaming.
This tutorial requires an icecast2 server or Shoutcast server to make it work. I haven’t tested this for a shoutcast setup, but the Icecast2 setup still works on WowzaServers of version 4.8.x including the latest version 4.8.11
Requirements:
- Setup of a basic live application in Wowza (see images below)
- icecast setup ready for live streaming
- Manually: in the /conf/streamname/ you have to make a txt file with the <streamname>-stream.txt (this file has to have the streamname from the wowza application in it.
- example: my streamname from my encoder to wowza mp4:stream so my configuration file should be stream-repeat.txt
Icecast2 Setup
First: Download the Audiorepeater jar file from https://github.com/nlmaca/Wowza_Audiorepeater2/src and place the file in your Wowza Server in /usr/local/WowzaStreamingEngine/lib/
2. Open a live application on your Wowza Server, click on the Tab Modules followed by Edit.
Now click on + Add Module. A popup will appear. Add the next values
Name: AudioRepeater
Description: AudioRepeater
Fully Qualified Class Name: uk.org.shamrock.audio.AudioRepeater
And click on + Add to add the module.
You will see the Module is added. Click on Save to apply the settings.
Don’t restart the application just yet. We have to add a streamname-repeat.txt (which will link the Wowza Application to the Icecast server) into the storage directory of your Live application.
You can find the content directory of your application in the Setup tab
Example: In case we set the streamName in our RTMP encoder to live, we have to add a text file like this: live-repeat.txt
Example of the txt file
IP:10.0.0.5 Port:9000 DestinStream:mymountname Username:source Password:shamrockpass Type:icecast2 Bitrate:128 Name:This is my server Public:false Genre:Zepplin URL:http://www.shamrock.org.uk
Save this file and upload it to the contentdirectory of the application. In my case ${com.wowza.wms.context.VHostConfigHome}/content which is on the server itself /usr/local/WowzaStreamingEngine/content
Because we added a new java library we need to restart the complete server. Otherwise only restarting the application is enough.
service WowzaEngine restart
service WowzaEngineManager restart
If you have any questions or need a better example, just let me know in the comments.