0
votes

I'm using MPMoviePlayerController to try to play a .mov file. I'm not doing anything unusual, just following some boilerplate code to play the video.

Now, everything runs just fine on the simulator. However, when I try to play the video on an actual iPad (both retina and non-retina), nothing happens. It attempts to play, and apparently fails without error, and the completion notification is called.

The .mov file is 16 MB in size and encoded in H.264, Linear PCM, and Timecode; Color profile: HD (1-1-1).

Looking at some of the documentation, I find a few things unusual:

Supported formats: H.264 Baseline Profile Level 3.0 video, up to 640 x 480 at 30 fps.

Up to 640 x 480? That's weird. Am I misinterpreting that? How would I play videos of a higher resolution?

What's also weird is that lowering the resolution of the video to 1840 x 1376 plays the video, but anything higher and I am unable to play it on the device. It seems to me that the device may be running in to some memory trouble, but I'm sure this can be done. How does Apple play, say, HD trailers or movies downloaded from iTunes?

What is the correct way to play my mov file?

1
Show your code of playing?Vishal

1 Answers

0
votes

The iPad2 technical specs are here. They state that 1080p (1920×1080) "HD" is the max resolution. That is h.264 High Profile level 4.1. This wikipedia page describes h.264 profiles. This is a hardware limitation on how many macroblocks can be decoded at at once as opposed to a strict pixel size, so I don't see how you could work around it. You just need to see what the largest size you can get to run is and then use that.