Wowza Streaming Engine Application.xml configuration reference

The Wowza Streaming Engine™ media server Application.xml configuration file located at [install-dir]/conf/Application.xml defines the configuration settings for an application. An application is a contextual state/environment for media streaming that specifies a set of operating properties within Wowza Streaming Engine. Users can create as many applications as needed for live streaming, video on demand, transcoding, nDVR, or re-streaming from other servers and live sources.

An Application.xml file defines the configuration that you set up in Wowza Streaming Engine Manager for a given application. The settings can be changed by editing properties or adding custom properties in a text editor or configuring options and properties in Wowza Streaming Engine Manager. An application instance is an instantiation of an application and provides a namespace and context for streaming. An application instance is started dynamically; a single application can have multiple named application instances running simultaneously. If no name is specified for an application instance, then the default name _definst_ is used. In many streaming scenarios, a single application instance is used per-application and the name is never referenced and defaults to _definst_.

When an application instance loads, it looks for an Application.xml file in [install-dir]/conf/[application name]/. If one does not exist, the Application.xml file in [install-dir]/conf/ is used.

Note: The Application.xml reference applies to the file as installed with the latest version of Wowza Streaming Engine. Some properties described may not apply to the file as installed with earlier versions of Wowza Streaming Engine.

Contents


Name
AppType
Description
ApplicationTimeout
PingTimeout
ValidationFrequency
MaximumPendingWriteBytes
MaximumSetBufferTime
MaximumStorageDirDepth
Connections
Streams
Transcoder
DVR
TimedText
HTTPStreamers
SharedObjects
Client
RTP
WebRTC
MediaCaster
MediaReader
MediaWriter
LiveStreamPacketizer
HTTPStreamer
Manager
Repeater
StreamRecorder
Modules
Properties
Appendix: example values for StreamType
Appendix: example variables for directory paths

XML reference


Name

The name of the application. Required.

AppType

The type of the application, such as live, vod, livehttporigin, vodhttporigin, liveedge, vodedge. Required.

Description

A text description of the application. Optional.

ApplicationTimeout

Length of time, in milliseconds, that the server will wait before shutting down an application to which no clients are connected. A Timeout value of 0 keeps applications running until the virtual host is shut down. If this value is not provided (or the section is commented out), the value set in the VHost.xml file is used.

PingTimeout

Length of time, in milliseconds, that the server will wait for a ping response from the client. The ping mechanism that's used to validate a client connection is an RTMP internal ping, not an ICMP ping. If PingTimeout is set to 0, the server will wait indefinitely. If this value isn't provided (or the section is commented out), the value set in the VHost.xml file is used.

ValidationFrequency

Length of time, in milliseconds, that the server will wait during server-to-client validation. Validation only occurs if the client stops sending data to the server. Validation is done by sending a ping request from the server to the client. If ValidationFrequency is 0, the server won't validate client connections. If this value isn't provided (or the section is commented out), the value set in the VHost.xml file is used.

MaximumPendingWriteBytes

Maximum number of bytes that are allowed to be queued and remain waiting to be sent. If this value is exceeded for an individual client connection, then the connection is terminated. If MaximumPendingWriteBytesis set to 0, there is no maximum value. If this value isn't provided (or the section is commented out), the value set in the VHost.xml file is used.

MaximumSetBufferTime

Maximum number of milliseconds honored server-side for client-side calls to NetStream.setBufferTime(seconds). To turn off this check, set the value of MaximumSetBufferTime to 0. The default value is 60000 (60 seconds). This setting is used to protect against spoofing threats (such as those posed by Replay Media Catcher and Grab Pro), which can set a very large client-side buffer to trick a server into sending all the media data at once. This can cause the server to consume a large amount of Java heap memory.

MaximumStorageDirDepth

Maximum number of subfolders that are allowed in any storage path. This setting helps to protect against symbolic link loops.

Connections

A container element for configuring restrictions on connections to Wowza Streaming Engine.

AutoAccept - Setting that determines if the application automatically accepts Adobe Flash client playback connection requests. If set to true, all connection requests are accepted automatically. If set to false, the application must make a server-side call to client.acceptConnection() to accept a connection request.

AllowDomains - Comma-delimited list of domain names or IP addresses for which RTMP client connections are accepted. The domain names or IP addresses that are specified represent the domain name or IP address of an Adobe Flash SWF file that connects to Wowza Streaming Engine or the IP address of a client that connects to Wowza Streaming Engine. If no value is specified, then connections from all domains or IP addresses are accepted.

For example, if you have the SWF file http://www.mycompany.com/flash/myflashmovie.swf, you can set AllowDomains to www.mycompany.com in order to configure the Wowza Streaming Engine instance so that only clients from the mycompany.com domain can access the server. You can also add an IP address (or IP address wildcard) to accept all connections from a particular IP address. You might filter based on IP address when you're working with a client-side live source that doesn't provide a valid referrer.

You can use the wildcard character (*) to match partial domain names or IP addresses. For example, if you want to match all domain names that end with mycompany.com, you would specify the domain name *.mycompany.com.

Allow-domains processing occurs just before the onConnect event method. Therefore, if you want to provide finer-grained access control to your server, you can override the onConnect event handler in a custom module and provide your own filtering mechanism.

Streams

A container element for configuring streams in the application.

StreamType - Name of the default stream type for this application. Named stream types control different types of streaming (live, VOD, recording, origin/edge, and more). For more information about stream types, see Appendix: example values for StreamType.

StorageDir - Full path to the directory where the application reads and writes media files.

KeyDir - The directory where the HLS streaming (Cupertino) AES-128 encryption keys are stored.

LiveStreamPacketizers - HTTP streaming packetization schemes to use for live source streams. Live stream packetization is done to make a stream available for HTTP streaming to Apple mobile devices, MPEG-DASH players, and more. It is also done to enable DVR for a live stream. LiveStreamPacketizers can contain none, one, or more of the following values (separated by commas).

Example values:

  • cupertinostreamingpacketizer

    “Cupertino” HLS streaming using MPEG-TS container (iOS playback)
  • cmafstreamingpacketizer

    HLS and MPEG-DASH streaming using fMP4 container
  • mpegdashstreamingpacketizer

    MPEG-DASH streaming using fMP4 container
  • cupertinostreamingrepeater

    Cupertino: Live stream repeater for iOS devices
  • mpegdashstreamingrepeater

    MPEG-DASH: Live streaming repeater for MPEG-DASH players
  • dvrstreamingpacketizer

    Wowza nDVR: Streaming
  • dvrstreamingrepeater

    Wowza nDVR: Live stream repeater

Properties - Custom properties with name, value, and type that can be added by the user for instances of Streams.

  • Property - A container element for configuring custom properties.
    • Name - Name of the property.
    • Value - Value of the property as defined by the type.
    • Type - Type of property (Integer, Boolean, or String).

Transcoder

A container element for configuring transcoders in the application. For more information about configuring transcoders, see Set up and run Transcoder in Wowza Streaming Engine.

LiveStreamTranscoder - Name of the default Transcoder handler for this application. If set to transcoder, the Transcoder is enabled for this application. If no value is specified, live source streams aren't transcoded.

Templates - Comma-separated list of template names to search when matching a live source stream to a Transcoder template. If the Transcoder is enabled, each new live stream that's published to the application can be transcoded. Wowza Streaming Engine will search the Templates list for the first template file that exists. After it finds a template, it uses that template to transcode the stream. If no matches are found, the stream won't be transcoded. The default value for this setting is ${SourceStreamName}.xml, transrate.xml.

The first item in the template name list uses the variable ${SourceStreamName}. If there's a Transcoder template in the template directory with the name [stream-name].xml (where [stream-name] is the name of the live source stream), then that template is used. If this file doesn't exist, the transrate.xml template is used (if it exists). If neither template exists, then the stream won't be transcoded. Only the variable ${SourceStreamName} is supported.

ProfileDir - Environment variable that specifies the path to the Transcoder profiles: {com.wowza.wms.context.VHostConfigHome}/transcoder/profiles.

TemplateDir - Full path to the directory where the application looks for templates that are used to control the Transcoder. By default, Wowza Streaming Engine looks for templates in the [install-dir]/transcoder/templates folder, for example, ${com.wowza.wms.context.VHostConfigHome}/transcoder/templates. You can also define a per-application templates folder by using path variables. For example, if you want to set up a per-application templates folder, specify the following path: ${com.wowza.wms.context.VHostConfigHome}/conf/${com.wowza.wms.context.Application}/profiles. For examples of variables you can use for the directory, see Appendix: example variables for directory paths.

Properties - Custom properties with name, value, and type that can be added by the user for the Transcoder.

  • Property - A container element for configuring custom properties.
    • Name - Name of the property.
    • Value - Value of the property as defined by the type.
    • Type - Type of property (Integer, Boolean, or String).

DVR

A container element for configuring DVR recording in the application. For more information about configuring DVR recording, see Set up and run nDVR in Wowza Streaming Engine.

Recorders - Name of the default DVR recorder for this application.

Store - As a single server or as an origin, set the Store to dvrfilestorage. Store should be empty for edge servers.

WindowDuration - Duration, in seconds, of material available for DVR playback. The default value of 0 denotes that there's no DVR window (all data is available for DVR playback).

StorageDir - Full path to the directory where the application reads and writes Wowza nDVR data. For examples of variables you can use for the directory, see Appendix: example variables for directory paths.

ArchiveStrategy - Value that tells the DVR store what to do with an old stream when a new stream of the same app instance and stream name starts. The default value is append. ArchiveStrategy can contain only one of the following values.

Example values:

  • append

    Append the new stream information to the end of the previous store.
  • delete

    Delete the old DVR store and start a new one.
  • version

    Create a new version of the DVR store.

Properties - Custom properties with name, value, and type that can be added by the user for configuring DVR recording.

  • Property - A container element for configuring custom properties.
    • Name - Name of the property.
    • Value - Value of the property as defined by the type.
    • Type - Type of property (Integer, Boolean, or String).

TimedText

A container element for configuring timed text captioning. For more information about configuring captioning, see About closed captioning in Wowza Streaming Engine.

VODTimedTextProviders - Comma-separated list of video-on-demand (VOD) caption providers.

Properties - Custom properties with name, value, and type that can be added by the user for fine tuning TimedText.

  • Property - A container element for configuring custom properties.
    • Name - Name of the property.
    • Value - Value of the property as defined by the type.
    • Type - Type of property (Integer, Boolean, or String).

HTTPStreamers

Streaming protocols supported by Wowza Streaming Engine. HTTP streaming—which is supported by Apple iOS devices, MPEG-DASH, and more—also allows DVR streaming to repeat DVR audio and video content from the origin to the edge. HTTPStreamers can contain none, one, or more of the following values (separated by commas).

Example values:

  • cupertinostreaming

    Cupertino: HTTP streaming to iOS devices
  • mpegdashstreaming

    MPEG-DASH: HTTP streaming to MPEG-DASH players
  • dvrchunkstreaming

    DVR: Enable streaming from origin to edge

MediaCache

A container element for configuring Media Cache source access to VOD edge applications. For more information about using Media Cache, see Scale video-on-demand streaming with Wowza Streaming Engine Media Cache.

MediaCacheSourceList - Specifies which of the Media Cache Sources that are configured on the system can be accessed by a VOD edge application. The wildcard (*) character means that all Media Cache sources configured on the system can be accessed by the application. Selected Media Cache sources can be specified as a comma-separated list. Media Cache Sources are HTTP-based servers and network-attached file systems that provide file-based content to the Media Cache system for re-streaming. For example, a VOD application running on an Amazon EC2 instance could include amazons3 and/or dvrorigin Media Cache Sources.

SharedObjects

A container element for configuring how an application accesses remotely stored object data.

StorageDir - The full path to the directory where the application reads and writes remotely stored object data. If no values are specified, an application uses the following directories:

  • %WMSCONFIG_HOME%/applications/[application]/streams/[appinstance]
  • %WMSCONFIG_HOME%/applications/[application]/sharedobjects/[appinstance]
  • %WMSCONFIG_HOME%/applications/[application]/keys/[appinstance]

where %WMSCONFIG_HOME% is the value of the environment variable WMSCONFIG_HOME, [application] is the name of the application, and [appinstance] is the name of the application instance. For examples of variables you can use for the directory, see Appendix: example variables for directory paths.

Client

A container element for configuring client connections to streams.

IdleFrequency - Time, in milliseconds, between idle events. Idle events represent the heartbeat of streaming for RTSP/RTP streaming. The idle frequency represents how often new data is sent to the player. If this value is set to -1, then the value specified in the VHost.xml file is used.

Access - A container element for settings that control the default access that an Adobe Flash client connection has to assets associated with a particular Wowza Streaming Engine application. An individual client's access can be modified through the Java API. This is most commonly done in the onConnect or onConnectAccept event handler. To control access, each of these settings compares the asset name (stream name or shared object name) to a comma-delimited list of names. If any part of the asset name matches one of the elements in the list, then the requested access is granted. The values are case-sensitive. If no parameter value is specified, then access is denied to all clients. If the parameter value is set to the wildcard (*) character, then access is granted to all clients. For example, if StreamReadAccess is set to testa/testb;testc, then the following stream names would be granted the following access:

Stream Name Access Status
testc Granted Access
testc/test Granted Access
testC/test Denied Access (incorrect case)
testa/testb Granted Access
testa/testb123 Granted Access
testa/testb/file123 Granted Access
testa/test Denied Access (incomplete match)
 
  • StreamReadAccess - Setting controls the access to view or listen to a NetStream object.
  • StreamWriteAccess - Setting controls the access to write or publish to a NetStream object.
  • StreamAudioSampleAccess - Setting controls the access to call SoundMixer.computeSpectrum() to grab the waveform data of a NetStream object.
  • StreamVideoSampleAccess - Setting controls the access to call BitmapData.draw() to take a snapshot of a NetStream object.
  • SharedObjectReadAccess - Setting controls the access to read values from a RemoteSharedObject.
  • SharedObjectWriteAccess - Setting controls the access to write values to a RemoteSharedObject.

RTP

A container element for configuring RTSP/RTP streaming.

Authentication - A container element for configuring authentication of RTSP connections.

  • PublishMethod - Authentication method (none, basic, or digest, or block) used to secure source RTSP connections to Wowza Streaming Engine.
  • PlayMethod - Authentication method (none, basic, or digest) used to secure playback RTSP connections to Wowza Streaming Engine.

AVSyncMethod - Configures the methodology used to synchronize the audio and video channels when receiving an RTP stream.

Example values:

  • senderreport

    Uses the Sender Report (SR) packets that are sent over the Real Time Control Protocol (RTCP) channel. This is the default value.
  • rtptimecode

    Assumes that RTP timecodes are absolute timecode values.
  • systemclock

    Synchronizes based on the system clock.

MaxRTCPWaitTime - The maximum period of time, in milliseconds, that the Wowza Streaming Engine instance will wait to receive an SR packet over the RTCP channel. If no SR packets are received within this time, the server defaults to using the rtptimecode method.

IdleFrequency - Length of time, in milliseconds, between RTP idle events. Idle events are used to send new media data and events to an RTP or MPEG-TS sessions.

RTSPSessionTimeout - Elapsed time, in milliseconds, after which an idle RTSP session is determined to be stale and is disconnected. To turn off idle disconnect, set this value to 0. Wowza Streaming Engine monitors all RTSP sessions and looks for periodic RTSP messages or RTCP receiver packets over RTP. If the server hasn't received messages during the session timeout period, the session is disconnected.

RTSPMaximumPendingWriteBytes - Maximum number of bytes that can wait to be written to an RTSP session. If an RTSP session has more bytes waiting to be written than are specified by this setting, the session is disconnected. Wowza Streaming Engine monitors the RTSP/TCP connection and watches the number of bytes that are waiting to be delivered. If the number of pending bytes exceeds the specified value, then the session is determined to be inactive and the session is disconnected. To turn off maximum pending write byte monitoring, set the RTP/RTSPMaximumPendingWriteBytes value to 0.

RTSPBindIpAddress - The IP address that Wowza Streaming Engine binds to when delivering RTP packets over UDP. If the server is using network address translation (NAT) routing, then this address should be set to the internal IP address of the network interface that's mapped to the external IP address. If NAT isn't being used, then this value should be set to the external IP address of the server.

RTSPConnectionIpAddress -  An IP address exchanged as part of the Session Description Protocol (SDP) data and specified in the (c=) line of the SDP data. This should be set to the external IP address of the server.

RTSPOriginIpAddress - An IP address exchanged as part of the Session Description Protocol (SDP) data and specified in the (o-) line of the SDP data. This should be set to the external IP address of the server.

IncomingDatagramPortRanges - UDP port ranges that this application can use for stream ingestion. Single ports and port ranges can be defined. For example, the following entry enables port 10000 and ports 20000 through 20004:

<IncomingDatagramPortRanges>10000, 20000-20004</IncomingDatagramPortRanges>

This setting only affects stream ingestion when using Session Description Protocol (SDP) files or MPEG-TS udp:// URLs to pull streams. The values contained in IncomingDatagramPortRanges don't affect UDP ports that are dynamically assigned during RTSP port negotiation.

Properties - Custom properties with name, value, and type that can be added by the user for tuning RTP.

  • Property - A container element for configuring custom properties.
    • Name - Name of the property.
    • Value - Value of the property as defined by the type.
    • Type - Type of property (Integer, Boolean, or String).

WebRTC

Container element for configuring WebRTC publish and playback. For details on specific settings, see Set up WebRTC streaming with Wowza Streaming Engine. WebRTC setup includes required RTP tuning properties in addition to WebRTC settings.

EnablePublish - Enable WebRTC publishing to this application.

EnablePlay - Enable WebRTC playback from this application.

EnableQuery - Enable querying of published stream names for this application.

IceCandidateIpAddresses - IP address, transport, and port used for WebRTC streaming. UDP format: [wowza-streaming-engine-external-ip-address],udp. TCP format: [wowza-streaming-engine-external-ip-address],tcp,[port]. For multiple IP addresses, use a pipe character to separate the lists.

UDPBindAddress - Local IP address of the network card you want to use for WebRTC UDP traffic.

PreferredCodecsAudio - Comma-separated list of audio codecs, in order of preference, for stream ingestion.

PreferredCodecsVideo - Comma-separated list of video codecs, in order of preference, for stream ingestion.

DebugLog - Enable WebRTC debug logging.

Properties - Custom properties with name, value, and type that can be added by the user for configuring WebRTC.

  • Property - A container element for configuring custom properties.
    • Name - Name of the property.
    • Value - Value of the property as defined by the type.
    • Type - Type of property (Integer, Boolean, or String).

MediaCaster

A container element for configuring restreaming with the MediaCaster system.

RTP - A container element for configuring restreaming with the rtp MediaCaster type.

  • RTSP - A container element for configuring restreaming with RTSP/RTP streams.
    • RTPTransportMode - RTSP flavor that's used to re-stream an RTSP/RTP source, such as an IP camera. If set to interleave, Wowza Streaming Engine uses RTSP/RTP interleaved (RTP over TCP) to connect to RTSP sources. If set to udp, Wowza Streaming Engine uses RTSP/RTP in non-interleaved mode (RTP over UDP) to connect to RTSP sources.

StreamValidator - A container element for configuring the monitoring of native RTP and MPEG-TS encoder streams and resetting them if they become unhealthy.

  • Enable - Boolean. If set to true, then the StreamValidator is active.
  • ResetNameGroups - Boolean. If set to true, then when a stream is reset and it belongs to a MediaStreamNameGroup, all streams in the group are reset. If false, only the unhealthy stream is reset.
  • StreamStartTimeout - Setting that controls the timeout, in milliseconds, for the first packet when monitoring incoming packets (audio, video, data) to be sure packets continue to flow from the live source to stream.
  • StreamTimeout - Setting that controls the timeout, in milliseconds, for packets after the first packet. The stream type refers to a catch-all of any packet of any type (audio, video, data). If any of these values are set to 0, the test is turned off.
  • VideoStartTimeout - Setting that controls the timeout, in milliseconds, for the first packet when monitoring incoming video packets to be sure packets continue to flow from the live source to stream.
  • VideoTimeout - Setting that controls the timeout, in milliseconds, for video packets after the first packet.
  • AudioStartTimeout - Setting that controls the timeout, in milliseconds, for the first audio packet when monitoring incoming packets.
  • AudioTimeout - Setting that controls the timeout, in milliseconds, for audio packets after the first packet.
  • VideoTCToleranceEnable - Boolean value that monitors video timecode jumps when set to true.
  • VideoTCPosTolerance - Value that defines the allowable gap, in milliseconds, between the current and previous video packets. If videoTCPosTolerance and videoTCNegTolerance values in milliseconds are set to 3000 and -500 respectively, then the timecode difference between the currently arriving packet and the previous video packet must fall within 3000 and -500 milliseconds.
  • VideoTCNegTolerance - Value that defines the allowable gap, in milliseconds, between the current and previous video packets. If videoTCNegTolerance and videoTCPosTolerance values in milliseconds are set to 3000 and -500 respectively, then the timecode difference between the currently arriving packet and the previous video packet must fall within 3000 and -500 milliseconds.
  • AudioTCToleranceEnable - Boolean value that monitors audio timecode jumps when set to true.
  • AudioTCPosTolerance - Value that defines the allowable gap, in milliseconds, between the current and previous audio packets. If AudioTCPosTolerance and AudioTCNegTolerance values in milliseconds are set to 3000 and -500 respectively, then the timecode difference between the currently arriving packet and the previous audio packet must fall within 3000 and -500 milliseconds.
  • AudioTCNegTolerance - Value that defines the allowable gap, in milliseconds, between the current and previous audio packets. If AudioTCNegTolerance and AudioTCPosTolerance values in milliseconds are set to 3000 and -500 respectively, then the timecode difference between the currently arriving packet and the previous audio packet must fall within 3000 and -500 milliseconds.
  • DataTCToleranceEnable - Boolean value that monitors timecode jumps when set to true.
  • DataTCPosTolerance - Value that defines the allowable gap, in milliseconds, between the current and previous data packets. If DataTCPosTolerance and DataTCNegTolerance values in milliseconds are set to 3000 and -500 respectively, then the timecode difference between the currently arriving packet and the previous data packet must fall within 3000 and -500 milliseconds.
  • DataTCNegTolerance - Value that defines the allowable gap, in milliseconds, between the current and previous data packets. If DataTCNegTolerance and DataTCPosTolerance values in milliseconds are set to 3000 and -500 respectively, then the timecode difference between the currently arriving packet and the previous data packet must fall within 3000 and -500 milliseconds.
  • AVSyncToleranceEnable - Boolean value that monitors timecode jumps when set to true.
  • AVSyncTolerance - Timecode difference between the currently arriving packet and the previous data packet.
  • DebugLog - Boolean. When set to true, this turns on verbose logging for debugging.

Properties - Custom properties with name, value, and type that can be added by the user for MediaCaster configuration.

  • Property - A container element for configuring custom properties.
    • Name - Name of the property.
    • Value - Value of the property as defined by the type.
    • Type - Type of property (Integer, Boolean, or String).

MediaReader

A container element for configuring reading files for recording and VOD playback with MediaReader.

Properties - Custom properties with name, value, and type that can be added by the user for MediaReader configuration.

  • Property - A container element for configuring custom properties.
    • Name - Name of the property.
    • Value - Value of the property as defined by the type.
    • Type - Type of property (Integer, Boolean, or String).

MediaWriter

A container element for configuring writing to files for recording and VOD playback with MediaWriter.

Properties - Custom properties with name, value, and type that can be added by the user for MediaWriter configuration.

  • Property - A container element for configuring custom properties.
    • Name - Name of the property.
    • Value - Value of the property as defined by the type.
    • Type - Type of property (Integer, Boolean, or String).

LiveStreamPacketizer

A container element for configuring live stream packetizer properties.

Properties - Custom properties with name, value, and type that can be added by the user for configuring LiveStreamPacketizer.

  • Property - A container element for configuring custom properties.
    • Name - Name of the property.
    • Value - Value of the property as defined by the type.
    • Type - Type of property (Integer, Boolean, or String).

HTTPStreamer

A container element for configuring HTTP streamer properties.

Properties - Custom properties with name, value, and type that can be added by the user for configuring HTTPStreamer.

  • Property - A container element for configuring custom properties.
    • Name - Name of the property.
    • Value - Value of the property as defined by the type.
    • Type - Type of property (Integer, Boolean, or String).

Manager

A container element for properties defined to be used by Wowza Streaming Engine Manager.

Properties - Custom properties with name, value, and type that can be added by the user and are used by Wowza Streaming Engine Manager.

  • Property - A container element for configuring custom properties.
    • Name - Name of the property.
    • Value - Value of the property as defined by the type.
    • Type - Type of property (Integer, Boolean, or String).

Repeater

A container element for configuring an origin URL and query string to use when using the application as a live stream repeater.

OriginURL - The origin URL used by the live stream repeater. If the application is a DVR repeater, the OriginURL is the URL of the DVR origin server from which to retrieve audio and video chunks.

QueryString - Used to connect to the origin. This value can be used to pass secure URL parameters to the origin for security validation.

StreamRecorder

A container element for configuring stream recorder properties. For more information about recording streams, see Record live streams in Wowza Streaming Engine.

Properties - Custom properties with name, value, and type that can be added by the user for tuning StreamRecorder instances.

  • Property - A container element for configuring custom properties.
    • Name - Name of the property.
    • Value - Value of the property as defined by the type.
    • Type - Type of property (Integer, Boolean, or String).

Modules

List of modules available to this application. For more information, see About server-side modules.

Module - A container element for identifying the module.

  • Name - Identifier for the module. Required.
  • Description - A text description of the module. Optional.
  • Class - The full package name and class name of the module.

Properties

Custom properties with name, value, and type that can be added by the user for the application. All application properties are copied to child application instances during instance creation. These properties are available in the Java API through the IApplicationInstance.getProperties() interface.

Property - A container element for configuring custom properties.

  • Name - Name of the property.
  • Value - Value of the property as defined by the type.
  • Type - Type of property (Integer, Boolean, or String).

Appendix: example values for StreamType

  • default

    VOD
  • file

    VOD
  • live

    Deliver live streams; best for one-to-many streaming of live events
  • live-lowlatency

    Deliver live streams over RTMP; best for one-to-one or one-to-few video/audio chat applications. Reduces buffering of frames upon receiving them from the encoder.
  • live-record
    Same as live but the stream is also recorded
  • live-record-lowlatency
    Same as live-lowlatency but the stream is also recorded
  • liverepeater-edge

    Deliver live streams across multiple Wowza Streaming Engine servers in an origin/edge configuration; use to configure the edge application(s)
  • liverepeater-edge-lowlatency

    Deliver live streams across multiple servers in an origin/edge configuration; use to configure edge application(s) when low latency is important
  • liverepeater-edge-origin

    Deliver live streams across multiple Wowza Streaming Engine servers in an origin/edge/edge configuration; use to configure a middle-edge application
  • record

    Video recording
  • rtp-live

    Re-stream RTSP/RTP, native RTP, or MPEG-TS streams
  • rtp-live-lowlatency

    Re-stream RTSP/RTP, native RTP, or MPEG-TS streams when low latency is important. Reduces buffering of frames upon receiving them from the encoder.
  • rtp-live-record
    Same as rtp-live but the stream is also recorded
  • rtp-live-record-lowlatency
    Same as rtp-live-lowlatency but the stream is also recorded
  • shoutcast

    Re-stream SHOUTcast/Icecast MP3 or AAC+ audio streams
  • shoutcast-record
    Same as shoutcast but the stream is also recorded

Appendix: example variables for directory paths

  • ${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 config directory
  • ${com.wowza.wms.context.Application}

    Application name
  • ${com.wowza.wms.context.ApplicationInstance}

    Application instance name