Hello all,
this is my first post so I hope it's in the right place. I have looked for an answer on the site and I don't think I'm duplicating a question.
Anyway, I'm in the final throes of making my first app. It contains video. The video is 540p mp4 with an h.264 codec.
I've accepted the fact that it's not going to be possible to have all phones run this, so I'm trying to work out what the lower level of system requirements is so that I can be as straightforward as possible in the Required Specs in my app description. I've done some testing and I would like to know why it is, what the difference is between some phones that means the video works on some, and simply doesn't play on others. I realise that those on which it doesn't work are lower-end devices, but what is is that they have/don't have that means it doesn't work? I assume that because the videos are within the app itself that they play through the default player.

The phones on which it works are:

HTC Desire HD (OS 2.3.5)
Samsung Galaxy SII (OS 4.1.2)
Samsung Galaxy SIII (OS: 4.0.4)
Samsung Galaxy Note II (OS 4.1.2)
Google Nexus 7 (OS: 4.2.2)

And those that don't support it are:

Samsung Galaxy Ace (OS 2.3.3)
Samsung Galaxy S (OS: 2.3.6)
Samsung Galaxy Mini (OS: 2.3.6)
Sony Xperia J (OS 4.1.2)

My first thought was that it was to do with single vs dual core processors, but the HTC Desire HD is single core. It's also running OS 2.3.5, so it's seemingly not an issue of OS3 being the cut-off point.

Sorry this is such a long post, but can anybody shed any light on this? I just don't want anyone to buy my app and not be able to see the videos.
For the record I'm also loathe to lower the video quality to "fit all" if it means it will look rubbish on up-to-date, higher spec devices.
Thank you!