Bambuser version of ffmpeg/android with custom python bindings
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


DEPRECATED, in favor of [ffpyplayer](

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>