1

I want to play an HTML5 video (MP4, quickstart) in IE 11 using the autoplay option.

All browsers are working fine (Firefox, Chrome, mobile Android and iOS): they start playing the video immediately while downloading in background.

Only IE does not start playing before it completely downloaded the file. After downloading the file (I can see this in the apache log) the video starts playing - so the autoplay option is recognized in some way.

The code is really easy and only basic html5 video markup

<video id="myVideoPlayer" height="260" class="hidden-print" style="display:inline-block; float:left;" preload="auto" autoplay="autoplay" controls="controls" loop="loop">
    <source src="/stream.php?id=1234&quality=hd" type="video/mp4"></source>
    <source src="/stream.php?id=1234&quality=webm-hd" type="video/webm"></source>
</video>

If I directly call the stream.php I have the same issue - but again only in IE. I can then see in my server logs:

one complete download of the video during page load

then some kind of embedded quicktime player is shown on the IE page. The player starts a new download ans starts playing the video while downloading.

and I then have a second entry for the complete download in the apache log.

Looks like IE has to download the while file to examine it and to decide how to open it. But the header of the video is at the beginning (this is why other browser are working), so why is this neccessary?

efdev1234
  • 845
  • 1
  • 10
  • 18
  • If you're using Tomcat, see: http://stackoverflow.com/questions/6299432/how-do-disable-transfer-encoding-in-tomcat-6 – GlenPeterson Feb 04 '16 at 21:54

1 Answers1

1

It was an apache configuration issue!

We are using DEFLATE as OutputFilter also for .php endings, so the transfer-encoding of the video streaming php-script was set to "chunked" which causes IE to completely download the file. Even setting "Content-length" header in the php file did not help. Only way was to disable DEFLATE for this php file.

efdev1234
  • 845
  • 1
  • 10
  • 18