Encoding video for every mobile device

Encoding audio for playback on mobile devices is relatively straightforward: almost everything plays MP3 except some legacy phones, in which case a simple conversion to an AMR format should work fine.

Video playback is much more complicated as there are thousands of devices with widely varying capabilities and supported formats. This post has done the hard work of finding the least common denominator across mobile devices and states that two video formats covers 90+% of mobile devices:

  • 3GP + MPEG-4 for low-end devices
  • H.264 + MP4 for high-end devices

We will look at two profiles (configurations) for low-end devices and two for high-end devices.

Low-end devices: 3GP + MPEG-4

In the context of equipping the global church with accessible, localized discipleship resources, it is very important to have good support for low-end devices, as they tend to be more prevalent in the parts of the world that need discipleship resources most.

Profile A - baseline device

video format: 3gp
video codec: mpeg4
video size: 176×144
video frame rate: 5
video bitrate: 52
audio format: AMR
audio channels: 1
audio bitrate: 16
audio sample rate: 16000

Profile B - mid-grade device

video format: 3gp
video codec: mpeg4
video size: 320×240
video frame rate: 15
video bitrate: 192
audio format: AMR-WB
audio channels: 1
audio bitrate: 24
audio sample rate: 16000

High-end devices: H.264 + MP4

Profile C - baseline smartphone

video format: MP4
video codec: H.264 (level 1.3)
video size: 320×240
video frame rate: 30
video bitrate: 768 (or less)
audio format: AAC
audio channels: 1
audio bitrate: 128 (or less)
audio sample rate: 44100 (or less)

Profile D - high-end smartphone

video format: MP4
video codec: H.264 (level 3.0)
video size: 480×320
video frame rate: 30
video bitrate: 1500 (or less)
audio format: AAC
audio channels: 1-2
audio bitrate: 128 (or less)
audio sample rate: 44100 (or less)

In order to cover the most devices in two formats, start with Profile A and Profile C and adjust the settings as needed.

Also, keep an eye on the WebM video format that plays without plugins in HTML5 web pages and may play a significant role in mobile video formats in the near future.