WowzaStreamingEngine_UsersGuide
WowzaStreamingEngine_UsersGuide
User Guide
Wowza Streaming Engine
User Guide
Version: 4.8
www.wowza.com
Document history
Version Description Date
Doc v4.8.0 Document release for Wowza Streaming Engine 4.8.0 02-05-2020
Note
More complete and up-to-date documentation is available online. See Wowza Streaming Engine product articles for
the latest content.
Table of contents
1
Chapter
What's new
W owza Streaming EngineTM media server software is a robust, customizable, and highly
extensible platform that powers live and on-demand adaptive bitrate streaming to
any device, anywhere. Wowza Streaming Engine 4.8.0 contains several fixes and
enhancements that improve the functionality of the media server as well as some exciting
new features.
Transcoder enhancements
Wowza Streaming Engine 4.8.0 includes a variety of improvements to the Transcoder
feature. Wowza Transcoder now supports hardware accelerated decoding of HEVC/H.265 on
NVIDIA NVCUVID-based GPUs. The libvpx library was also upgraded to version 1.8.1 to
improve VP8 and VP9 transcoding.
7
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
However, because of changes between Java versions, if your Wowza Streaming Engine
workflow uses custom modules or plugins, we recommend that you test them in a non-
production environment prior to updating your production media server software or Java
version. For more information, see Update to Java 9.
8
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
2
Chapter
W owza Streaming Engine supports a wide variety of streaming protocols and formats to
enable live and video-on-demand (VOD) streams to play on the desktop, mobile
devices, set-top boxes, and more. Here’s an overview of all of the protocols and
formats that Wowza Streaming Engine supports to help you understand both what the
protocols are, and which devices and players use each protocol.
For more information, see our technical article Understanding protocols and formats
supported by Wowza Streaming Engine.
HLS
Wowza Streaming Engine uses HTTP Live Streaming (HLS) to deliver adaptive bitrate live and
VOD content to iOS devices (iOS 3.0 or later); Wowza Player and QuickTime Player (version
10 or later); Safari (4.0 or later); devices such as the Roku and Amino set-top boxes; and
some smart TVs. HLS is a segment-based protocol that uses HTTP for delivery.
Wowza Streaming Engine delivers HLS streams in any of three ways.
First, using the "Cupertino" packetizer (cupertinostreamingpacketizer), the original HLS
packetizer in Wowza Streaming Engine, the server software packages the content into
keyframe-aligned segments that it calls chunks. These segments use the MPEG-TS container
format. Cupertino streaming, as it's called, can be used for both live and VOD streaming.
Cupertino streaming uses HTTP/1.1 and supports the following codecs:
• Video – H.264
• Audio –AAC, AAC-LC, and HE-AAC (AAC+ or aacPlus); Dolby® Digital 5.1 Surround
Sound (AC-3) and Dolby Digital Plus (Enhanced AC-3 or E-AC-3); MP3
9
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
MPEG-DASH
Wowza Streaming Engine can deliver MPEG-DASH (Dynamic Adaptive Streaming over HTTP)
adaptive bitrate live and VOD content to clients that can play MPEG-DASH streams. MPEG-
DASH is an ISO standard (ISO/IEC 23009-1) for streaming segment-based content over HTTP.
10
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Wowza Streaming Engine provides two packetizers that perform all of the segmenting and
packaging necessary to deliver MPEG-DASH streams. The first,
mpegdashstreamingpacketizer, packetizes the content into keyframe-aligned segments that
it calls chunks. These segments use the fMP4 container format. MPEG-DASH streaming can
be used for both live and VOD streaming and supports the following codecs:
• Video – H.264, H.265
• Audio – AAC, AAC-LC, HE-AAC (AAC+ or aacPlus), HE-AACv2 (enhanced AAC+, aacPlus
v2); Dolby Digital 5.1 Surround Sound (AC-3) and Dolby Digital Plus (Enhanced AC-3
or E-AC-3); (Wowza Streaming Engine 4.7.2.01 or later) MPEG-4 Audio Lossless
Coding (ALS)
The newer cmafstreamingpacketizer packetizer also segments and packages MPEG-DASH
live streams. CMAF streaming packetizes content into keyframe-aligned segments that use
the fMP4 container format. The CMAF packetizer supports the following codecs for live
streaming over MPEG-DASH:
• Video – H.264, H.265
• Audio – AAC, AAC-LC, HE-AAC (AAC+ or aacPlus), HE-AACv2 (enhanced AAC+, aacPlus
v2); Dolby Digital 5.1 Surround Sound (AC-3) and Dolby Digital Plus (Enhanced AC-3
or E-AC-3)
Wowza Streaming Engine provides MPEG-DASH players with a list of the available media
segment URLs in a Media Presentation Description (MPD) manifest. The MPD describes
segment information such as timing, language, timed text, and media characteristics (video
resolution and bitrate). Players request media segments sequentially based on network
conditions, device capabilities, and other factors to enable uninterrupted playback of the
adaptive bitrate media presentation.
MPEG-DASH is codec-agnostic and supports multiplexed and non-multiplexed encoding.
Multiple content protection (DRM) schemes are supported; Common Encryption (CENC) can
also be used to encrypt MPEG-DASH streams once and deliver the single encrypted stream
to players that support different licensing systems. For more information see Secure MPEG-
DASH steams using Common Encryption in Wowza Streaming Engine.
WebRTC
Wowza Streaming Engine can stream live and VOD content to browser players that support
WebRTC streams. WebRTC is an open-source project designed to provide browsers and
mobile applications with real-time communication capabilities.
11
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Wowza Streaming Engine supports the following video and audio codecs when using this
streaming protocol:
• Video – VP8, VP9, H.264
• Audio – Opus, Vorbis, Pulse Code Modulation (PCM) types PCMU and PCMA
For more information about playing WebRTC streams, see Play WebRTC streams from
Wowza Streaming Engine.
SRT
Wowza Streaming Engine supports MPEG-TS-based Secure Reliable Transport (SRT) in Linux
and Windows server installations. A MediaCaster type enables live applications to ingest SRT
source streams and make them available to all player technologies supported by Wowza
Streaming Engine, and the generic SRT stream target enables you to deliver the SRT content
directly to SRT destinations.
Wowza Streaming Engine supports these codecs for SRT:
• Video – H.264, H.265, VP8, VP9
• Audio – AAC, AAC-LC, HE-AAC (AAC+ or aacPlus), HE-AACv2 (enhanced AAC+, aacPlus
v2); MP3, AC-3 (Dolby® Digital); E-AC-3 (Dolby Digital Plus); ALS (LOAS); Opus; Vorbis
For more information, see Ingest and publish an SRT stream with Wowza Streaming Engine
and Use SRT to distribute live streams from Wowza Streaming Engine.
HDS
Wowza Streaming Engine can stream adaptive bitrate live and VOD content to Adobe Flash
Player 10.1 or later using the HTTP Dynamic Streaming (HDS) protocol. Developed by
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 Streaming Engine. HDS is referred to as "San Jose" streaming in the Wowza
Streaming Engine configuration files.
When streaming VOD content, Wowza Streaming Engine software supports MP4 files
(QuickTime container) and MP3 files. FLV files are supported for RTMP playback. Wowza
Streaming Engine supports the following video and audio codecs when using the HDS
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; Speex (live only)
12
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Smooth Streaming
Wowza Streaming Engine can stream adaptive bitrate live and VOD H.264, AAC, and MP3
content to Microsoft Silverlight, Windows Phone devices, and other devices using the
Smooth Streaming protocol from Microsoft. Microsoft Silverlight is a cross-browser, cross-
platform technology. 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 Streaming Engine, so there's no need for an IIS web server.
The following media formats can be used when streaming to Smooth Streaming clients:
• Video – H.264
• Audio – AAC, AAC Low Complexity (AAC LC), AAC High Efficiency (HE-AAC) v1 and v2;
MP3
RTMP
Wowza Streaming Engine can send adaptive bitrate live and VOD streams to Adobe Flash
Player using the Real Time Messaging Protocol (RTMP). Wowza Streaming Engine supports
all video and audio formats that 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
13
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
RTSP/RTP
Wowza Streaming Engine 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 later), VideoLAN VLC player, set-top boxes, and 3GPP
devices. Wowza Streaming Engine also accepts incoming source streams from encoding
devices that use these protocols, and supports RTP and MPEG-2 TS input and output over
UDP as well as multicast. In addition, Wowza Streaming Engine 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.
Wowza Streaming Engine supports the following RTSP, RTP, and MPEG specifications:
MPEG-TS ISO/IEC 13818-1
MPEG-TS over RTP rfc2038
RTP: AAC rfc3640, rfc3016, ISO/IEC 14496-3
RTP: G.711 rfc3551
RTP: H.263 rfc2429
RTP: H.264 rfc3984, QuickTime Generic RTP Payload Format
RTP: MP3 rfc2250
RTP: MPEG-2 (video) rfc2250
RTP: MPEG-4 Part 2 rfc3106
RTP: Speex rfc5574
RTSP rfc2326
Wowza Streaming Engine supports both Single Program (SPTS) and Multi Program (MPTS)
MPEG-TS streams and enables you to specify a specific program, a specific language, and a
specific audio or video track in an MPTS stream.
Query parameters are part of the udp:// URL in a .stream file. There are four options for
selecting a stream. For more information, see Specify per-stream settings in Wowza
Streaming Engine .stream files.
14
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Fragmented MP4
The ISO standards MPEG-DASH and CMAF use the fragmented MP4 (fMP4) container
format. The MPEG-DASH and CMAF packetizers in Wowza Streaming Engine
(mpegdashstreamingpacketizer and cmafstreamingpacketizer, respectively) wrap stream
segments in the fMP4 container format. HLS master playlists and MPEG-DASH manifests
generated by the CMAF packetizer reference these fMP4 files and make them available to
players when they request available segments for playback.
MPEG-TS
MPEG Transport Stream (MPEG-TS) is the container format defined in the MPEG-2 ISO
standard. The Cupertino packetizer (cupertinostreamingpacketizer) in Wowza Streaming
Engine wraps stream segments (what it calls chunks) in the MPEG-TS container format. The
HLS master playlist generated by the Cupertino packetizer references these MPEG-TS files
and makes them available to players when they request available segments for playback.
15
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Note
MP4 (QuickTime container) is the default media type, so the file name prefix and extension can be
omitted.
The media prefix also controls the file container that stores recorded live video. If mp4: or if
no prefix is specified, the content is recorded to an MP4 (QuickTime) container. Only H.264,
AAC, and MP3 content can be recorded to an MP4 container. If flv: is specified, an FLV (Flash
Video) container is used.
16
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
• Transrate – Ingest an H.264 video and AAC/MP3 audio stream and create a full set of
bitrate renditions that have key frames aligned to the source stream for adaptive
bitrate streaming.
• Audio-only – Ingest an H.264 video and Speex audio stream from Adobe Flash Player
and convert the Speex audio format to AAC, Vorbis, or Opus to make the stream
compatible with additional player technologies.
17
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
18
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Note
Wowza Streaming Engine APIs can encrypt live and VOD HLS streams on the fly using SAMPLE-AES
(sample-level encryption for version 5 of the HLS streaming protocol), ENVELOPE-PLAYREADY
(supported by BuyDRM player technology with PlayReady DRM), and CHUNK-PLAYREADY
(supported by INSIDE Secure player technology with PlayReady DRM). You can also use the Wowza
Streaming Engine API to encrypt live and VOD Microsoft Smooth Streaming content on the fly with
PlayReady protection for INSIDE Secure player technology. For more information, see Secure HLS
streaming using DRM encryption with Wowza Streaming Engine.
AddOns
A variety AddOn packages can be downloaded and installed to extend and enhance Wowza
Streaming Engine functionality.
• Dynamic Load Balancing – Enables you to dynamically distribute HTTP, RTMP, and
RTSP streams across multiple Wowza Streaming Engine edge servers. The edge
servers communicate with one or more Wowza Streaming Engine load balancers,
and clients connect to the load-balancing server to get the least-loaded edge server.
See Get the Dynamic Load Balancing AddOn for Wowza Streaming Engine.
• Wowza StreamLock– A security option for network encryption that provides near-
instant provisioning of free 256-bit Secure Sockets Layer (SSL) certificates to verified
Wowza users for use with Wowza Streaming Engine. StreamLock-provisioned SSL
certificates provide the best security when used with RTMP. The certificates can also
be used for secure HTTP streaming (HTTPS). Certificates expire after one year. See
Get SSL certificates from the Wowza Streaming Engine StreamLock service.
19
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Installed examples
Wowza Streaming Engine includes the several examples that highlight various aspects of
server functionality, including how to configure and play a live stream, how to configure and
play VOD content, and how to set up live stream nDVR. You can find the examples in the
[install-dir]/examples folder. The README.html file in that folder describes the examples
and how to install them.
20
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
3
Chapter
Server installation
W owza Streaming Engine is a powerful Java-based media server. When you install
Wowza Streaming Engine, it automatically installs the server version of Java that it
requires. In addition, an installation wizard guides you through the process, making it
easy to get Wowza Streaming Engine up and running.
21
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
• A silent installation option is available for all platforms, including Red Hat Package
Manager and Debian Package Manager options for Linux. Approval is required for
silent installations. For information, contact sales@wowza.com.
22
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
• macOS –
▪ /Applications/Wowza Streaming Engine 4.7.8/
▪ /Library/LaunchDaemons/
▪ /Library/WowzaStreamingEngine/ (an alias)
▪ /Library/WowzaStreamingEngine-4.7.8/
• Linux – /usr/local/WowzaStreamingEngine-4.7.8/ (as the root user)
7. Accept the default option Start Wowza Streaming Engine automatically.
This option instructs the server software and Wowza Streaming Engine Manager to
start automatically as system services. If you don't choose this option, you must start
Wowza Streaming Engine and Wowza Streaming Engine Manager manually before
you can use the software. See Starting and stopping the software and Starting and
stopping Wowza Streaming Engine Manager.
8. Click Finish.
23
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Notes
• By default, the Wowza Streaming Engine 4.7.8 service runs under the Local System account. This
can limit how Wowza Streaming Engine interacts with the underlying operating system. For
example, you may have issues streaming content from UNC paths. To address this issue, update
the service to run as a named user. To do this, right-click the service name in the Services
window, click Properties, and then on the Log On tab specify an alternate user account that the
service can use to log on under This account.
24
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
• The hardware acceleration used by Transcoder is only available when running Wowza Streaming
Engine as a Windows standalone application. It's not available when Wowza Streaming Engine is
invoked as a service.
Note
The Start Services and Stop Services applications also start and stop the Wowza Streaming Engine
Manager system service. See Starting and stopping Wowza Streaming Engine Manager.
Note
The Start Standalone Mode and Stop Standalone Mode applications also start and stop Wowza
Streaming Engine Manager in standalone mode. See Starting and stopping Wowza Streaming Engine
Manager.
25
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Note
The operations in this section must be performed as the root user with sudo access.
To start the service, open a Terminal window and enter one of the following commands,
depending on your Linux distribution:
sudo service WowzaStreamingEngine start
-or-
/etc/init.d/WowzaStreamingEngine start
-or-
/etc/init.d/WowzaStreamingEngine stop
Notes
• If these instructions don't apply to your Linux distribution, consult your Linux manual.
• The Linux services script subsystem doesn't use the full $PATH definition to determine the location
of Linux commands. It uses what's known as the init path. This can lead to an issue on Linux
distributions where the default installation location for Java can't be found by applying the init path.
See Manually install and troubleshoot Java on Wowza Streaming Engine.
26
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Note
For security reasons, the non-root user can't bind to port numbers less-than or equal to 1024 on most
Linux and Unix distributions. If you plan to run Wowza Streaming Engine on a lower-numbered port
such as 80 (HTTP), 443 (HTTPS, RTMPS), or 554 (RTSP), Wowza Streaming Engine must run as the
root user.
27
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
3. In the License Keys box, enter your license key for Wowza Streaming Engine. If you
need to enter multiple license keys, enter each license key on a separate line.
4. Click Save, and then click Restart Now at the top of the Server Setup page when
prompted. The new license(s) take effect after the server restarts.
Notes
• After you restart the server, Wowza Streaming Engine Manager displays the first and last five digits
of the license keys that you entered in the License Keys box to help protect this information.
• You can also open the Server.license file in a text editor, enter each new license key on a new
line, and then restart the server.
28
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
A Subscription license is best for variable demand. You can install as many instances of
Wowza Streaming Engine as needed using the same license key and enable the Transcoder,
nDVR, and DRM technologies integrated with each instance. A Subscription license key has
an ENGM4 prefix.
Notes
• If you purchased a Perpetual license for Wowza Streaming Engine before December 23, 2015,
and the license key has an EPBU4 prefix, it licenses Wowza Streaming Engine and the
Transcoder and nDVR technologies. A separate license key is provided to enable the Wowza
DRM technology integrated with the server instance (you don't have to enter the DRM license key
in the License Keys box unless you want to enable this technology in Wowza Streaming Engine).
• If you purchased a license for Wowza Streaming Engine before January 1, 2015, contact
sales@wowza.com to learn how to license the software.
29
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Trial licenses
A Trial license for Wowza Streaming Engine lets you try out the software for free. After it
expires and you acquire a new, paid license for the software, you must delete the Trial
license key from the License Keys box and then add the new, paid key. If you're not sure if a
license key is a Trial key, you can find it in the email that you received from Wowza when you
downloaded the trial software.
Note
You don't need to reinstall Wowza Streaming Engine or re-create its settings when you replace the Trial
license key with a paid license for the software.
30
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
In the Edit host port dialog box, add the additional ports to the Port(s) list (this list is comma-
delimited).
Wowza Streaming Engine can't share ports with other programs or services, so make sure no
other programs or services are running on the added ports.
The following table shows some of the common ports used for streaming.
• TCP 80 – HLS, MPEG-DASH, HDS, Smooth Streaming, RTMPT
• TCP 443 – RTMPS, HTTPS
• TCP 554 – RTSP
31
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
The following configuration files are read when the server starts:
Software updates
Between production releases, development builds are periodically released in the form of
updates. Updates give you early access to new features and the opportunity to give
feedback. Information about what's included in each update is in a README.txt file in the
updater .zip file. For information about how to apply an update, see Update your Wowza
Streaming Engine installation.
32
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
4
Chapter
Application configuration
33
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
34
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
In most streaming scenarios, if [streamName] doesn't have path elements and the default
[appInstance] name is used, the URL can be shortened to:
[protocol]://[address]:[port]/[application]/[streamName]
The following are example URLs for various streaming protocols. The examples assume that
a live video with the stream name myStream using the application name live is streamed.
HLS
http://mycompany.com:1935/live/myStream/playlist.m3u8
MPEG-DASH
http://mycompany.com:1935/live/myStream/manifest.mpd
HDS
http://mycompany.com:1935/live/myStream/manifest.f4m
Smooth Streaming
http://mycompany.com:1935/live/myStream/Manifest
RTMP
Server: rtmp://mycompany.com/live
Stream: myStream
RTSP/RTP
rtsp://mycompany.com:1935/live/myStream
35
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Stream types
Named stream types control different types of streaming (live, VOD, recording, origin/edge,
and so on). Stream types are automatically configured when you create an application and
configure it in Wowza Streaming Engine Manager. Alternatively, you can use a text editor to
change the StreamType property in the <Streams> container element in an Application.xml.
Here are all of the stream types and their uses.
36
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Each stream type exposes properties that are used for tuning the stream type. For example,
the stream type definitions for live and live-lowlatency differ only in the tuning that's
accomplished through the stream properties. Defined properties for a stream type can be
overridden on a per-application basis by defining new property values on an application's
Properties tab in Wowza Streaming Engine Manager or by editing the
<Streams>/<Properties> container element in Application.xml.
37
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Note
For CMAF streaming, which can’t be configured in Wowza Streaming Engine Manager, both the
cupertinostreaming and mpegdashstreaming HTTP streamers must be specified in
Application.xml. For information on how to create a basic CMAF stream, see Stream using CMAF
with Wowza Streaming Engine.
Live streams coming into Wowza Streaming Engine must be packaged (packetized) for
delivery to players that use HTTP streaming protocols. The
<Streams>/<LiveStreamPacketizers> section in Application.xml specifies the streaming
protocols that are used when packetizing live streams. There are two types of packetizers:
streaming packetizers and repeater packetizers.
Streaming packetizers are used when delivering a live stream from a single Wowza
Streaming Engine server to clients. They're also used to deliver a live stream from a Wowza
Streaming Engine origin server to an edge server when using the live repeater mechanism in
an origin/edge configuration. When you select Playback Types options in Wowza Streaming
Engine Manager to create HTTP streamers for live applications, the corresponding live
stream packetizer values (separated by commas) are added to the <LiveStreamPacketizers>
section in Application.xml.
Playback type Description
HLS Enables HLS live streaming. Adds the
cupertinostreamingpacketizer streaming packetizer to the
<LiveStreamPacketizers> section in Application.xml.
MPEG-DASH Enables MPEG-DASH live streaming. Adds the
mpegdashstreamingpacketizer streaming packetizer to
the <LiveStreamPacketizers> section in Application.xml.
HDS Enables HDS live streaming. Adds the
sanjosestreamingpacketizer streaming packetizer to the
<LiveStreamPacketizers> section in Application.xml.
Smooth Streaming Enables Smooth Streaming live streaming. Adds the
smoothstreaming streaming packetizer to the
<LiveStreamPacketizers> section in Application.xml.
nDVR Adds the dvrstreamingpacketizer streaming packetizer to
the <LiveStreamPacketizers> section in Application.xml
for nDVR support.
38
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Note
For CMAF streaming, which can’t be configured in Wowza Streaming Engine Manager, the
cmafstreamingpacketizer live stream packetizer must be specified in Application.xml. For
information on how to create a basic CMAF stream, see Stream using CMAF with Wowza Streaming
Engine
Repeater packetizers deliver a live stream from a Wowza Streaming Engine edge server to
clients in a live stream repeater (origin/edge) configuration. When you select Playback Types
options in Wowza Streaming Engine Manager to create HTTP streamers for live edge
applications, the corresponding repeater packetizer values (separated by commas) are
added to the <LiveStreamPacketizers> section in Application.xml.
Playback type Description
HLS Enables HLS live stream repeating. Adds the
cupertinostreamingrepeater repeater packetizer to the
<LiveStreamPacketizers> section in Application.xml.
MPEG-DASH Enables MPEG-DASH live stream repeating. Adds the
mpegdashstreamingrepeater repeater packetizer to the
<LiveStreamPacketizers> section in Application.xml.
HDS Enables HDS live stream repeating. Adds the
sanjosestreamingrepeater repeater packetizer to the
<LiveStreamPacketizers> section in Application.xml.
Smooth Streaming Enables Smooth Streaming live stream repeating. Adds the
smoothstreamingrepeater repeater packetizer to the
<LiveStreamPacketizers> section in Application.xml.
nDVR Adds the dvrstreamingrepeater repeater packetizer to the
<LiveStreamPacketizers> section in Application.xml for
use with nDVR.
For information about how to implement live stream repeating (origin/edge configurations)
in Wowza Streaming Engine, see Live stream repeater (origin/edge live streaming). For
information about how to configure CMAF stream repeating, see Stream using a CMAF live
stream repeater in Wowza Streaming Engine.
Note
nDVR in Wowza Streaming Engine provides the ability to record a live stream while simultaneously
allowing users to play or pause the live stream, rewind to a previously recorded point, or resume
viewing at the live point. nDVR can be extended to an edge server in an origin/edge configuration. See
Set up a Wowza Streaming Engine live stream repeater for Wowza nDVR.
39
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
For more information, see Configure closed captioning for Wowza Streaming Engine live
streams.
40
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
See Configure closed captioning for Wowza Streaming Engine video-on-demand streams.
41
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Modules
Modules are Java classes that are loaded dynamically when an application instance is loaded
and provide an application's functionality. In Wowza Streaming Engine Manager, the
Modules list defines an order-dependent list of modules to load for a given application.
Many AddOn packages provide additional functionality through the use of modules. See Use
Wowza Streaming Engine Java modules.
In Wowza Streaming Engine Manager, click the Modules tab on an application page to see
the list of modules that are loaded.
Each module must have a unique Name. The Description for provides a detailed description
of the module and isn't used in any operations. The Class is the fully qualified path to the
Java class that provides the module's functionality. In general, new modules are always
added to the end of the Modules list. The Java class that makes up a server-side module is
most often bound to a .jar file in the Wowza Streaming Engine installation. Wowza Streaming
Engine comes with many modules that can be added to the Modules list to provide
additional functionality. For information, see Use Wowza Streaming Engine Java modules.
You can also use the Wowza IDE to develop your own custom modules to provide additional
functionality. See Extend Wowza Streaming Engine using the Wowza IDE.
42
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Notes
• Access to the Modules tab is limited to administrators with advanced permissions. See Managing
sign-in credentials.
• Wowza provides an assortment of ready-to-use utility modules for Wowza Streaming Engine
applications. For a complete list, see Module examples.
Properties
Properties are name/value pairs that provide a means for tuning and modifying the default
application configuration. Properties can also be used server-side as a means to pass data to
custom modules from applications. Properties are listed in the Application.xml configuration
file and are defined using the format:
<Property>
<Name>[name]</Name>
<Value>[value]</Value>
<Type>[type]</Type>
</Property>
Where <Name> is the property name, <Value> is the property value, and <Type> is the
property type. Valid property types are Boolean, Integer, Long, and String.
In Wowza Streaming Engine Manager, click the Properties tab on an application page and
enable default properties to either add them to the application configuration or to override
existing property values. For details about the properties, see the Wowza Streaming Engine
Configuration Reference Guide.
43
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Many technical articles on the Wowza website explain how to use custom properties to tune
Wowza Streaming Engine and to add advanced functionality. When adding custom
properties, it's important to add them to the correct <Properties> container element in
Application.xml. Article instructions always specify the Path value to use in the Add Custom
Property dialog box, which adds the property to the correct <Properties> container.
Note
Access to the Properties tab is limited to administrators with advanced permissions. See Managing
sign-in credentials.
Media types
Media types aren't defined in application configuration files but are an important part of
streaming. Wowza Streaming Engine supports many media types. It can read the following
media or file types:
• MP4 (QuickTime container - .mp4, .f4v, .mov, .m4a, .m4v, .mp4a, .mp4v, .3gp, .3g2,
etc.)
• FLV (Flash Video - .flv)
• MP3 content (.mp3)
• SMIL (Synchronized Multimedia Integration Language - .smil)
• AMLST (API-based MediaList)
44
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Media types are specified by a prefix to the stream name. For example, to play the MP4 file
mycoolvideo.mov, use the stream name mp4:mycoolvideo.mov, where mp4: is the media
type prefix. If no media type prefix is specified, the media type prefix defaults to mp4:. The
following table shows the supported media type prefixes.
Media type prefix Description
mp4: QuickTime container (default if no prefix specified)
flv: Flash Video
mp3: MP3 file
id3: MP3 file (returns only ID3 tag information)
smil: Synchronized Multimedia Integration Language (for
adaptive bitrate delivery)
ngrp: Named Group (for adaptive bitrate delivery)
amlst: API-based MediaList (for adaptive bitrate delivery)
The media type prefix is also used to control the file container that stores recorded live
video. When publishing video, if the mp4: media type prefix is specified or if no prefix is
specified, then the content is recorded to an MP4 (QuickTime) container. Only H.264, AAC,
and MP3 content can be recorded to an MP4 container. If the flv: media type prefix is
specified, an FLV (Flash Video) container is used.
Synchronized Multimedia Integration Language (.smil) files provide a means to specify a
group of live streams or VOD files for adaptive bitrate switching. For stream switching to
occur correctly, key frames must be properly aligned across all of the available bitrates in a
live stream. For VOD, multiple files must be pre-encoded to the desired bitrates and have key
frames that are aligned across all of the encoded files. The smil: media type prefix is used to
playback the content that's specified in .smil files.
Transcoder uses a templating system to cluster streams into logical groups (called stream
name groups) for live adaptive bitrate delivery. Stream name groups and SMIL files serve the
same purpose and either method can be used for playback of live streams. Stream name
groups are defined in the transcoder template and are available for playback using the ngrp:
media type prefix.
The Wowza Streaming Engine Java API can be used to intercept requests for adaptive bitrate
streams and provide the stream grouping. To use this feature, you must use the amlst:
stream name prefix to use a set of Java objects that describe the adaptive bitrate stream (an
API-based MediaList). When Wowza Streaming Engine reads a SMIL file, it creates a
MediaList and passes it back to the streaming provider. The API provides a means for
intercepting the requests and creating the MediaList dynamically in a Wowza Streaming
Engine module. See Use Java API calls to resolve SMIL file requests (AMLST).
45
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Content storage
By default, Wowza Streaming Engine streams VOD content from (and records VOD content
to) the [install-dir]/content folder. You can specify a different storage location for a VOD
application in Wowza Streaming Engine Manager by changing the Content Directory value
for the application. For example, to configure an application to use an application-specific
content folder, select the Application-specific directory option:
Using this setting, the files can be accessed from the [install-dir]/content/[application]
folder, where [application] is the application's name (live).
46
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
You can further customize content storage for your applications by specifying the fully
qualified path to the storage location in the Use the following directory box. You can
substitute variables in place of path elements. The following variables are supported:
• ${com.wowza.wms.AppHome} – Application home directory
• ${com.wowza.wms.ConfigHome} – Configuration home directory
• ${com.wowza.wms.context.VHost} – Virtual host name
• ${com.wowza.wms.context.VHostConfigHome} – Virtual host configuration
directory
• ${com.wowza.wms.context.Application} – Application name
• ${com.wowza.wms.context.ApplicationInstance} – Application instance name
47
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
5
Chapter
Advanced configuration
Stream files
An easy method for re-streaming live MediaCaster streams is to configure a Stream file (a file
with a .stream file name extension) that live applications can use to connect to the source
stream through the MediaCaster system. A Stream file just contains the URI of the source
stream. When the source stream is started, a live application can use the information in the
Stream file to connect to the stream so that it's available for playback when requested by
players.
48
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
49
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
7. In the Connect a Stream File dialog box, configure the options to enable a live
application to connect to the stream and then click OK.
Select the MediaCaster Type in the list that corresponds to the source stream type:
• rtp – For IP camera streams (RTSP/RTP streams) and for streams from native
RTP and MPEG-TS encoders
• shoutcast – For SHOUTcast/Icecast streams
• liverepeater – For RTMP streams pulled from another Wowza Streaming
Engine server
8. Click OK and restart Wowza Streaming Engine.
Note
In Wowza Streaming Engine Manager, you can connect to live MediaCaster streams that are
referenced in Synchronized Multimedia Integration Language (SMIL) files. In the Incoming Streams
feature, you can connect to MediaCaster streams to record them.
Startup Streams
The second method for starting live MediaCaster streams is to use Startup Streams in
Wowza Streaming Engine Manager to create stream entries in the [install-
dir]/conf/StartupStreams.xml file. Stream entries in this file start automatically when the
50
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
server starts (or more specifically, when a virtual host starts). The format of a single entry in
StartupStreams.xml is:
<StartupStream>
<Application>[application]</Application>
<MediaCasterType>[mediacaster-type]</MediaCasterType>
<StreamName>[stream-name]</StreamName>
</StartupStream>
Where:
• [application] is the name of live application that re-streams the source stream
• [mediacaster-type] is a valid mediacaster type: rtp, rtp-record, shoutcast, shoutcast-
record, liverepeater, and
• [stream-name] is the name of the source stream
For example, to create a stream entry in StartupStreams.xml, do the following:
1. Click the Server tab in Wowza Streaming Engine Manager and then click Startup
Streams in the contents panel.
2. On the Virtual Host Startup Streams page, click Add Startup Stream.
3. In the Add to Startup Streams dialog box, configure the options to create the entry in
the StartupStreams.xml file and then click OK.
For more information, see Start streams when Wowza Streaming Engine starts.
Note
Two server-side methods can also be used to start and stop streams using the MediaCaster system:
IApplicationInstance.startMediaCasterStream(…); and
IApplicationInstance.stopMediaCasterStream(…); For more information about these methods, see
the Wowza Streaming Engine Java API reference documentation.
51
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Here’s an example that uses a single origin server with an application named liveorigin. To
configure the origin server, do the following:
1. In Wowza Streaming Engine Manager, click the Applications tab.
2. On the Add Application page, click Live.
3. In the New Application dialog box, enter the following application name: liveorigin
4. On the liveorigin application page, select the following Playback Types:
• MPEG-DASH
• Apple HLS
• Adobe HDS
• Microsoft Smooth Streaming
5. Click Save.
52
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
In the following examples, assume that the origin server uses the domain name
origin.mycompany.com and that there are three edge servers with the domain names
edge1.mycompany.com, edge2.mycompany.com, and edge3.mycompany.com. If the
stream name is mycoolevent, the URLs for players streaming from edge1 would be:
HLS (when Cupertino or CMAF streaming is enabled)
http://edge1.mycompany.com:1935/liveedge/mycoolevent/playlist.
m3u8
MPEG-DASH
http://edge1.mycompany.com:1935/liveedge/mycoolevent/manifest.
mpd
HDS
http://edge1.mycompany.com:1935/liveedge/mycoolevent/manifest.
f4m
Smooth Streaming
http://edge1.mycompany.com:1935/liveedge/mycoolevent/Manifest
You can configure more than one origin server to provide a hot backup if the primary origin
server goes offline. For example, if the failover origin server has the domain name
origin2.mycompany.com, and it's configured identically as the primary origin server, you
would specify the following Secondary Origin URL value in the liveedge application page on
each edge server:
wowz://origin2.mycompany.com/liveorigin
Edge servers try to connect to the first origin server, and if this fails, they try to connect to
the second origin server.
This example assumes that you're using an encoder in which the stream name is a simple
name and not a URL. If you're using an encoder such as an MPEG-TS encoder in which the
stream name isn't a simple stream name, you can use .stream files on the origin server to
hide the complex stream names. For example, if your complex stream name on the origin
server is udp://0.0.0.0:10000, use Stream files in Wowza Streaming Engine Manager to
create a file named mycoolevent.stream and set the contents to udp://0.0.0.0:10000. You
can then use mycoolevent.stream in place of mycoolevent in the example URLs above to
play the stream.
Notes
• WOWZ is a TCP-based messaging protocol in Wowza Streaming Engine and is used for server-to-
server communication. It's enabled by default. If one of the servers in the origin/edge configuration
is running a version of Wowza Streaming Engine that doesn't support WOWZ, an RTMP
connection is established instead.
53
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
• You can secure the connection between Wowza Streaming Engine servers in and origin/edge
configuration by using a SecureToken shared secret. See Configure a live stream repeater in
Wowza Streaming Engine.
• If you use a non-push-based encoder (native RTP or MPEG-TS) and streaming players using any
of the HTTP streaming protocols, you must use Startup Streams in Wowza Streaming Engine
Manager to start the stream on the origin server and keep it running. Streams don't need to be kept
running on edge servers.
• To provide load balancing between edge servers, you can use the dynamic load balancing system.
See Get the Dynamic Load Balancing AddOn for Wowza Streaming Engine.
54
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Notes
• The *-record stream types are the easiest to use but provide the least amount of control. If you use
this method, the entire duration of the published stream is recorded to a single file in the live
application's streaming file directory. If the stream source starts and stops, the file is versioned with
a version number and a new file is started. You can control the container format used (MP4 or
FLV) by specifying a stream name prefix in the stream source. If you specify the mp4: prefix, the
stream is recorded to an MP4 (QuickTime) container. An MP4 container can only record H.264,
AAC, and MP3 media data. If you specify the flv: prefix, the stream is recorded to an FLV
container. The FLV container is the only option if you're recording with Flash Player.
• If you use one of the *-record stream types and also configure Incoming Streams for a live
application to record a live source stream, two or more copies of the recording are created in the
live application's streaming file directory by default. The *-record stream types record the stream to
a single file and the recorded file name is the same as the stream name. The Incoming Streams
feature creates one or more recordings with file names that include the stream name and other
information, depending on selected segmentation and versioning options.
• The WebcamRecording example in the Wowza Streaming Engine installation is a specialized way
to record a remote live stream when using Adobe Flash Player. It uses the record stream type and
built-in Flash Player capabilities to control the recording process.
Virtual hosting
Wowza Streaming Engine can be configured to run multiple virtual host (VHost)
environments on a single server. This lets multiple users share a server in separate
environments. Each VHost environment has its own set of configuration files, application
folders, and log files and can be configured with its own system resource and streaming
limitations. By default, Wowza Streaming Engine is configured with a single VHost named
_defaultVHost_.
Configuration files
The VHosts.xml configuration file in the Wowza Streaming Engine [install-dir]/conf folder
defines each VHost environment. The following items are required in VHosts.xml to define a
VHost:
• VHosts/VHost/Name – The name of the VHost
• VHosts/VHost/ConfigDir – The configuration directory for the VHost
• VHosts/VHost/ConnectionLimit – The maximum number of simultaneous
connections that the VHost supports. If this value is 0, the VHost can support an
unlimited number of simultaneous connections.
55
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Typical configuration
A typical VHosts.xml file for a VHost environment contains two VHosts. The following
example shows the default VHost (_defaultVHost_) and a new VHost (_newVHost_):
<Root>
<VHosts>
<VHost>
<Name>_defaultVHost_</Name>
<ConfigDir>${com.wowza.wms.ConfigHome}</ConfigDir>
<ConnectionLimit>0</ConnectionLimit>
</VHost>
<VHost>
<Name>_newVHost_</Name>
<ConfigDir>${com.wowza.wms.ConfigHome}/newVHost</ConfigDir>
<ConnectionLimit>0</ConnectionLimit>
</VHost>
</VHosts>
</Root>
The directory structure for the VHosts in the above example would be:
[install-dir]
[defaultVHost]
[applications]
[conf]
Application.xml
clientaccesspolicy.xml
crossdomain.xml
MediaCache.xml
StartupStreams.xml
Tune.xml
VHost.xml
admin.password
publish.password
[content]
[keys]
[logs]
[transcoder]
[newVHost]
[applications]
[conf]
Application.xml
clientaccesspolicy.xml
crossdomain.xml
MediaCache.xml
StartupStreams.xml
Tune.xml
VHost.xml
admin.password
publish.password (Optional, see Notes below)
[content]
[keys]
[logs]
[transcoder]
Copyright © 2007–2020 Wowza Media Systems™, LLC. All rights reserved.
56
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Notes
• By default, all VHost environments share the publish.password file for the default VHost. You can
use source authentication in Wowza Streaming Engine Manager to set up unique publishing
credentials for each VHost and the unique credentials are stored in this file.
Alternatively, you can retain the publish.password file when you copy the [install-dir]/conf folder
to your new VHost environment and then configure the securityPublishPasswordFile property
for new VHost applications to reference this file for publishing credentials. If you do this, you can't
use source authentication in Wowza Streaming Engine Manager to update the file. See Configure
security using Wowza Streaming Engine Manager.
• For more information about how to configure per-VHost logging, see Logging.
VHosts are defined in the VHosts.xml file located at [install-dir]/conf/. Each VHost gets its
own configuration directory structure with its own set of configuration files and application,
conf, and logs folders. VHosts can be added, modified, and deleted through the VHosts.xml
configuration file. If you change VHosts.xml while Wowza Streaming Engine is running, the
changes take effect after restarting the server.
After adding a new VHost to VHosts.xml and creating its directory structure, select the new
VHost on the Server tab in Wowza Streaming Engine Manager to manage it.
newVHost:
<HostPort>
<IpAddress>192.168.1.2</IpAddress>
<Port>1936</Port>
<HostPort>
-or-
defaultVHost:
<HostPort>
<IpAddress>192.168.1.2</IpAddress>
57
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
<Port>1935</Port>
<HostPort>
newVHost:
<HostPort>
<IpAddress>192.168.1.3</IpAddress>
<Port>1935</Port>
<HostPort>
To set up the IP address and port values, click the Server tab in Wowza Streaming Engine
Manager, select a VHost in the list, and then click Virtual Host Setup in the contents panel. In
the Virtual Host Setup page, click Edit to update the IP addresses and port values for the
default host ports.
58
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
6
Chapter
W owza Streaming Engine Manager lets you set up, manage, and monitor streams using
a web browser. It extends the programmatic and command line configuration and
management of Wowza Streaming Engine, enabling publishers with a diverse range of
technical abilities to have greater control and confidence when streaming video.
You can use Wowza Streaming Engine Manager with the latest versions of most modern web
browsers that support HTML5 and CSS 3. We recommend that you use the Google Chrome
browser.
Notes
• Wowza Streaming Engine must be started to use Wowza Streaming Engine Manager. See
Starting and stopping the software.
• Wowza Streaming Engine Manager can't run as a service and in standalone mode at the same
time.
• After starting Wowza Streaming Engine Manager, open it in a web browser with the URL
http://[wowza-ip-address]:8088/enginemanager, where [wowza-ip-address] is the Wowza
Streaming Engine IP address or domain name.
• For more information about how to sign in to Wowza Streaming Engine Manager, see Managing
sign-in credentials.
59
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
60
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Note
The Start Services and Stop Services applications also start and stop the Wowza Streaming Engine
system service. See Starting and stopping the software.
Note
The Start Standalone Mode and Stop Standalone Mode applications also start and stop Wowza
Streaming Engine in standalone mode. See Starting and stopping the software.
61
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Note
The operations in this section must be performed as the root user with sudo access.
To start the service, enter one of the following commands, depending on your Linux
distribution:
sudo service WowzaStreamingEngineManager start
-or-
/etc/init.d/WowzaStreamingEngineManager start
-or-
/etc/init.d/WowzaStreamingEngineManager stop
Note
If these instructions don't apply to your Linux distribution, consult your Linux manual.
62
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
After you sign in, you can enable access to the advanced settings for the default
administrator account and add accounts for other users. You can create additional user
accounts with both administrative and read-only access.
Administrators can create accounts for other users with full administrative access to Wowza
Streaming Engine Manager or with read-only privileges.
63
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
You can also add new user accounts by updating the [install-dir]/conf/admin.password file
using a text editor. For example, to add the newAdmin and readOnly user accounts with
access to advanced settings, edit the admin.password file as follows.
# Admin password file (format [username][space][password][space][group])
#username password group|group
Admin AdminPassword admin|advUser
The readOnly user can view the advanced settings but can't change them.
Home page
1 Click the tabs on the menu bar to access features that help you manage the server and
virtual host (the Server tab) and create and manage live and video-on-demand
application types (the Applications tab). Click the Help link to access articles and
resources on the Wowza website that help you configure streaming workflows.
2 View information in the Status area about how the total number of connections (both
source and playback connections) for the server (the Connections chart) and the total
server resource consumption for CPU, Java heap, memory, and disk (the Usage chart).
You can also see if Transcoder, nDVR, and DRM are licensed and enabled, and which
applications they're enabled for.
64
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
3 Use the information (IP address and port) shown in Application Connection Settings to
publish a stream to the server from your encoder or camera.
4 Quickly verify that the server is up and running by using built-in test players to stream
the sample.mp4 video file that's installed with the server software.
5 Use the Getting Started information to quickly jump to configuration areas in Wowza
Streaming Engine Manager and to get more information about the Support resources
that are available if you have problems.
Server configuration
1 The contents panel provides access to the following features that let you configure,
manage, and monitor the server and virtual hosts (VHosts).
Server Setup – Configure settings such as the Wowza Streaming Engine instance name,
available license keys, and enable and disable Monitoring for the server and its
applications.
Server Monitoring – Monitor server resource consumption (CPU, memory, Java heap,
and disk usage), source and playback connections, network throughput, and uptime.
See Monitor server connections, load, and application statistics in Wowza Streaming
Engine.
Virtual Host Setup – Manage virtual hosting environments. By default, Wowza
Streaming Engine ships with a single VHost environment named _defaultVHost_,
however, you can add more VHost environments and manage them separately. See
Virtual hosting.
65
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Virtual Host Monitoring – Monitor VHost source and playback connections, network
throughput, and uptime. See Monitor server connections, load, and application
statistics in Wowza Streaming Engine.
Transcoder – Monitor the number of concurrent live source streams ingested by the
Transcoder and add, modify, and delete Transcoder templates. See Use Wowza
Streaming Engine Transcoder.
Media Cache – Configure the read-through caching mechanism that enables scaling of
VOD streams by re-streaming VOD file sources from HTTP-based servers that support
HTTP/1.1 range requests and from network-attached file systems. See Scale video-on-
demand streaming with Wowza Streaming Engine Media Cache.
Users – Manage administrator and user accounts for Wowza Streaming Engine
Manager. See Managing sign-in credentials.
Source Authentication – Manage user names and passwords that RTMP-based and
RTSP-based encoders and cameras can use to connect and publish a live stream if the
live application requires authentication.
Performance Tuning – Adjust performance settings from the default values used when
the server starts. See Tune Wowza Streaming Engine for optimal performance.
Logs – View Wowza Streaming Engine and Wowza Streaming Engine Manager log files.
Filtering and display options let you customize what you see in the UI, and you can
download large log files to a compressed (zipped) folder for offline viewing. See View
log messages in Wowza Streaming Engine Manager.
About – View information about Wowza Streaming Engine such as the installed version
number, license details, and the version of Java being used.
Startup Streams – Pull live IP camera streams (RTSP/RTP streams), SHOUTcast/Icecast
streams, and streams from native RTP or MPEG-TS encoders and start them
automatically when the VHost starts. See Startup Streams.
Stream Files – Replace (alias) complex stream names that are published to Wowza
Streaming Engine from sources such as IP camera streams (RTSP/RTP streams),
SHOUTcast/Icecast streams, and streams from native RTP or MPEG-TS encoders. See
Stream files.
SMIL Files – Create Synchronized Multimedia Integration Language (SMIL) files that
organize streams of various bitrates into groups for HTTP adaptive bitrate streaming.
See Stream adaptive-bitrate content in Wowza Streaming Engine.
2 When you click a feature in the contents panel, a page displays that enables you to
configure the feature’s settings. Advanced settings for fine-tuning the server
configuration are available for some server features on Properties and Server Listeners
tabs. These tabs are only available to users with advanced permissions. See Advanced
properties and settings.
66
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
3 Some features have buttons in the upper-right corner that provide additional
functionality. Some server-level features let you restart the server and stop and restart
the VHost.
4 The Help panel provides details about how to configure the controls on the feature
page. Toggle the panel’s visibility by clicking Hide Help or Show Help.
Application types
An application is a set of configuration options in Wowza Streaming Engine that supports a
specific workflow for the delivery of streaming content. To add applications in Wowza
Streaming Engine Manager, click the Applications tab and then click Add Application.
In the Add Application page that appears, you can add applications for six streaming
scenarios.
Live VOD
Delivers live streams to players (single server) Delivers video-on-demand streams to players
or as an origin server to deliver live streams (single server).
to other servers running Wowza Streaming
Copyright © 2007–2020 Wowza Media Systems™, LLC. All rights reserved.
67
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
To add an application, click the Application Type in the page that corresponds to your needs,
enter a name for the application in the New Application dialog box, and then click Add.
Single instances of a live application type (named live) and an on-demand application type
(named vod) are included in the default installation of Wowza Streaming Engine.
68
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Application configuration
1 The contents panel provides access to the following features that let you configure,
manage, and monitor application types.
Application Setup – Modify application settings such as the All application types
playback types (HTTP streamers and packetizers), default
content storage location, closed-captioning options, and
other settings. Some settings vary by application type.
Monitoring – Monitor application source and playback All application types
connections, network throughput, and uptime. See
Monitor server connections, load, and application statistics
in Wowza Streaming Engine.
Sources (Live) – Get connection information for encoders All live application types
and cameras that publish a stream to this application. If
you're viewing this page on your iOS or Android mobile
device that has the Wowza GoCoder™ encoding app
installed, you can automatically configure the GoCoder app
to publish a stream to this application. Wowza Streaming
Engine supports integrated configuration of additional live
sources provided by Works With Wowza partners. You can
69
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
70
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
2 When you click an application or one of its features in the contents panel, a page
displays that enables you to configure the application or feature settings. Advanced
settings for fine-tuning the configuration are available for the application and some
application features on Properties and Modules tabs. These tabs are only available to
users with advanced permissions. See Advanced properties and settings.
3 Most application and feature pages have buttons in the upper-right corner that
provide additional functionality. You can access test players to test your streams, copy
application settings to create a new application with identical settings, restart an
application, and delete an application.
4 The Help panel provides details about how to configure the controls on the application
or feature page. Toggle the panel’s visibility by clicking Hide Help or Show Help.
71
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Test players
Wowza Streaming Engine Manager provides test players for all of the live and on-demand
application types so that you can test your streaming configurations. To access the test
players, click the Test Players button in the upper-right corner of the application or feature
page. Then in the Test Players dialog box, click the tab for the protocol you want to test.
The test players for live applications are preconfigured to play a stream named myStream
from the default live application on the local Wowza Streaming Engine instance. If you
configured your encoder or camera to publish a stream to the live application with a
different stream name, be sure to substitute it in place of myStream in the Stream box.
72
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
The test players for VOD applications are preconfigured to play the [install-
dir]/content/sample.mp4 video file that installs with Wowza Streaming Engine.
To use your own VOD file, copy it to the [install-dir]/content root folder and substitute its file
name for sample.mp4 in the Media File Name field. If your custom VOD file isn't stored in
the [install-dir]/content root folder, you must add the default application instance name to
the playback URL. For example, if the sample.mp4 video file is in [install-
dir]/content/myVideos, enter vod/_definst_/ in the Application field and enter
mp4:/myVideos/sample.mp4 in the Media File Name field.
Note
The test players can’t display closed captions or play encrypted streams. DVR playback is only
supported by the HDS, HLS, and Microsoft Smooth Streaming test players. If you change the default
stream values to playback a new stream, you may need to restart the test players.
73
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
74
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Many technical articles on the Wowza website prescribe custom properties for tuning the
server and applications and to add advanced functionality. Each article describes how to add
the custom properties using the Custom Properties area on a Property tab:
See Properties.
75
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Chapter
7
Server administration
W owza Streaming Engine can run standalone from a command shell or as a system
service. Running standalone is best for developing custom applications because the
server can be started and stopped quickly, and server log messages can be viewed
immediately in the console window. Running as a system service is more often used for
server deployments where the server must continue to run after you log off the computer or
must be automatically started when the computer is rebooted.
Notes
• For information on getting an SSL certificate from Wowza, see Get SSL certificates from the
Wowza Streaming Engine StreamLock service.
• For information on getting an SSL certificate from a certificate authority, see Request an SSL
certificate for Wowza Streaming Engine from a certificate authority.
• For information on creating a self-signed SSL certificate, see Create a self-signed SSL certificate
for Wowza Streaming Engine.
76
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Logging
Wowza Streaming Engine uses the Apache log4j logging utility as its logging implementation.
The log4j logging system provides ample functionality for log formatting, log rolling, and log
retrieval for most applications. By default, Wowza Streaming Engine is configured to log basic
information to the server console and detailed information in the W3C Extended Common
Log Format (ECLF) to a log file. Java messaging is also captured in the log files to help monitor
and aid troubleshooting. The log files are written to the [install-dir]/logs folder.
For information about common log messages and suggestions for resolution, see
Troubleshoot error messages in Wowza Streaming Engine.
Logging fields
Wowza Streaming Engine can generate the following logging fields:
Field name Description
c-client-id Client ID number assigned by the server to the connection
c-ip Client connection IP address
c-proto Client connection protocol: http (HLS), http (Smooth Streaming),
rtmp, rtmpe, rtmps (HTTP-1.1), rtmpt (HTTP-1.1), rtmpte (HTTP-
1.1)
c-referrer URL of the Flash movie that initiated the connection to the server
c-user-agent Version of the Flash client that initiated the connection to the
server
cs-bytes Total number of bytes transferred from client to server
(cumulative)
cs-stream-bytes Total number of bytes transferred from client to server for
stream x-stream-id (cumulative)
cs-uri-query Query parameter for stream x-stream-id
cs-uri-stem Full connection string for stream x-stream-id (excludes query
parameters)
date Date of log event
s-ip IP address of the server that received this event
s-port Port number through which the server received this event
s-uri Full connection string on which the server received this event
77
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
78
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Logging events
Wowza Streaming Engine can generate the following logging events:
Event name Description
announce RTSP Session Description Protocol (SDP) ANNOUNCE
app-start Application instance start
app-stop Application instance shutdown
comment Comment
connect Connection result
connect-burst Connection accepted in burst zone
connect-pending Connection pending approval by application and license manager
create Media or data stream created
decoder-audio-start Audio decoding has started for a transcoded stream
decoder-audio-stop Audio decoding has stopped for a transcoded stream
decoder-video-start Video decoding has started for a transcoded stream
decoder-video-stop Video decoding has stopped for a transcoded stream
destroy Media or data stream destroyed
disconnect Client (session) disconnected from server
encoder-audio-start Audio encoding has started for a transcoded stream
encoder-audio-stop Audio encoding has stopped for a transcoded stream
encoder-video-start Video encoding has started for a transcoded stream
encoder-video-stop Video encoding has stopped for a transcoded stream
pause Playback has paused
play Playback has started
publish Start stream publishing
record Start stream recording
recordstop Stop stream recording
seek Seek has occurred
setbuffertime Client call to NetStream.setBufferTime(secs) logged in
milliseconds
79
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Logging configuration
Logging is configured in the conf/log4j.properties properties file. The log4j logging system
has many logging configuration options. This section covers the basic options for enabling
and disabling different logging fields, events, and categories.
The following example shows a basic log4j.properties file for a Wowza Streaming Engine
instance:
log4j.rootCategory=INFO, stdout, serverAccess, serverError
# Console appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=com.wowza.wms.logging.ECLFPatternLayout
log4j.appender.stdout.layout.Fields=x-severity,x-category,x-event,x-ctx,x-
comment
log4j.appender.stdout.layout.OutputHeader=false
log4j.appender.stdout.layout.QuoteFields=false
80
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
log4j.appender.stdout.layout.Delimeter=space
# Access appender
log4j.appender.serverAccess=org.apache.log4j.WowzaDailyRollingFileAppender
log4j.appender.serverAccess.DatePattern='.'yyyy-MM-dd
log4j.appender.serverAccess.File=${com.wowza.wms.ConfigHome}/logs/wowzastre
amingengine_access.log
log4j.appender.serverAccess.layout=com.wowza.wms.logging.ECLFPatternLayout
log4j.appender.serverAccess.layout.Fields=x-severity,x-category,x-
event;date,time,c-client-id,c-ip,c-port,cs-bytes,sc-bytes,x-duration,x-
sname,x-stream-id,sc-stream-bytes,cs-stream-bytes,x-file-size,x-file-
length,x-ctx,x-comment
log4j.appender.serverAccess.layout.OutputHeader=true
log4j.appender.serverAccess.layout.QuoteFields=false
log4j.appender.serverAccess.layout.Delimeter=tab
# Error appender
log4j.appender.serverError=org.apache.log4j.WowzaDailyRollingFileAppender
log4j.appender.serverError.DatePattern='.'yyyy-MM-dd
log4j.appender.serverError.File=${com.wowza.wms.ConfigHome}/logs/wowzastrea
mingengine_error.log
log4j.appender.serverError.layout=com.wowza.wms.logging.ECLFPatternLayout
log4j.appender.serverError.layout.Fields=x-severity,x-category,x-
event;date,time,c-client-id,c-ip,c-port,cs-bytes,sc-bytes,x-duration,x-
sname,x-stream-id,sc-stream-bytes,cs-stream-bytes,x-file-size,x-file-
length,x-ctx,x-comment
log4j.appender.serverError.layout.OutputHeader=true
log4j.appender.serverError.layout.QuoteFields=false
log4j.appender.serverError.layout.Delimeter=tab
log4j.appender.serverError.Threshold=WARN
Note
Always use forward slashes when referring to file paths, even on Windows.
The first statement in the log4j.properties file sets the logging level to INFO and defines
three appenders: stdout, serverAccess, and serverError. Setting the logging level to INFO
configures the logging mechanism such that it only logs events with a severity of INFO or
higher. The logging severity in ascending order is: DEBUG, INFO, WARN, ERROR, and FATAL.
To log all events, set the logging level to DEBUG.
Appender properties allow you to control the way that log information is formatted and
filtered. The following table shows some of the important properties.
Property name Description
CategoryExclude Comma-separated list of logging categories. Only log events whose
category isn't in this list are logged.
CategoryInclude Comma-separated list of logging categories. Only log events with the
specified categories are logged.
Delimiter The delimiter character to use between field values. Valid values are
81
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
For more information about how to configure the log4j specific properties such as log file
rolling and additional log appender types, see the Log4j website.
Wowza Streaming Engine can also be configured to generate logs on a per-application and
per-virtual host basis. These configurations are included, but commented-out, at the bottom
of the default [install-dir]/conf/log4j.properties file. The first commented-out section
includes configuration for per-application logging. The second commented-out section
includes configuration for per-virtual host logging. To enable either of these features, remove
the comments (# sign at the beginning of each of the lines) from the section.
The per-application logging generates log files using the following directory structure:
[install-dir]/logs/[vhost]/[application]/wowzastreamingengine_access.log
[install-dir]/logs/[vhost]/[application]/wowzastreamingengine_error.log
[install-dir]/logs/[vhost]/[application]/wowzastreamingengine_stats.log
The per-virtual host logging generates log files using the following directory structure:
[install-dir]/logs/[vhost]/wowzastreamingengine_access.log
[install-dir]/logs/[vhost]/wowzastreamingengine_error.log
[install-dir]/logs/[vhost]/wowzastreamingengine_stats.log
This method for generating log files can be very useful if you want to offer Wowza Streaming
Engine as a shared service to several customers.
82
W O W Z A S T R E A M I N G E N G I N E 4 . 8 U S E R G U I D E
Chapter
8
More resources
T he Wowza website contains a trove of articles that offer step-by-step instructions for
configuring common streaming scenarios and implementing all of the features and
capabilities of Wowza Streaming Engine. Here’s a selection of useful and popular
articles, as well as a link to the Wowza Streaming Engine doc landing page.
• Set up video-on-demand streaming in Wowza Streaming Engine
• Set up live streaming using an RTMP-based encoder in Wowza Streaming Engine
• Set up live streaming using an RTSP/RTP-based encoder in Wowza Streaming Engine
• Publish and play a live stream (MPEG-TS based encoder) in Wowza Streaming Engine
• Connect a live source to Wowza Streaming Engine
• Set up and run Transcoder in Wowza Streaming Engine
• Set up and run Wowza nDVR in Wowza Streaming Engine
• Configure a live stream repeater in Wowza Streaming Engine
• Re-stream video from an IP camera (RTSP/RTP re-streaming) in Wowza Streaming
Engine
• Stream over MPEG-DASH with Wowza Streaming Engine
• All Wowza Streaming Engine articles
83