James
James

Reputation: 55

which media format is better for all mobile development?

I am developing an app for all platforms(iPhone,Android and windows).It involves file transfer between these via server.My doubt is in which format I should use for the image,video and the audio,which is better in all aspects like size,performance.And It should be playable on all the 3 phones.? Can any one give a suggestion ?

Upvotes: 0

Views: 198

Answers (1)

torrey.lyons
torrey.lyons

Reputation: 5589

For audio or images there are a number of options, but for video the picture is a lot fuzzier. For video there are really only two main contenders at this point:

Implementations of both of them are available on all the mobile platforms you listed (iOS, Android, and Windows Phone 7). Depending on what your application does exactly (streaming video, real time video conferencing, etc.) there are pluses and minus to each of them. Performance of the two is generally close enough that the quality of your implementation and settings you use are more important than the standard. A quick summary of some of the considerations in choosing between them are:

  • VP8: This is an open, royalty free format with a reference implementation open sourced under a BSD-style license. It builds and runs well on all three OSes as a third party library. The native support on each OS varies. Since WebM is a Google brainchild Android supports VP8 natively. Apple has not announced plans to support VP8 in iOS and Microsoft has taken a middle ground. However, it is easy and free to include the library in any app you distribute.
  • H.264: This is an industry standard included as part of HTML5 standard so it is almost universally supported by modern browsers. (Goggle has announced they will pull support for it from Chrome, but as of earlier this year this hadn't happened.) H.264 is covered by a a number of patents which are held in a pool for licensing purposes by MPEG LA. Commercial users of H.264 are expected to pay a licensing fee although there are exceptions including internet video that is free to end users. Android, iOS and Windows Phone 7 all support H.264 natively for streaming video playback. Real time video conferencing is not supported, however, at least on iOS. There is a also a good third party implementation (x264) of H.264 that is available on all platforms for cases where the native implementations fall short. x264 is a free open source library but it is licensed under the GNU GPL, which has issues for commercial development or iOS deployment at all. You may be required to buy a commercial license to use it in your product.

Here is the various vendor's pages on A/V format compatibility:

My advice is that if you are streaming videos use H.264 but if you are encoding/decoding video in real time use VP8. Apple does a great job with FaceTime using H.264 but the interfaces are not public.

Upvotes: 1

Related Questions