Wowza Streaming Engine Server.xml configuration reference

The Wowza Streaming Engine™ Server.xml configuration file located at [install-dir]/conf/Server.xml is used to define and set server options that are independent of streaming applications that run on the media server.

Note: The Server.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
Description
RESTInterface
CommandInterface
AdminInterface
Stats
JMXRemoteConfiguration
UserAgents
Streams
ServerListeners
VHostListeners
HandlerThreadPool
TransportThreadPool
RTP
Manager
Transcoder
Properties

XML reference


Name

The name of the media server.

Description

A text description of the media server.

RestInterface

Wowza Streaming Engine provides a REST Application Programming Interface (API) that you can use to configure and manage the server through HTTP requests. The RESTInterface settings are used to control access to the REST API. For more information, see Access reference documentation for the Wowza Streaming Engine REST API.

Enable - A Boolean value that turns the REST interface for Wowza Streaming Engine on or off.

IPAddress - The network interface IP address that the REST interface binds to. If IPAddress is set to the wildcard (*) character, the REST interface binds to all available network interfaces.

Port - The port used to access the REST interface (8087).

AuthenticationMethod - The HTTP authentication method used to access the REST interface. This can be one of the following types: none, basic, digest, digestfile, or remotehttp. The default value is basic. The value none prevents the use of Wowza Streaming Engine Manager.

Note: With Wowza Streaming Engine 4.8.5.05 and earlier the default is digest, and the value basic also prevents the use of Wowza Streaming Engine Manager.

Example URLs for accessing the REST API:

http://localhost:8087

http://username:password@localhost:8087

PasswordEncodingScheme - The default user password encoding method. Supported values are bcrypt, digest, and cleartext. The default value is bcrypt.

DiagnosticURLEnable - A Boolean value. When set to true (default), the following REST API URLs are available to users for diagnostic purposes: Setting this value to false removes these URLs from the REST API.

  • http://localhost:8087/
  • http://localhost:8087/diag

SSLConfig - An element for configuring SSL/TLS.

  • Enable - A Boolean value that specifies if access to the REST API should be made over a secure HTTP (HTTPS) connection using a Secure Sockets Layer (SSL) certificate. The default value is false (disabled).
  • KeyStorePath - The full path to the keystore file.
  • KeyStorePassword - The keystore password.
  • KeyStoreType - The keystore type. The default value is JKS for Sun Java JRE.
  • SSLProtocol - The cryptographic protocol. The default value is TLS (Transport Layer Security).
  • Algorithym - The encryption algorithm. The default value is SunX509 for Sun Java JRE.
  • CipherSuites - A comma-separated list of cipher suites.
  • Protocols - A comma-separated list of SSL/TLS protocol names.

IPWhitelist - Comma-separated list of IP addresses that are authorized to use the REST interface. Wildcard (*) characters are supported (for example, 192.168.*.*). The default value is the localhost loopback address (127.0.0.1).

IPBlacklist - Comma-separated list of IP addresses that are prohibited from using the REST interface. Wildcard (*) characters are supported.

EnableXMLFile - Boolean value that enables/disables the /v2/servers/{server}/xml/{filename} REST API (for example, http://127.0.0.1:8087/v2/servers/_defaultServer_/xml/conf/Server). For security reasons, it's highly recommend that you keep this value set to the default value (false).

DocumentationServerEnable - A Boolean value that turns the REST API documentation for Wowza Streaming Engine on or off.

DocumentationServerPort - The port used to access the REST API documentation (8089).

DocumentationServerAuthenticationMethod - The HTTP authentication method used to access the REST API documentation. This can be one of the following types: none, basic, or digest. The default value is digest.
Example URLs for accessing REST API documentation:

  • http://localhost:8089
  • http://username:password@localhost:8089

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

  • 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).

CommandInterface

The Wowza Streaming Engine command interface is only used to allow remote shutdown of the server. The entire CommandInterface section should be commented-out when a server is deployed in production.

HostPort - A container element for configuring a host port for the CommandInterface.

  • ProcessorCount - The number of threads allocated to the CommandInterface:
    ${com.wowza.wms.TuningAuto}
  • IpAddress - The IP address or domain name of the address that the CommandInterface listens to for incoming requests. If IpAddress is set to the wildcard (*) character, it tries to listen for incoming connections on all available network interfaces.
  • Port - 8083 is the command interface port used to shut down the server during testing. It can't be used when the CommandInterface section is commented-out, as it should be when a server is deployed in production.

AdminInterface

A Java Management Extensions (JMX) interface for monitoring Wowza Streaming Engine.

ObjectList - A list of objects made available through the Java Management Extensions (JMX) interface. For more information, see Use JConsole with Wowza Streaming Engine.

Stats

An interface that returns server statistics to administrators through Wowza Streaming Engine Manager or HTTPProviders on port 8086. These statistics reference the HTTP providers serverinfo, connectioncounts, and connectioninfo.

Enable - A Boolean option that specifies if statistics are compiled and sent to the Wowza Streaming Engine Manager console or HTTPProviders.

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

  • 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).

JMXRemoteConfiguration

The Java Management Extensions (JMX) interface configuration. For more information, see Use JConsole with Wowza Streaming Engine.

UserAgents

Values in HTTP requests that are interpreted as RTMPT requests. Any HTTP request header that includes a UserAgents value is considered to be an RTMPT request.

Streams

A container element for configuring the streaming protocol default type.

DefaultStreamPrefix - The streaming protocol default type. The default is mp4, but this type can be overridden in IServerNotify2, which is the server listener in onServerConfigLoaded. The IServer APIs that control the setting of this value are IServer.setDefaultStreamNamePrefix(String streamNamePrefix) and String IServer.getDefaultStreamNamePrefix(). The variable is also configurable in the ServerListeners container.
 

ServerListeners

A set of event handlers that allow developers to invoke server-side Java. Configure server event listeners in the ServerListeners container. These listeners are called when events occur at a server or VHost level. See Use event listeners with the Wowza Streaming Engine Java API.

VHostListeners

A set of event handlers that capture VHost events in order to extend server functionality. Configure VHost event listeners in the VHostListeners container. These listeners are called when events occur at a server or VHost level. See Use event listeners with the Wowza Streaming Engine Java API.

HandlerThreadPool

A container element for configuring the handler thread pool, which is used to process incoming messages. Server-level thread pools are only used if a VHost's thread pool size is set to 0.

PoolSize - Sets the maximum size of server-level threads in the handler thread pool. 

TransportThreadPool

A container element for configuring the transport thread pool, which is used to read and write data from the transport sockets. Server-level thread pools are only used if a VHost's thread pool size is set to 0. This server-level thread pool is also used to process the shutdown command; therefore, it should never be set to a value less than 10.

PoolSize - Sets the maximum size of server-level threads in the transport thread pool. 

RTP

Port configuration settings for RTSP/RTP, native RTP, and MPEG-TS streaming.

DatagramStartingPort - Specifies the lowest UDP port value assigned to incoming UDP streams. Ports are assigned starting with this value and are then incremented by 1. The most common value for RTSP/RTP-based servers is 6970. If you plan to support RTSP/RTP, native RTP, or MPEG-TS streams, you should open UDP ports 6970-9999.

DatagramPortSharing - A Boolean value that specifies port sharing options. If set to true, then UDP ports (both unicast and multicast) can be shared between Session Description Protocol (SDP) files and MPEG-TS streams or shared between application instances. Setting this value to true enables two SDP files to share RTP ports. For example, if you have a single video stream with multiple audio streams (each in a different language), then you can create two SDP files that share the single RTP video stream and refer to a unique audio stream. This also enables the same SDP file or MPEG-TS stream to be loaded by different application instances. If set to false, UDP ports can't be shared and an error is generated if an attempt is made to reuse a UDP port.

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.

  • 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 a relative path to an SDK library for hardware-accelerated encoding. For more information, see:

Properties

Custom properties with name, value, and type that can be added by the user and affect the media server. Properties are available in the Wowza Streaming Engine Java API through the IServer.getProperties() interface. Custom properties are added to the collection returned by IServer.getProperties().

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).