Server.xml configuration reference

The Wowza Streaming Engine™ (WSE) server configuration settings are stored in the Server.xml configuration file located in the [install-dir]/conf directory. The settings in Server.xml apply to the entire WSE server, not to individual streaming apps.

We recommend using WSE Manager to change server settings, but you may also update the Server.xml file directly. Changes to Server.xml require a server restart to take effect.

The properties described below apply to the latest WSE version. Some properties may not apply to earlier versions.

Contents


Server element


The <Server> element contains the children listed in the table below.

Element Type Description
<Name> String The name of the media server.
<Description> String A text description of the media server. Optional.
<RESTInterface> Container Access control for the WSE REST API. See the RESTInterface elements table for available child elements.
<CommandInterface> Container The WSE command interface, which is used only to allow remote shutdown of the server. Disable it completely in production environments. See the CommandInterface elements table for available child elements.
<AdminInterface> Container A Java Management Extensions (JMX) interface used for monitoring WSE.
<AdminInterface>/<ObjectList> String List of objects made available through the JMX interface.
<Stats> Container Configuration for the server statistics page, available to WSE Manager or HTTPProviders on port 8086. These statistics reference the serverinfo, connectioncounts, and connectioninfo HTTP providers.
<Stats>/<Enable> Boolean Whether statistics are compiled and sent.
<Stats>/<Properties> Container A container element for custom server statistic <Property> elements.
<JMXRemoteConfiguration> Container Java Management Extensions (JMX) interface configuration.
<UserAgents> String Values in HTTP requests that are interpreted as RTMPT requests. Any HTTP request header that includes a UserAgents value is treated as an RTMPT request.
<Streams> Container The default streaming protocol type for the server.
<Streams>/<DefaultStreamPrefix> String Default streaming protocol type. Overridden by IServerNotify2, the server listener in onServerConfigLoaded. Set this value with IServer.setDefaultStreamNamePrefix(String streamNamePrefix), read it with IServer.getDefaultStreamNamePrefix(), or configure it through the <ServerListeners> container. (Default: mp4)
<ServerListeners> Container Server- and vhost-level event listeners that allow developers to invoke server-side Java.
<VHostListeners> Container Vhost-level event listeners that extend server functionality.
<HandlerThreadPool> Container Handler thread pool configuration. The handler thread pool processes incoming messages. Server-level thread pools are used only if a vhost's <HandlerThreadPool> is set to 0.
<HandlerThreadPool>/<PoolSize> Integer Maximum number of server-level threads in the handler thread pool.
<TransportThreadPool> Container Transport thread pool configuration. The transport thread pool reads and writes data from the transport sockets. Server-level thread pools are used only if a vhost's <TransportThreadPool> is set to 0. This pool also processes the shutdown command.
<TransportThreadPool>/<PoolSize> Integer Maximum number of server-level threads in the transport thread pool. Because this pool also processes the shutdown command, the value must always be 10 or greater.
<RTP> Container Port configuration for RTP, native RTP, RTSP, and MPEG-TS streaming.
<RTP>/<DatagramStartingPort> Integer Starting port value for incoming UDP streams. Port assignment starts with this value and increments by 1. A common value for RTSP/RTP-based servers is 6790. Open UDP ports 6970 through 9999 to support RTP, native RTP, RTSP, or MPEG-TS streams.
<RTP>/<DatagramPortSharing> Boolean Whether UDP port sharing is allowed.
  • true: Multiple SDP sessions or application instances can use the same UDP port. This allows a single RTP video stream to be referenced by multiple SDP files. For example, a video stream with multiple language options.
  • false: UDP ports can't be shared. Attempting to reuse a UDP port returns an error.
<Manager> Container A container element for custom WSE Manager <Property> elements.
<Transcoder> Container Relative path to an SDK library for hardware-accelerated encoding. For more information, see NVIDIA accelerated transcoding and Xilinx accelerated transcoding.
<Properties> Container A container element for custom server <Property> elements.

RESTInterface element

The <RESTInterface> element contains the children listed in the table below.

Element Type Description
<Enable> Boolean Whether the WSE REST API is enabled. (Default: true)
<IPAddress> String Network interface IP address the REST interface binds to. Use the wildcard (*) to bind to all available network interfaces.
<Port> Integer

Port used to access the REST API. (Default: 8087)

Example URLs for accessing the REST API:

  • http://localhost:8087
  • https://username:password@localhost:8087
<AuthenticationMethod> String Authentication method used to access the REST API. On WSE 4.8.5.05 and earlier, setting this to basic prevents the use of WSE Manager. Accepts one of the following values:
  • basic (default)
  • none (prevents the use of WSE Manager)
  • digest (default prior to WSE 4.8.5.05)
  • digestfile
  • remotehttp
<PasswordEncodingScheme> String Default user password encoding method. Accepts one of the following values:
  • bcrypt (default)
  • digest
  • cleartext
<DiagnosticURLEnable> Boolean Whether the diagnostic URLs below are enabled. Set to false to disable them. (Default: true)
  • http://localhost:8087/
  • http://localhost:8087/diag
<SSLConfig> Container Secure Sockets Layer (SSL) configuration for the REST API. See the SSLConfig elements table for available child elements.
<IPWhitelist> String Comma-separated list of IP addresses authorized to use the WSE REST API. Use the wildcard (*) to match partial values, such as 192.168.*.*. Defaults to the localhost loopback address (127.0.0.1).
<IPBlacklist> String Comma-separated list of IP addresses prohibited from using the WSE REST API. Use the wildcard (*) to match partial values.
<EnableXMLFile> Boolean Whether the /v2/servers/{server}/xml/{filename} endpoint is enabled, for example http://127.0.0.1:8087/v2/servers/_defaultServer_/xml/conf/Server. For security, we recommend leaving this set to false. (Default: false)
<DocumentationServerEnable> Boolean Whether the WSE REST API documentation can be viewed locally. (Default: false)
<DocumentationServerPort> Integer

Port used to view the WSE REST API documentation locally. (Default: 8089)

Example URLs for accessing the REST API documentation:

  • http://localhost:8089
  • http://username:password@localhost:8089
<DocumentationServerAuthenticationMethod> String HTTP authentication method used to access the REST API documentation: none, basic, or digest. (Default: digest)
<Properties> Container A container element for custom REST interface <Property> elements.

SSLConfig element

The <SSLConfig> element contains the children listed in the table below.

Element Type Description
<Enable> Boolean Set to true to require that all REST API requests be made over HTTPS. (Default: false)
<KeyStorePath> String Full path to the keystore file.
<KeyStorePassword> String The keystore password.
<KeyStoreType> String The keystore type. (Default: JKS)
<SSLProtocol> String The cryptographic protocol. (Default: TLS)
<Algorithm> String The encryption algorithm. (Default: SunX509)
<CipherSuites> String Comma-separated list of cipher suites.
<Protocols> String Comma-separated list of SSL protocol names.

CommandInterface element

The <CommandInterface> element contains the children listed in the table below.

Element Type Description
<HostPort> Container Configuration for a command interface host port.
<HostPort>/<ProcessorCount> Integer Number of threads allocated to the command interface. (Default: ${com.wowza.wms.TuningAuto})
<HostPort>/<IpAddress> String IP address or domain name the command interface listens on for incoming requests. Use the wildcard (*) to listen for connections on all available network interfaces. (Default: *)
<HostPort>/<Port> Integer Command interface port used to shut down the server during testing. (Default: 8083)

Property element

The <Property> element contains the children listed in the table below. Custom, user-defined properties extend the server and are available in the WSE Java API through IServer.getProperties().

Element Type Description
<Property> Container The container element for a single custom property.
<Property>/<Name> String Name of the property.
<Property>/<Value> Value of the property as defined by the type.
<Property>/<Type> String Type of property (Integer, Boolean, or String).