I'm having trouble understanding why videos i have stored on my server can't be played on iOS Safari but can be played on Mac Safari. I took these videos from this page.
To show you what I mean, the following works on Mac and iOS Safari:
<video src="http://video-js.zencoder.com/oceans-clip.mp4"></video>
Whereas this only works on Mac but not iOS Safari:
<video src="http://mysite.com/oceans-clip.mp4" ></video>
I'm totally confused since they are the same exact videos. Any thoughts would be greatly appreciated.
It is most likely because you have a self signed certificate for SSL. I ran into the same problem. iOS doesnt play video html from self signed certs.
According to the official Safari Developper Library, you should add "controls"
<video src="http://mysite.com/oceans-clip.mp4" controls ></video>
just a suggestion but are the mime types properly configured on your server? some browsers are pickier than other with mime types...
If you go to an URL of the video file in Firefox and use an extension like livehttpheaders you should be able to see which mime type the file is sent as, it will probably need to be corrected in your config - google should tell you how to do this. :-)
Related
We experience an issue with playing a mp4 file on ipad on webpage with a video HTML 5 player.
Issue:
It does not work on ipad/iphone. On all other platforms (Windows,Android, iOS desktop) it works fine.
This is the code:
<video id="my-video" width="400" height="240" preload="true" controls >
<source src="/media/video/6d9ab49-9936-4194-acvb-3cd9b60521fg/myvideo.mp4" />
</video>
Connected the ipad to the Mac to debug:
A message 'requested resource cannot be found'.
Does sound very clear but does not make sense because the mp4 file is accessible when you paste the url into the browser address bar.
Already tested and checked:
set src of mp4 to fullpath (including https:// or http://) instead of
using the virtual path ;
checked hostingprovider for 'Accept-Ranges: bytes' (with partial content (206) responses) ; settings are ok
play the same mp4 file from a remote url (accessed with or without https); strange but imporant : that works !
So I guess the issue really is that the mp4 can not be found or loaded on ipad.
But why?
Hope someone can help.
Have you tried it like this, include src directly inside <video> tag?
<video id="my-video" src="/media/video/6d9ab49-9936-4194-acvb-3cd9b60521fg/myvideo.mp4" width="400" height="240" preload="true" controls></video>
If it still doesn't work try to use only video element with src, remove preload and controls. Just to see if you can get it to work. And if still no results, try to go for absolute src path.
I had this very same problem serving videos on my Liferay Portal, which works perfectly on PC and Android, but not on iOS devices. After numerous tests, I think I've finally managed to nail down the cause.
For some reason, if the video file (eg MP4) is accessible by a guest user (ie accessible without having to log on to the server), then it will work fine on iOS. However, if the file is only accessible to logged on users, it won't work.
My theory on why this happens is that iOS is probably using a different session to do the range request check than the one used to play the video file. Thus, the range request check fails because the file is inaccessible.
I've setup a Captive Portal with dd-wrt, wifidog, authpuppy and some plugins from authpuppy as well as my own web app.
I've found that video tag from html 5 could not be played on ios popup broswer(I think it's a UIWebView), while android works fine.
Is it possible to make video play-able on this reduced version browser from ios?
It works in ios 7.
It seems that ios 6 (or below) cannot load some resource types (such as mp4 or zip and so on) in the popup web browser.
Here mention a method to how to solve these kind of problems.(it skips the popup browser)
But if you really want to play videos in the popup browser, I'm also researching it...:P
So I have a couple of videos on my website that I shot using the iPhone 4 and then converted to mp4, webm and ogg, so that I can use them with html5. Thing is, the video does not play at all on the 4 iOS devices that I tested and neither on Chrome for Android.
The Chrome issue could be because some of the mp4 are actually m4v files, but still after encoding with handbrake a video to the iphone 4 presset and in mp4 format, it still does not play.
What happens, you ask? Well, it shows the play button crossed out with a diagonal bar, the debug console on Safari does not show any message untill I try to access the video directly. Then it says: QuickTime Movie could not be played.
What can I do? I have been trying to encode with ffmpeg, have tried a handful of different solutions, some even found here on stackoverlow, but to no avail. The videos do get shorter, both in display size and MBs, but nothing works to fix the issue at hand.
I've been trying to get this corrected for a couple of weeks now. Any help and/or suggestions are welcome.
Thank you.
By the way, all the videos are on a registred users section of the website, but I have one for debugin on the main page, so feel free to test.
https://sidnerwebsite.sytes.net
It seems the issue is caused by the iOS' need of an Intermediate Certificate trusted by the iOS to play videos through an SSL connection. After disabling the re-routing of the website to its ssl counterpart, the videos display correctly on iOS.
i am working on a web application based on media gallery.In this application i am uploading media using SWFUpload either images and videos.When i try to open my application on IOS then uploader not visible there.Where it is working fine on safari installed on windows.I want some suggestions from experts of this field.
one site who is using SWFUpload is http://www.ehproductions.com/mediaimage.htm.
Here SwfUploader working nice on windows but not on IOS machines.
Is there any javax html5 compatible uploader?
Thanks in advance.
According to the description of the SWFUpload:
SWFUpload Upload files to a server via flash and listen all the events
from JavaScript.
As all we know there is no flash on the iOS devices, and as result — uploader not visible there. But the problem is not only in the flash. iOS misses html file input, so you cannot use the same tools you use with other OS/browser. Take a look at this question - "A html5 web app for mobile safari to upload images from the Photos.app?", — for possible workarounds.
W're developing an iPad app (iOS 4.3.5) that uses UIWebView to load YouTube videos. About once in five times a YouTube video will fail to load and I only see the following blank screen with YouTube's logo:
Looking in the debug logs I can only see the following warnings:
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.3.5 (8L1)/Symbols/System/Library/Internet Plug-Ins/QuickTime Plugin.webplugin/QuickTime Plugin (file not found).
warning: No copy of QuickTime Plugin.webplugin/QuickTime Plugin found locally, reading from memory on remote device. This may slow down the debug session.
I've read about this warning (https://stackoverflow.com/questions/7149593/warning-while-playing-a-video-link-in-my-app) and don't think it effects this problem.
Does anyone know how to fix this?
Try with video tag of HTML 5. I have done the same thing with video tag and its working perfect with my application.
Below is the sample code for the same...
<html><head><video controls=\"controls\"><source src=\"%#\" type=\"video/mp4\" height=\"%0.0f\" width=\"%0.0f\"/></video></body></html>
(Answering my own questions)
OK. I'm pretty sure I figured this out. Some videos don't have a mobile player. You can look at the JSON output here:
http://gdata.youtube.com/feeds/api/videos/TWfph3iNC-k?v=2&alt=jsonc
And here:
http://gdata.youtube.com/feeds/api/videos/cd4jvtAr8JM?v=2&alt=jsonc
Notice how the second video (cd4jvtAr8JM) doesn't have the mobile player link. I guess this means that YouTube hasn't encoded it yet for mobile. Or it's restricted for mobile. Regardless, these type of videos all won't play for me.