JW Player

User

Feb 11, 2014 02:09PM EST0rated :

I use this:http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Internet-Information-Services-IIS7-Version2for pseudo-streaming, it requires "startparam" : "start". Do you mean some other pseudostreaming module to work with?If i try this script code:

JW Player

User

Feb 11, 2014 02:09PM EST0rated :

It is module, that mentioned here:http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/12534/video-delivery-http-pseudo-streamingVersion - http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Internet-Information-Services-IIS7-Version2

The way it works on JWPlayer 5 is described here:http://www.longtailvideo.com/support/forums/jw-player/servers-and-streaming/28309/http-pseudo-streaming-from-iis#comment-158051

So, yes, possibly that module doesn't work fine with ranges header... But is there any method to bypass module in JWPlayer 6 like it can be done in JWPlayer 5 with setting it up with different sources?

JW Player

JW Player

User

Feb 11, 2014 02:09PM EST0rated :

GnTYyYT has right. Same problem. in jw5 solved with setting a php script to serve the video instead of the default video path. In the php script i menaged the ranges header myself so i worked fine in iOS. Can't do this in jw6 :( . I am sorry to say this because as developer i undersand how it feels when someone says you that you haven't done a really good job . Jw6 is more practic and more beautiful but jw5 functionality is still the best .

JeroenW

JW Player

User

Feb 11, 2014 02:09PM EST0rated :

I found a solution to this by tweaking IIS into serving same mp4 with and without the ModH264Streaming based on request header containing 'Range' string.I published screencast to make it easy to follow: http://www.youtube.com/watch?v=CC4tXSj3fxUIn short, this screencast explains how it is possible to have IIS 8 load same mp4 by using different module to generate the outcome for pseudostreaming, so it would be compatible at the same time between HTML5 and Flash mode. The differentiation is done based on the header sent by the browser, which contains the 'Range: bytes=...' instruction when it's HTML5, while when using flash mode, the URL sends the bytes/starttime needed, so Range is not being used. The reason why IIS doesn't correctly handle the 'Range' call always is because of the ModH264Streaming.dll module which is getting associated with .mp4 and would then return response that only works for Flash, and not for HTML5 partial content (with HTTP response code = 206)The solution is implementing by creating 2 high level folder for videos, where first contains a videos folder, and second contains videos folder which is symbolic link of the previous videos folder. Then, a mapping handler is placed only on the first higher level videos folder to specify to load Modh264Streaming for .mp4 extension. a url rewrite is done on the parent folder of those 2 higher level videos folder, which rewrites the url from the first higher level videos folder to the second higher level video folder whenever it finds a .mp4 file being server and the 'range: bytes..' string in the http request header. Note that ModH264Streaming is a 32-bit module, so the application pool needs to be set to load 32-bit modules. Additionally, in Windows 2012 (IIS 8), the ModH264Streaming cannot be placed in %windir% directory, so it only needs to be placed to a place where IIS has access (by default c:inetservwwwroot). Also note that under Windows 2008 (IIS 7.5), module mod_rewrite needs to be downloaded, and make sure when it's installed, its order of execution is higher than ModH264Streaming, so it's able to rewrite the URL and avoid loading ModH264Streaming when serving HTML5 to non flash player