h.264 MP4 Playable on iOS 9 No Longer Playable on iOS 10

I discovered that a h.264 MP4 we were using in our app suddenly was no longer playable in iOS 10. I made a quick test app with the MP4 included to verify that this playability issue was coming from the MP4 specifically and not other processes in the app. I further verified this by accessing the mp4 via Safari, and on any iOS 10 device, the MP4 would not play when it would play in Safari for an equivalent device on iOS 9.


I will include a link to a zip file on the bottom of this post that contains both an MP4 that works on iOS 9 and 10 (WorksOn9And10.MP4) and one that works on iOS 9 but doesn't play on iOS 10 (WorksOn9.MP4). Also included in the zip is the small test app that was made to verify this. Upon launch or tapping the "Works" button, the player will play the WorksOn9And10.MP4 file. If you tap the "Does Not Work" button, it will play the WorksOn9.MP4 file which you will see will play on an iOS 9 device but not on iOS 10.


Has anyone else seen any similar issues with any of their MP4 files?


Included below is more info that was put in the Apple Radar.


Steps to Reproduce:

1. Create an AVAsset with the WorksOn9.MP4 file provided.

2. Observe that on iOS 9 the isPlayable method will return YES, but on iOS 10 the isPlayable method is returning NO.

3. If you try to play the video in an AVPlayer as a result, it will play on iOS 9 but not on iOS 10.


Expected Results:

An MP4 that played on iOS 9 should play on iOS 10.


Actual Results:

The MP4 will not play on iOS 10.


Configuration:

iPhone 5c, iPhone 6s, iPhone 6s+


Version & Build:

iOS 10.0 (14A5297c)


Additional Notes:

The phone model did not matter. If the MP4 in question was playable on that phone in iOS 9, it wasn't playable on the same phone model on iOS 10.


Zip Link:

https://www.dropbox.com/s/9zz84oss0mmd1j1/iOS10MP4Issue.zip?dl=0

Replies

Hello,


Any updates on this ? The GM release of iOS 10 did not resolve this issue.


Please reply with any information or assitance on the correct encodiing format iOS 10 is looking for.


BTW, Safari in Mac OSX works just fine and in iOS 9.3.5 and other devices


Thanks in advance

I have the same qustion, Who can help us?

http://asciiwwdc.com/2016/sessions/503


"playbackBufferEmpty means that you are stalling or you're about to stall.

So for progressive download playback in iOS 9 and earlier, AVFoundation clients must monitor these properties themselves and wait until playbackLikelyToKeepUp is true or playbackBufferFull is true before setting the AVPlayer's rate property to 1.

For HTTP Live Streaming, the rules are simpler.

You can set AVPlayer's rate property to 1 as soon as the user chooses to play, and it will automatically wait to buffer sufficient media before playback begins.

We are streamlining the default API contract in the 2016 iOS releases.

iOS, Mac OS, tvOS.

For apps linked on or after iOS 10, Mac OS Sierra, tvOS 10, the same rules for HLS will also apply to progressive download playback.

When the user clicks play, you can immediately set AVPlayer's rate property to 1 or call the play method, which is the same thing.

And AVFoundation will automatically wait to buffer enough to avoid stalling.

If the network drops out during playback and playback stalls, the rate property will stay set to 1.

And so it will again buffer and automatically resume when sufficiently buffered."

Any word on this? Our app will not playback mp4 video on iOS 10. Works fine on iOS 9.


Here's a quick update on our situation [Sept 19, 2016]

+ There has been a changed in how iOS validates video files.

+ In our case, we were encoding h.264 video with mp3 audio codec.

+ iOS 9 had no problem with the video files. iOS 10 does not like them and gave this error when trying to save to the camera roll "Sorry, this type of video cannot be saved to this device"


Cheers,

Graham

Any success on this one? I have over 100 video's for my class created on FCP, that my students view on both PC's and IOS devices ( as long as they are <ios 9). Apple have any suggestions.

Adding my case to the list of H264 encoded mp4 videos not playing in iOS10. I am using the JW Player streaming HLS. iOS 9 is not affected. I contacted JW Player who tried to help but seemed to not be aware of this major change from Apple. I guess Sierra will follow suit.

Hi all,


Did you find a solution to this problem?

I believe I'm having the same issue...seems odd that there's radio silence on this issue.


In my case, it's a live stream: http://goo.gl/9UKcve

Yes, same problem here.
Especially I figured out, that mp4 videos do not play using X-Accel-Redirect. They do play if they are sent directly.
I opened a topic about that point here: https://forums.developer.apple.com/message/183608#183608

I have the same issue. mp4 video with h264 encoding won' t play on ios 10. Did you get a resolution for this?

Same here. Surveillance videos of Synology NAS do not play on ios10 iPhone. Have not found any solution yet

I was having this problem until I restarted the trouble device. After the reboot I was unable to reproduce this problem and their were no more issues.