Skip to content

Configure Your Origin With Wowza

The Flink OTT Client SDK will slightly alter the way how client devices request data from your CDN. Instead of typical HTTP GET calls, they will use HTTP Range Requests 🔗.

Please Note: The correct setup of your infrastructure may depend on both your streaming origin's configuration and/or your CDN's configuration. For example, some CDNs pass through all HTTP headers they receive from the origin while other CDNs add, remove or replace existing HTTP headers. To ensure the correct setup, please keep in mind that some CDN providers can override or alter your origin HTTP headers. This means, that in some cases, Step 1 and Step 2 of this guide can interfere with each other.

General Requirements

Modern web and streaming servers support range requests by default. However, you might want to ensure that your streaming origin / CDN meets the following requirements:

CORS OPTIONS Request Support

CORS Preflight requests (HTTP OPTIONS requests) must be supported. Verification: curl -i -X OPTIONS <your manifest URL> must contain an ALLOWED header in which OPTIONS must be listed.

Example:

curl -X OPTIONS http://example.org -i

HTTP/1.1 204 No Content
Allow: OPTIONS, GET, HEAD, POST

HTTP Range Request Support

HTTP Range Requests 🔗 must be allowed. This means, when sending a CORS OPTIONS request, your server must respond with a Access-Control-Allowed-Headers header in which Range must be listed.

Example:

curl -X OPTIONS http://example.org -i

HTTP/1.1 204 No Content
Access-Control-Allowed-Headers: Range

Wowza Configuration

Step 1 - Setup Wowza As HTTP Caching Origin

Please make sure that you configure your Wowza as an origin for HTTP streaming 🔗.

Step 2 - Update Configuration File

Add the following code to your application.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Root version="1">
    <Application>
        <HTTPStreamer>
            <!-- Properties defined here will override any properties defined in conf/HTTPStreamers.xml for any HTTPStreamer loaded by these applications -->
            <Properties>
                <Property>
                    <Name>cupertinoUserHTTPHeaders</Name>
                    <Value>ACCESS-CONTROL-ALLOW-ORIGIN:*|ACCESS-CONTROL-EXPOSE-HEADERS:content-length|ACCESS-CONTROL-ALLOW-HEADERS:range</Value>
                    <Type>String</Type>
                </Property>
                <Property>
                    <Name>mpegdashUserHTTPHeaders</Name>
                    <Value>ACCESS-CONTROL-EXPOSE-HEADERS:content-length|ACCESS-CONTROL-ALLOW-HEADERS:range</Value>
                    <Type>String</Type>
                </Property>
            </Properties>
        </HTTPStreamer>
    </Application>
</Root>

Step 3 - Disable Wowza User Tracking

Wowza offers a feature to track users based on a random ID that is rendered into your live streams URL. If you activated this feature, your playlist URL might look like this

https://yourdomain.com/path_to_segments/segment_w123123123_37.ts

This feature is not supported by Flink OTT by default. If you want to use it in combination with Flink OTT, please contact us directly for a dedicated configuration.

Next Steps

The next step is to configure your CDN 🔗.