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.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…