Stream types
In Wowza Media Server, MediaStreams represent an incoming or outgoing stream of video, audio, or metadata. Wowza Media Server provides a mechanism for defining custom server-side MediaStream implementations or stream types. These stream types are configured using the Streams/StreamType property in the Application.xml file. The following list shows the more commonly used stream types and their intended use (for a complete list, see the Wowza Media Server User’s Guide):
- default: Video on demand streaming of static Flash media, H.264/AAC, and MP3 content
- record: Video recording
- live: Publish and play live video content (best for one-to-many streaming of live events)
- live-lowlatency: Publish and play live video content (best for one-to-one or one-to-few video/audio chat applications)
- live-record: Same as live, plus content is recorded
- shoutcast: Audio re-streaming of a SHOUTcast/Icecast MP3 or AAC+ audio stream
- shoutcast-record: Same as shoutcast, plus content is recorded
- liverepeater-origin: Origin stream type used by live stream repeater to deliver a single stream in an origin/edge configuration
- liverepeater-edge: Edge stream type used by live stream repeater to deliver a single stream in origin/edge configuration
- rtp-live: Re-streaming of an RTSP/RTP, native RTP, or MPEG-TS stream
- rtp-live-record: Same as rtp-live, plus content is recorded
Supported media
Wowza Media Server supports the following media file formats: FLV (Flash Video), MP4 (QuickTime container), and MP3. (See the list below for common file extensions.) To play video on demand content, the proper prefix must be prepended to the file name to create a stream name. For example, to play the MP4 file mycoolvideo.mov, use the stream name mp4:mycoolvideo.mov. The following list shows the more common file type prefixes (for a complete list, see the Wowza Media Server User’s Guide):
- flv: FLV (Flash Video) This is the default media type so the file name prefix and extension can be omitted.
Example: “flv:mycoolvideo.flv”
- mp4: MP4 (QuickTime container) .mp4, .f4v, .mov, .m4v, .mp4a, .3gp, and .3g2).
Example: “mp4:mycoolvideo.mov”
- mp3: MP3 (.mp3)
Example: “mp3:mycoolsong.mp3”
- smil: SMIL (XML file used to configure adaptive bitrate streams – .smil).
Content storage
Wowza Media Server is configured by default to use a single content directory that’s located at [install-dir]/content. You can change the default content location for an application by changing the Streams/StorageDir property in Application.xml to the desired content path.
Wowza Media Server for Amazon EC2
Wowza Media Systems has teamed with Amazon Web Services to make billing quick, easy, and secure for the combination of Wowza Media Server machine time with various Amazon Elastic Compute Cloud (EC2) instances and bandwidth. For more information, see:
Real Time Messaging Protocol (RTMP – Adobe Flash Player)
Wowza Media Server can stream adaptive bitrate live and video on demand content to Adobe Flash Player over RTMP. Wowza Media Server is a great alternative to Adobe Media Server. It supports media streaming and other features such as shared objects, video recording, video chat, remote procedure calls, and more. Wowza Media Server supports all video and audio formats that Adobe Flash Player supports:
Video
- H.264
- On2 VP6
- Sorenson Spark
- Screen video and Screen video 2
Audio
- AAC, AAC Low Complexity (AAC LC), AAC High Efficiency (HE-AAC) v1 and v2
- MP3
- Speex
- Nellymoser Asao
Adobe Flash Player is a cross-browser, cross-platform technology that exists on many personal computing and mobile devices. The Adobe Flash plugin runs SWF files that are generated by Flash authoring tools such as the Adobe Flash authoring tool and Adobe Flex. ActionScript® is the most common Flash programming language. Using ActionScript, an SWF file can be programmed to do many things within a webpage including playback of streaming media.
Wowza Media Server and Adobe Flash Player communicate using a NetConnection object and media is streamed using a NetStream object. The NetConnection.connect method is used to establish a connection between Wowza Media Server and Adobe Flash Player. It takes an RTMP URL in the following form:
[protocol-method]://[wowza-ip-address]/[application]/[application-instance]
where:
- [protocol-method]: rtmp, rtmpe (encryption), rtmpt (tunneling), rtmpte (encryption and tunneling), or rtmps (tunneling over SSL)
- [wowza-ip-address]: IP address or domain name and port of Wowza Media Server (default port 1935)
- [application]: Application name
- [application-instance]: Application instance name (if omitted, defaults to _definst_)
For example, to connect to a Wowza Media Server at the address mycompany.com, using the application name myapplication, the URL to use in the NetConnection.connect method is:
rtmp://mycompany.com/myapplication
The NetStream.play method is used to start streaming. It takes as its first argument a stream name. For example, to play the media file mycoolvideo.mov, you would use the stream name mp4:mycoolvideo.mov. Some pre-built players combine the server connection URL used in the NetConnection.connect method and the stream name used in the NetStream.play method into a single URL. This URL takes the form:
[protocol-method]://[wowza-ip-address]/[application]/[application-instance]/[stream-name]
For example, to connect to a Wowza Media Server at the address mycompany.com, using the application name myapplication to play the video on-demand file named mycoolvideo.mov, the URL is:
rtmp://mycompany.com/myapplication/mp4:mycoolvideo.mov
Adobe HTTP Dynamic Streaming (HDS – Adobe Flash Player)
Wowza Media Server can stream adaptive bitrate live and video on-demand content to Flash Player 10.1 or later using the Adobe HTTP Dynamic Streaming (HDS) protocol. Adobe HDS is a chunk-based streaming protocol that uses HTTP for delivery. All media-chunking and packaging necessary to deliver a stream using this protocol is performed by Wowza Media Server. Adobe HDS is referred to as “San Jose” streaming in Wowza Media Server configuration files. When streaming video on demand content, Wowza Media Server supports MP4 files (QuickTime container) and MP3 files. FLV files aren’t supported.
Adobe HDS streaming leverages an XML manifest file to describe the list of chunks available for streaming. An Adobe HDS streaming playlist URL has the following form:
http://[wowza-ip-address]/[application]/[application-instance]/[stream-name]/manifest.f4m
where:
- [wowza-ip-address]: IP address or domain name and port of the Wowza Media Server (default port 1935)
- [application]: Application name
- [application-instance]: Application instance name (if omitted, defaults to _definst_)
- [stream-name]: Stream name with stream prefix
For example, to play the video on demand file mycoolvideo.mov located on the Wowza Media Server at the address mycompany.com, using the application name myapplication, the URL is:
http://mycompany.com:1935/myapplication/mp4:mycoolvideo.mov/manifest.f4m
Wowza Media Server currently supports the following video and audio codecs when using this streaming protocol:
Video
- H.264
- On2 VP6 (live only)
- Screen video and Screen video 2 (live only)
- Sorenson Spark (live only)
Audio
- AAC, AAC Low Complexity (AAC LC), AAC High Efficiency (HE-AAC) v1 and v2
- MP3
- Nellymoser Asao (live only)
- Speex (live only)
Adobe HDS streaming requires a Flash-based player that’s built using the Open Source Media Framework (OSMF). Wowza Media Server ships with several OSMF-based players in the examples folder:
- [install-dir]/examples/VideoOnDemandStreaming/FlashHTTPPlayer/player.html
- [install-dir]/examples/LiveVideoStreaming/FlashHTTPPlayer/player.html
Apple HTTP Live Streaming (HLS – iPhone, iPad, iPod touch)
Wowza Media Server can stream adaptive bitrate live and video on demand H.264, AAC, and MP3 content to iOS based devices (iPhone/iPad/iPod touch iOS version 3.0 or greater), QuickTime player (version 10 or greater), Safari browser (version 4.0 or greater), and other devices such as the Roku® and Amino set-top boxes and some brands of smart TVs using the Apple HTTP Live Streaming (HLS) protocol. Apple HLS is a chunk-based streaming protocol that uses HTTP for delivery. All media-chunking and packaging necessary to deliver a stream using this protocol is performed by Wowza Media Server. Apple HLS is referred to as “Cupertino” streaming in Wowza Media Server configuration files.
Apple HLS streaming leverages a playlist wrapper to describe the list of chunks available for streaming. An Apple HLS streaming playlist URL has the following form:
http://[wowza-ip-address]/[application]/[application-instance]/[stream-name]/playlist.m3u8
where:
- [wowza-ip-address]: IP address or domain name and port of the Wowza Media Server (default port 1935)
- [application]: Application name
- [application-instance]: Application instance name (if omitted, defaults to _definst_)
- [stream-name]: Stream name with stream prefix
For example, to play the video on demand file mycoolvideo.mov located on the Wowza Media Server at the address mycompany.com, using the application name myapplication, the URL is:
http://mycompany.com:1935/myapplication/mp4:mycoolvideo.mov/playlist.m3u8
The iPhone, iPad, and iPod touch (iOS devices) and Apple TV® digital media extender support the following media formats:
Video
Audio
- AAC, AAC Low Complexity (AAC LC), High Efficiency AAC (HE-AAC) v1
- Dolby® Digital 5.1 Surround Sound (AC-3) and Dolby Digital Plus (Enhanced AC-3 or E-AC-3)
- MP3
The iPhone, iPad, and iPod touch don’t support HE-AAC v2.
Microsoft Smooth Streaming (Microsoft Silverlight)
Wowza Media Server can stream adaptive bitrate live and video on demand H.264, AAC, and MP3 content to Microsoft Silverlight, Windows Phone devices, and other devices using the Microsoft Smooth Streaming protocol. Microsoft Silverlight is a cross-browser, cross-platform technology that exists on many personal computing devices. Smooth Streaming is a chunk-based streaming protocol that uses HTTP for delivery. All media chunking and packaging necessary to deliver a stream using this protocol is performed by Wowza Media Server so there’s no need for an IIS web server.
Smooth Streaming leverages a playlist wrapper (called a manifest) to describe the list of chunks that are available for streaming. A Smooth Streaming manifest URL has the following form:
http://[wowza-ip-address]/[application]/[application-instance]/[stream-name]/Manifest
where:
- [wowza-ip-address]: IP address or domain name and port of the Wowza Media Server (default port 1935)
- [application]: Application name
- [application-instance]: Application instance name (if omitted, defaults to _definst_)
- [stream-name]: Stream name with stream prefix
For example, to play the video on-demand file mycoolvideo.mov, located on the Wowza Media Server at the address mycompany.com, using the application name myapplication, the URL is:
http://mycompany.com:1935/myapplication/mp4:mycoolvideo.mov/Manifest
The following media formats can be used when streaming to Silverlight using Wowza Media Server:
Video
Audio
- AAC, AAC Low Complexity (AAC LC), AAC High Efficiency (HE-AAC) v1 and v2
- Dolby Digital 5.1 Surround Sound (AC-3) and Dolby Digital Plus (Enhanced AC-3 or E-AC-3)
- MP3
For more information about Smooth Streaming, including adaptive bitrate streaming, see the Wowza Media Server User’s Guide.
RTSP/RTP/MPEG-TS (QuickTime, VLC, mobile devices, set-top boxes, encoders)
Wowza Media Server can stream live H.264, AAC, and MP3 content to players and devices that support the Real Time Streaming Protocol (RTSP), Real-time Transport Protocol (RTP), and MPEG-2 Transport Stream protocol (MPEG-2 TS). This includes players and devices such as QuickTime player (version 10 or greater), VideoLAN VLC player, set-top boxes, and 3GPP devices. Wowza Media Server can also accept incoming streams from encoding devices that use these protocols. Wowza Media Server supports RTP and MPEG-2 TS input and output over UDP as well as multicast. In addition, Wowza Media Server supports interleaved RTSP/RTP (RTP over the RTSP TCP connection) and RTSP/RTP tunneling (RTSP/RTP over HTTP), which enables RTSP/RTP to be delivered in network environments that don’t allow UDP transmission.
An RTSP/RTP URL in Wowza Media Server has the following form:
rtsp://[wowza-ip-address]/[application]/[application-instance]/[stream-name]
where:
- [wowza-ip-address]: IP address or domain name and port of the Wowza Media Server (default port 1935)
- [application]: Application name
- [application-instance]: Application instance name (if omitted, defaults to _definst_)
- [stream-name]: Stream name with stream prefix
For example, to play the live stream with the stream name mylivestream, located on the Wowza Media Server at the address mycompany.com, using the application name myapplication, the URL is:
rtsp://mycompany.com:1935/myapplication/mylivestream
For more information about Real Time Streaming Protocol streaming, including support for RTSP/RTP/MPEG-TS encoders, see the Wowza Media Server User’s Guide.