Dom19811981
Dom19811981

Reputation: 63

HTML5 video wont play when hosted on my server, plays fine from external source

I think I have exhausted every avenue in trying to solve an issue whereby an HTML5 video won't play on my site. I have a simple demo page (below) to demonstrate where I am. I originally had a video in various formats for different browsers but for easier testing I am now just working with webm and testing in Chrome (Version 41.0.2272.89 (64-bit) on Mac OSX Yosemite). You will see the basic markup from the page above.

Demo 1 - .webm video hosted locally on the server - No video playing

I have tested the following:

...so unless I am missing something obvious the markup is fine (for the browser I am testing) and the file itself is available and in the correct format.

OK, so the issue must be with the file itself then? Perhaps a codec issue or something, maybe something corrupted in the compression? Well, I don't think so...

The file came from an external source and if I embed it directly from the third-party's server it works fine. Check out this demo which is identical in markup other than the fact the video file is hosted externally:

Demo 2 - Same markup but video hosted elsewhere

Works fine for me!

So to confirm, the markup is the same in each case, the file when hosted externally loads fine, the exact same file when downloaded from the external source and uploaded to my server and referenced locally does not work.

I can only think that my testing here has ruled out issues with the video file itself and also with the HTML. It must be a server config issue with the parsing of the file surely? But, with the 200 response, the correct MIME type added via .htaccess and correct permissions I don't know what else to try.

Is everyone else seeing the same issue? What else should I be checking?

Thanks all!

Upvotes: 2

Views: 2262

Answers (2)

Dom19811981
Dom19811981

Reputation: 63

For anyone else with HTML5 Video not displaying as expected check the following:

  • MIME types are supported
  • Rule out issues with the video file itself
  • Check your server for support of range request

In this case Apache 2.2.23 did not support an empty range request. The option is to update Apache to 2.2.27 as detailed in the following thread Range: bytes 0- FAILS in Apache 2.2.23

Thanks to Pablo Montilla for the guidance!

Upvotes: 4

Pablo Montilla
Pablo Montilla

Reputation: 3050

I think your problem lies in byte range support.

If you use curl:

curl "http://alkemist.partners/video-js/small.webm" -H "Range: bytes=0-"

You'll see the Empty reply from server response, but if you remove the Range header, your server returns the file correctly.

Upvotes: 0

Related Questions