HTTP headers when opening a stream

If the clients don’t respect the http_headers parameter you could try having the server act as a proxy for the playlist.

something like this might work in a url service:

def MediaObjectsForURL(url):
    return [
        MediaObject(
            protocol='hls',
            container='mpegts',
            video_codec=VideoCodec.H264,
            audio_codec=AudioCodec.AAC,
            audio_channels=2,
            optimized_for_streaming=True,
            parts=[PartObject(key=Callback(playlist, url=url, ext='m3u8'))]
        )
    ]


def playlist(url):
    return HTTP.Request(url, headers={'X-Headers': '...'}).content