please let us know what you use to host your videos and what is the video type. Does it use some video download protection?
Please also report the video using the video checker and let us know: https://foliovision.com/player/basic-setup/how-to-use-video-checker
Thanks for prompt response, videos are H264 encoded Mp4 hosted on bunny CDN played via folio player on our website. we use hotlink protection so that videos can only be played via website.
The video plays on all other devices that we can find.
I have sent you the log file showing Video Okay
here’s what you sent with the video checker:
Mime Type: video/mp4 Format: avc1 Duration: 00:40:53.84 Bitrate: 9389 kb/s Video: Stream #0:0(eng): Video: h264 (Main), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 8992 kb/s, 50 fps, 50 tbr, 50 tbn, 50 tbc (default) handler_name : Video Media Handler Audio: Stream #0:1(eng): Audio: aac (LC), 48000 Hz, stereo, fltp, 384 kb/s (default) Moov position: 1643154
I was able to reproduce the issue on iPhone 11 Pro Max with iOS 13.2.
I downloaded your video and tried to play it in the Safari browser directly, so no FV Player was involved. I could see that it did the following range requests to play the file:
The first one is a request for first 2 bytes only, then it tries to load full file except the last byte, then it starts to load at about 1 MB, then 100 kB, then 1 MB again and then it just fails to play it.
For some other MP4 file which works properly it only does that 0-1 request and then it goes after the full file (except the last byte again).
It all looks to me like it’s trying to find some specific data in the file, like the moov meta data which should be at the start of the file. By IT I mean the iPhone core HTML5 video playback engine. Moov is the part of file which tells the video decoder what kind of video it is.
So it seems that since the moov position is at 1643154 byte (about 1.6MB) it just fails to find it – all these range requests start at 1 MB or below. If it’s some kind of limitation of iOS 13, then we need to adjust our video checker to give red warnings when it sees moov in such high position. But I didn’t find any note about that on the whole internet.
When using iOS 12.3.1 it also runs into the same issues. That one seems to scan the file with range requests up until position of 1703935 (above the moov position in your file) but still fails to play.
iOS 11.3 also won’t play and is closer to iOS 13.2
When playing in Chrome on PC it loads the first 2 MB before doing anything else, so it gets that moov safely.
The thing about moov is (at least that’s what I remember) that its position also depends on the video length (or at least in some cases). So please check if you are able to play a shorter video which was encoded the same way.
Also, I recommend your try to encode that same video file (the high quality original) using Handbrake, instructions can be found here: https://foliovision.com/player/basic-setup/encoding#encoding-samples I wonder if you would also get such hight moov position there.
We are also finishing the new plugin which encodes the videos for you right within your WordPress admin dashboard using the Coconut service. That makes the video publishing much more convenient – using the HLS streaming format which is the gold standard of the online video.
Hi Martin, thank you for your informative response,
I will run some more tests as you sugest and let you know the outcome, i have also been testing and it appears so far that the iphone manages to play the video if its converted to 25p our original files are 50i so perhaps its this that the iphone struggles with i still need to complete some more tests to confirm this.
It good news that you are creating a coconut plugin, we tested coconut earlier last year and it was really good for adaptive streams, but at that time we couldn’t find a way of using it. I would be very interested in knowing more on how this will work with you.
Will update ticket with my test results later
I was trying to compare different videos which have Moov above 1 MB and found they play on iOS without issues.
So then I was looking at the videos which use the avc1 format along with Moov above 1 MB, but they played too.
As the last attempt I was looking for some video in the avc1 format, with Moov above 1 MB and in 50 fps. But I was not able to find any.
It seems you came up with that 50 fps issue too, so perhaps that’s it and we should detect 50i videos and warn about them.
I also updated iOS from 13.1 to 13.3, but it didn’t help.
For FV Player Coconut we are trying to incorporate a setup wizard. We found a combination of affordable storage and a reasonably priced CDN to play along with all of it.
After a lot of testing it certainly seems that Ios 13+ cannot play any sort of interlaced video, also it doesnt like autoplay and its better with sound at max 160kbps.
I have tried lots of different formats and i believe that the best settings for video to play on IOS13+ are currently:,
MP4 container 1280 x720 at 25p, bitrate seems fine at 6m or 7m even on a large file audio aac at 160kbps.
I have played using 50p but for backwards compatability 25p is better.
I am sure other settings will work but for know this seems good.
We have just found out that we are unable to play videos using an iphone 11 pro max os ver 13.3. when we try to access the video via folio PPV we get an “html5: Video file not found” error videos play on all earlier versions of iphone ipad android and windows. would you know why this is.