Video encoding recommendations

Video encoding profiles and parameters

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

Item

Lower quality

Higher quality

Video codec

H.264 Baseline Profile

H.264 Baseline Profile

Video resolution

176 x 144 px

720p resolution is supported

480 x 360 px

1080p resolution is supported

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

In addition to these encoding parameters, a device's 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.

Video content that is streamed over HTTP or RTSP

There are additional requirements for video content that is streamed
over HTTP or RTSP:

For 3GPP and MPEG-4 containers, the moovAtom must precede any mdatAtom.

For 3GPP, MPEG-4, and WebM
containers, audio and video samples corresponding to the
Sametime offset cannot be more than 500 KB apart. To
minimize this audio / video drift, consider interleaving audio and video in
smaller chunk sizes.

Got questions about leaving a comment? Get answers from our Disqus FAQ.