mangui / flashls

HLS Flash Plugin/Player (Chromeless,OSMF,FlowPlayer,mediaelement.js,video.js,Clappr)
http://www.flashls.org
Mozilla Public License 2.0
751 stars 264 forks source link

FlashHls + MediaElementJS + encrypted HLS #559

Closed FrankDaze closed 7 years ago

FrankDaze commented 8 years ago

Hi,

we use the MediaElementJS player for a while. Until monday we used an older version without HLS support for Desktop browsers. Now we use the new version and seems to work well.

We use the player on a webpage of a kids TV station and for license right reasons they use HLSE files. The HTML5 version of MediaElementJS has not problems to play the encrypted files, but the flash fallback in IE11 on WIN7 seems not to work.

First I request the m3u8 file on this URL http://toggo-hlse-vod.dcp.adaptive.level3.net/Angelo/Shorts/manifest.m3u8?tlm=hls&streams=AN_214.mp4.m3u8:1200&stime=20161103100908&etime=20161103111408&token=07dfe698efe1515b1aad8

Then I get a list of .ts files and an URL of a key.bin file. The player should request then the key.bin here: https://srtlkey.secure.footprint.net/key1.bin , but the last thing that I see, is that the player is reading the crossdomain.xml and then nothing is happening. Stream stops.

This is my testpage: http://toggo-elex2.beta.eoa.de/videos/eoa/videokategorie-neu-566.htm?v=d30fc3358057c6ab580afb2153e1d22c

To make shure it's not a problem of the server, we tested the URL on www.hlsplayer.net on a WIN7 PC with IE11 and there is the video playing fine with a flash fallback.

I hope you can help me with that problem.

Thanks in advance Frank

mangui commented 8 years ago

most probably a crossdomain.xml not setup correctly for your key you might check your stream against http://www.flashls.org/latest/examples/chromeless/, enable debug/debug2 logs from advanced controls toolbar and check the JS console

FrankDaze commented 8 years ago

Thanks for the fast answer :)

If I test it on your link, it's not working. Stopped when loading https://srtlkey.secure.footprint.net/key1.bin .

If I test the same URL at www.hlsplayer.net then it's playing the video. I think if it would be a crossdomain.xml problem, then the other player also wouldn't play it.

Perhaps you see more in the debuggings as I do. this is the URL that I used for testing: http://toggo-hlse-vod.dcp.adaptive.level3.net/Angelo/Shorts/manifest.m3u8?tlm=hls&streams=AN_214.mp4.m3u8:1200&stime=20161103100908&etime=20161103111408&token=07dfe698efe1515b1aad8

mangui commented 8 years ago

flashls is hosted on HTTP whereas hlsplayer is hosted on HTTPS. that could make a difference

FrankDaze commented 8 years ago

ok I try to speak to the hoster to get a clean http connection.

But to make shure it's not a crossdomain.xml problem, do you think this one is ok?

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="*"/>
</cross-domain-policy>
FrankDaze commented 8 years ago

@mangui Thanks for your help. You were absolutely right, the crossdomain.xml was causing the problems because of the http / https mixture.

I changed the crossdomain.xml to this version an now I'm able to receive the video stream:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="*" secure="false"/>
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>