Use HTTP providers with the WSE Java API

HTTP providers are lightweight Java classes that expose information about a Wowza Streaming Engine™ (WSE) media server software instance over HTTP. WSE includes several built-in HTTP providers. You can also create custom providers. This article lists the built-in providers and describes how to configure them.

About HTTP providers


HTTP providers return WSE information that you can view in a web browser. You configure them per port in the VHost configuration file, [install-dir]/conf/VHost.xml. You can protect an HTTP provider with a username and password. You can also attach multiple providers to a single port. WSE then uses each provider's request filter to select which provider handles a request.

HTTP provider configuration


Each HTTP provider in VHost.xml defines four properties: BaseClass, RequestFilters, AuthenticationMethod, and PasswordEncodingScheme. The following example configures the built-in HTTPServerInfoXML provider with admin-digest authentication and sha256 password encoding:

<HTTPProvider>
    <BaseClass>com.wowza.wms.http.HTTPServerInfoXML</BaseClass>
    <RequestFilters>serverinfo*</RequestFilters>
    <AuthenticationMethod>admin-digest</AuthenticationMethod>
    <PasswordEncodingScheme>sha256</PasswordEncodingScheme>
</HTTPProvider>

  • BaseClass: The fully qualified name of the class that extends HTTProvider2Base and implements IHTTPProvider.
  • RequestFilters: A pipe-separated (|) list of filters that determine which HTTP request paths invoke the provider. In the example above, WSE invokes the provider only when the request path starts with serverinfo, such as http://[wowza-ip-address]:8086/serverinfo.
  • AuthenticationMethod: The authentication method that controls access to the HTTP provider. Valid values:
    • admin-basic: Base64-encode the administrator's username and password in the HTTP request. Encoding isn't encryption, so basic authentication isn't secure unless you use it over HTTPS.
    • admin-digest: Use HTTP digest authentication with an md5 or sha256 hash. An md5 hash produces a 128-bit digest, and a sha256 hash produces a 256-bit digest. By default, admin-digest reads usernames and passwords from [install-dir]/conf/admin.password.
    • admin-file-digest: Use an md5 or sha256 hash.
    • none: Allow unauthenticated access to the provider.
  • PasswordEncodingScheme: The hash function for the password. Valid values: md5 or sha256.

Usernames and passwords

  • WSE 4.8.8.01+ supports md5 or bcrypt password hashing in the admin.password file.
  • WSE 4.8.19+ support sha256 password hashing in the admin.password file.

The HTTP provider's authentication method must support the encoding of the passwords in admin.password. The following table lists the password encodings that each authentication method supports. For more information, see Manage users with the Wowza Streaming Engine CLI password tool.

Authentication method Supported password encoding
admin-basic plaintext, bcrypt
admin-digest md5, sha256
admin-file-digest md5, sha256
none N/A

Built-in HTTP providers


The VHost.xml configuration file includes the following built-in HTTP providers:

HTTP provider Base class Description
HTTPConnectionCountsXML com.wowza.wms.http.HTTPConnectionCountsXML Returns connection counts in XML format at http://[wowza-ip-address]:8086/connectioncounts.

To simplify output, add flat as a query parameter. For example http://[wowza-ip-address]:8086/connectioncounts?flat.
HTTPConnectionInfo com.wowza.wms.http.HTTPConnectionInfo Returns detailed connection information in XML format at http://[wowza-ip-address]:8086/connectioninfo.
HTTPProviderMediaList com.wowza.wms.http.HTTPProviderMediaList Generates adaptive bitrate manifests and playlists from SMIL data.
HTTPServerInfoXML com.wowza.wms.http.HTTPServerInfoXML Returns detailed server and connection information in XML format at http://[wowza-ip-address]:8086/serverinfo.
HTTPServerVersion com.wowza.wms.http.HTTPServerVersion Returns the WSE version and build number at http://[wowza-ip-address]:1935/ServerVersion. This is the default HTTP provider on port 1935.
HTTPTranscoderThumbnail com.wowza.wms.transcoder.httpprovider.HTTPTranscoderThumbnail Returns a JPEG or PNG image of a source stream that the transcoder is processing, at http://[wowza-ip-address]:8086/transcoderthumbnail?application=[application-name]&streamname=[stream-name]&format=[jpeg or png]&size=[widthxheight].

Custom HTTP providers


To build your own provider, see Create an HTTP provider with the Wowza Streaming Engine Java API.

More resources