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