Would you like to tell us how we are doing?

You bet No thanks

Video Encoding Recommendations

The following table lists examples of video encoding profiles and parameters that the Android media framework supports for playback.

 

Lower quality

Higher quality

Video codec

H.264 Baseline Profile

H.264 Baseline Profile

Video resolution

176 x 144 px

480 x 360 px

Video frame rate

12 fps

30 fps

Video bitrate

56 Kbps

500 Kbps

Audio codec

AAC-LC

AAC-LC

Audio channels

1 (mono)

2 (stereo)

Audio bitrate

24 Kbps

128 Kbps

720p and 1080p resolutions also supported

In addition to these encoding parameter recommendations, a device's available video recording profiles can be used as a proxy for media playback capabilities. These profiles can be inspected using the CamcorderProfile class, which is available since API level 8.

 

For video content that is streamed over HTTP or RTSP, there are additional requirements:

  • For 3GPP and MPEG-4 containers, the moov atom must precede any mdat atoms.
  • For 3GPP, MPEG-4, and WebM containers, audio and video samples corresponding to the same time offset may be no more than 500 KB apart. To minimize this audio/video drift, consider interleaving audio and video in smaller chunk sizes.