video cannot be loaded on iOS websheet on iPhone 5c - ios

We are running a wifi network with captive portal and users need to watch video before they get wifi. The problem is that the video cannot play on iPhone websheet (the page that pops up when you connect to wifi signal). It shows the following error:
"The video could not be loaded, either because the server or network failed or because the format is not supported"
The video is mp4 format with H.264 codec. Framerate is 30. Encoder profile is baseline and level 1.3. More details as follows:
x264 Unparse: level=1.3:bframes=0:cabac=0:8x8dct=0:weightp=0:vbv-bufsize=2000:vbv-maxrate=768
We are using JWPlayer 5.10.
The iPhone that showed the error was iPhone 5c with iOS 8.4.1. The error only occurs on websheet. Video can play without any problem on Safari. Also video can play successfully on both websheet and Safari on iPhone 6.
Any idea and help would be much appreciated!

Related

iOS 11 Simulator - Safari getUserMedia "invalid constraint"

Building a mobile web app and trying to take advantage of the new WebRTC features that dropped with iOS 11, but I seem unable to access the microphone, at least from my XCode iOS 11 simulator (iPhone X)
All requests to navigator.mediaDevices.getUserMedia({ audio: true }) and all other constraint combinations I try result in an OverconstrainedError with error message: Invalid constraint
I've also verified that the simulator has correct input and output audio devices set. Safari also has rights to microphone and camera in the iOS settings.
To beat a dead horse I have also tried enabling all experimental features in the iOS settings menu for safari to make sure I hadn't missed anything.
Has anyone been able to successfully get the safari mobile browser to collect microphone input in the simulator?

Can't play video served from localhost when wifi is off on iOS 10

Is it possible to play video served from local embedded server with WKWebView while offline?
I have a app developed with WKWebView that served from a embedded server.
I am serving local video and use <vidoe src="http://localhost:8102/path/to/video.mp4"></video> to play video.
It was working fine on iOS 9.x. Both online and offline (wifi and data off).
However on iOS 10 it doesn't play the video when wifi is OFF (tried on iPad Pro Wifi and simulator).
The error is MEDIA_ERR_SRC_NOT_SUPPORTED, basically, cannot reach to server. But when it runs on simulator, I can play the video on my desktop Safari.
I also tried UIWebView which behavies the same.
Steps to reproduce on simulator:
Start a local server serve some mp4 file. e.g. http-server
Open ios 10 simulator, load a mp4 file. e.g. http://localhost:8080/1.mp4
Make sure it plays without issue
Disconnect computer from internet (e.g. turn off wifi)
On ios 10 simulator, load the same file.
The video won't load this time
Same steps on ios 9 simulator works without issue.
Is any way to workaround this issue? I tried use file:// url which doesn't work with WKWebView.

iOS 10 Beta Video Playback Broken

Using AVPlayer and SKVideoNode, code / app that was working fine with iOS 9.x is now not playing video on 10 Beta x. The file seems to be playing, but getting the error message
Failed to create IOSurface image (texture)
This is for all for formats that have been working before (mp4, HLS, etc).
This error message seems to be coming from under the hood.

Chromecast device not playing HLS Video from iOS Application

I've registered my app and trying to cast a hls video from ios app to TV.
It works with other formats like mp4.
In the code I've mentioned the streamtype as GCKMediaStreamTypeLive and contentType as #"application/x-mpegURL".
The iOS code used is referenced from the sample app "HelloVideoGoogleCast".
And I've deployed the receiver's html file from the following sample,
https://github.com/googlecast/cast-custom-receiver.
Am I missing something ?
Is there any sample app available for playing HLS video on ChromeCast device ?
Why is it not playing the hls video type ?
I received the "Access-Control-Allow-Origin" header error even when CORS headers was present and set up correctly. Turned out a simple reboot of the Chromecast device from the Chromecast iOS app fixed the issue.

H.264 encoded MP4 presented in HTML5 plays on Safari but not iOS devices

I'm using Adobe Media Encoder CS5 to encode a FLV file to H.264 to present on the web via HTML5 and the video file plays just fine in Safari in OS X (and in Firefox encoded to OGG) but on any iOS device (iPad, iPhone) I get the play icon with the slash running through it.
Has anyone encountered this before and if so, any ideas as to why?
Thanks.
We had this problem and found that encoding the files in accordance with iPhone's webview's standards created files that played fine.
Not all H.264 encoded Mp4 files are supported by iPhone (or Chrome for that matter) and slight differences in the encoding process can produce videos that do not work. Even if the EXACT same encoding settings were used, H.264 is a variable bit-rate encoder, so different videos may exceed bitrate limits, causing some to work and other not.
The encoding settings that were successful for us were:
Only use the H.264 Baseline Profile Level 3.0
Resolution below 640 x 480 and framerate up to 30 fps
B frames are not supported in the Baseline profile.
bitrate limit of 900kb.
Here is the reference we used to arrive at those settings.
I know this has a marked answer, but we had the exact same issue.
The problem ended up being a setting on our internal network.
After turning on the safari console on the iPad, we saw that when trying to load the video we were getting a "byte_range_error_message" being logged. It seems the mobile devices request this content differently than desktop devices, by requesting certain bytes at a time. We managed to find out that the video played fine when the phones used their 3G networks, but not when they loaded the video through the internal wifi. A lot of research later led us to this MSDN article:
http://support.microsoft.com/kb/922330
Which explained how to find the setting in our firewall to allow the devices to request the video properly. We also found a similar setting on one of our D-Link routers for a separate wifi network that was also having the problem.

Resources