Safari on iOS requires range headers to be able to play video content via HTML5. So enabling range headers in WildFly should make this happen. It does not. Enabling the range headers actually prevent Chrome from playing the video content, which previously worked when the range headers were NOT enabled.
After enabling range headers as described here:
https://developer.jboss.org/message/953058#953058
I made some range requests via `curl` to see what is being returned:
This is the result of a request to WildFly with the Range headers enabled:
$ curl -I --range 0- http://localhost:8880/vidtest/vidtest.mp4 HTTP/1.1 200 OK Connection: keep-alive Last-Modified: Thu, 17 Mar 2016 19:15:42 GMT X-Powered-By: Undertow/1 Server: WildFly/10 Content-Type: video/mp4 Content-Length: 8200890 Date: Fri, 18 Mar 2016 16:59:55 GMT
This is the result of a request to the same content being served from Tomcat 8, no special config required. All the browsers can play the content when served from Tomcat 8:
$ curl -I --range 0- http://localhost:8080/vidtest/vidtest.mp4 HTTP/1.1 206 Partial Content Server: Apache-Coyote/1.1 Accept-Ranges: bytes ETag: W/"8200890-1458232627000" Last-Modified: Thu, 17 Mar 2016 16:37:07 GMT Content-Range: bytes 0-8200889/8200890 Content-Type: video/mp4 Content-Length: 8200890 Date: Fri, 18 Mar 2016 17:00:08 GMT
I have created a small project that I have been using to trouble shoot this issue: https://github.com/slowtrailrunner/html5-vidtest
- clones
-
WFLY-6413 Range headers do not seem to be handled correctly and prevents video delivery in Chrome and Safari
- Closed
- is related to
-
JBEAP-15919 [GSS](7.2.z) UNDERTOW-1444 - Range headers do not seem to be handled correctly for files larger than 10 mb
- Closed