Video compression on android using new MediaCodec Library

The output of MediaCodec is a raw elementary stream. You need to package it up into a video file format (possibly muxing the audio back in) before many players will recognize it. FWIW, I’ve found that the GStreamer-based Totem Movie Player for Linux will play “raw” video/avc files.

Update:
The way to convert H.264 to .mp4 on Android is with the MediaMuxer class, introduced in Android 4.3 (API 18). There are a couple of examples (EncodeAndMuxTest, CameraToMpegTest) that demonstrate its use.

Leave a Comment