Bambuser version of ffmpeg/android with custom python bindings
Python Shell
Latest commit 6d057d3 Apr 2, 2014 @tito fix lot of memory leaks


FFMPEG for Android

This version is made in top of the bambuser original version.
All credits about toolchain / ffmpeg android are to
Check the original source code at:

This version include a specific Python wrapper to decode audio / video,
implemented to be as portable as possible. The goal is to use it for a
core provider in the Kivy project, on android platform.

STATUS: working, but in heavy stabilization

Toolchain setup

Download the Android NDK Revision 5b from

Extract it into a folder (e.g. your home directory, the example is
for the mac os x version):

tar -jxvf android-ndk-r5b-darwin-x86.tar.bz2
mv android-ndk-r5b android-ndk

Extracting the source

The original upstream source (and the patches, if any) can be extracted
by running ./


(not updated, don't use.)

To build, first set the environment variable NDK to point to the
directory where the NDK is installed:

export NDK=~/android-ndk

Then just call ./

To clean up the newly built files (removed unused files, remove libraries
with version numbers in the name), call ./

Building Python extension

(Only video with h264+aac, usually named .mp4, will work.)

If you want to test on your computer, you need to build an x86 version::

	FFMPEG_ARCHS='x86' ./

Then build the python extension::

	cd python
	FFMPEG_INCLUDES='/usr/include/SDL' FFMPEG_ROOT=../build/ffmpeg/x86/ \
	python build_ext --inplace -f

And for testing::

	python ffmpeg/ <yourvideofile.mkv>