Wowza Adaptive Streaming Engine

Wowza is an adaptive stream engine that is used for streaming high-quality video and audio to any device. It provides live and on-demand streaming of media player technologies. It can deliver content to many popular media players such as Flash Player, Apple iPhone, iPad, iPod touch, JWPlayer, etc. Wowza Streaming Engine includes support for many streaming protocols including Adobe HTTP Dynamic Streaming (Adobe HDS), Apple HTTP Live Streaming (Apple HLS) MPEG-DASH streaming, MPEG-2 Transport Streams (MPEG-TS), Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP) and Real-time Transport Protocol (RTP).

1. Server installation

Wowza Media Server is a Java 6 (aka 1.6) and Java 7 (aka 1.7) application and requires the installation of a Java Runtime Environment (JRE) that supports deploying Java in server environments. The JRE has everything needed to run Wowza Media Server on your system.

The following Java packages can be used with Wowza Media Server:

1. Java Development Kit (JDK).
2. Java JRE.

We can deploy Wowza Media Server on a 64-bit operating system with the latest 64-bit Java package (JDK, JRE). Java packages can be downloaded from the Java SE Downloads webpage.

Linux

This section describes how to install Wowza Media Server on Linux systems. During the installation process, the package manager will extract and install the files in the /usr/local/WowzaStreamingEngine-4.0.1 directory and the server will be installed as the root user.

Debian Package Manager Systems

Install

sudo chmod +x WowzaMediaServer-3.6.4.deb.bin
sudo ./WowzaMediaServer-3.6.4.deb.bin

Uninstall

sudo dpkg –-purge wowzamediaserver-3.6.4

Start Server

To start the server in standalone mode on Linux, open a command shell and then enter the following commands:

cd /usr/local/WowzaMediaServer/bin
./startup.sh

To stop server, open a command shell and enter:

cd /usr/local/WowzaMediaServer/bin
./shutdown.sh

Start Engine Manager

To start the server in standalone mode on Linux, open a command shell and then enter the following commands:

cd /usr/local/WowzaMediaServer/manger/bin
./startmgr.sh

2. Playing video from Wowza server configuration in Wowza Streaming Engine Manager

Step 1:
Create a vod application from engine manager, say application name vod
Select the Content Directory
Use default
${com.wowza.wms.context.VHostConfigHome}/content
Application-specific directory
${com.wowza.wms.context.VHostConfigHome}/content/vod
Use the following directory:
[absolute path of the video file]

Step 2:
Restart the server

Step 3:
Test the player by using engine manger
Server : rtmp://[wowza-address]:1935/vod
Stream: mp4:sample.mp4

In jwplayer

jwplayer(“helloworld”).setup({
height: 420,
width: 680,
file: “rtmp://[wowza-address]:1935/vod/mp4:sample.mp4?,
});

3. Playing videos from other servers

Media Cache configuration in Wowza Streaming Engine Manager

Step 1: login
Url: http://[wowza-ip-address]:8088/enginemanager
log in using the user credentials

Step 2: Enable Media Cache
After you’ve accessed the Streaming Engine Manager, click the Server tab at the top and select Media Cache in the manager Contents pane. Enable the media cache to show the status: Enabled

Step 3: Media Cache Store Configuration
Media Cache Stores define where VOD file sources are cached on Wowza Streaming Engine when requested by clients. Default path of media cache is ${com.wowza.wms.context.ServerConfigHome}/mediacache
It is also possible to change the location or add a new store.

Step 4 : Media Cache Sources Configuration
The Media Cache functionality allows content to be retrieved from three different source types, providing very flexible deployment options. The sources can be any of the following:
File – Content is retrieved via standard file reads.
HTTP – Content is retrieved via standard HTTP requests.
S3 HTTP – Content is retrieved via standard HTTP requests that conform to S3 specifications.

If you click Sources, you should then be able to see the + Add Media Cache Source button
Enter the source name
ex: test/
Select the Source Type
There are three source type files, HTTP and amazons3
Enter the Prefix
ex: amazons3/
Enter the Base Path
example for amazon s3: http://s3.amazonaws.com/
example for HTTP server: http://[ip address]:[port]/
AWS Access Key ID and AWS Secret Access Key
These are the key from the amazon server and this Enables re-streaming from an Amazon S3 bucket that’s not publicly available.

Step 5 : Application configuration
To use Media Cache within an application, you first need to select the correct application type. The correct type is VOD Edge. Add a new vod edge application and select the media cache source. Say ‘mediacache’ is the name of the vod edge application.

Step 6: Restart the server

Step 7: Test the player by using the engine manger
To playback content when using a File Source:
Use the application named media cache.
Use an example File Source with the prefix amazons3.
Use a file named sample.mp4 in your source location.
Server: rtmp://[wowza-address]/mediacache
Stream: mp4:amazons3/[bucket_name]/sample.mp4

In jwplayer

jwplayer(“helloworld”).setup({
height: 420,
width: 680,
file:”rtmp://[wowza-address]/mediacache/_definst_/
mp4:amazons3/[bucket_name]/sample.mp4?,
});

Reference: http://www.wowza.com/forums/content.php?121#mediacacheconf_wsem

4. Switch Video Bitrate

For switching the multiple bitrate video, we need different bitrate video files and the src of the video is given in an xml file called .smil file. Given below is the sample .smil file for playing the video from amazon s3 using jwplayer.

video src=”mp4:amazons3/[bucket_name]/sample_400.mp4? system-bitrate=”400000?/>

In jwplayer

jwplayer(“helloworld”).setup({
height: 420,
width: 680,
file:”[path of .smil file]“,
});

5. Transcoder addOn

Wowza Transcoder AddOn provides the ability to ingest a live stream, decode the video then re-encode the stream to suit desired playback devices. Wowza Transcoder is a real-time video transcoding and transrating solution.

Transcode
Transcoding from selected non-H.264 video and non-AAC audio formatted streams to outbound H.263 or H.264 video and AAC audio; multiple bitrate streams can be created from a single input stream.

Transrate
Transrating incoming H.264/AAC streams to multiple bitrate outbound streams.

Supported video and audio formats:

Video (decoding)
H.264
MPEG-2
MPEG-4 Part 2

Video (encoding)
H.263v2
H.264

Audio (decoding)
AAC
G.711 (µ-law and A-law)
MPEG-1 Layer 1/2
MPEG-1 Layer 3 (MP3)
Speex

Audio (encoding)
AAC

Wowza Transcoder AddOn is supported only with Wowza Media Server installed on 64-bit versions of Windows® or Linux® operating systems. 64-bit Java runtime is also required. Wowza Transcoder AddOn is licensed separately from Wowza Media Server.

Adaptive bitrate delivery

Wowza Transcoder AddOn is designed to make live adaptive bitrate delivery easy. Wowza Transcoder can ingest a single high-bitrate live stream and create multiple lower-bitrate renditions on-the-fly. These new renditions are key frame aligned to enable adaptive bitrate delivery.

Wowza Transcoder includes sample transcoder template files in the [install- dir]/transcoder/templates folder. In each template file, a Stream Name Group is defined in Transcode/StreamNameGroups/StreamNameGroup, and Stream Name Group members are called out by their names defined in the Encodes/Encode/Name property. Stream Name Group members must be defined in encoded blocks within the same template file.

Have questions? Contact the technology experts at InApp to learn more.