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.