A live channel that streams directly from an external source doesn't play


    Symptom: When I try to play a live event I get a message about a file ending with .m3u8 that cannot be found. I am using a live channel that streams directly from source (an external event).

    Explanation: The server that provides the file does not supply some extra information (known as HTTP headers) that is required for playback. Read on for a further explanation and the solution.


    When using external live events with Screen9 some settings are required to properly play back the event in modern browsers. This is due to a modern HTTP standard for securely sharing resources across different internet domains, something that happens when playing external live events.

    NOTE: This will only happen for live channels created with the "Stream directly from source" checkbox marked, as pictured below:


    When streaming directly from a source that is not Screen9 the following headers need to be returned when the player requests the playback manifests (ending in .m3u8) and individual video chunks (can, but doesn't have to, end in .ts):

    Access-Control-Allow-Origin: *

    Access-Control-Allow-Methods: GET, OPTIONS

    The latter can under some circumstances be omitted. Failing to properly return this, and/or not answering GET and OPTIONS on the external server will cause playback to fail on some browsers (e.g. Google Chrome and Mozilla Firefox).

    Additionally, if the Screen9 player should be embedded on HTTPS, the external domain serving the HLS manifest and chunks must also be provided via HTTPS.

    If you are sure that the external server is acting correctly according to this article, please contact support for further help.

    Additional reading: CORS on Wikipedia

    Was this article helpful?
    0 out of 0 found this helpful