Skip to content

How to use Vitamio 3.0 with your own FFmpeg build?

Crossle Song edited this page Aug 30, 2013 · 1 revision

Requirements

The Vitamio 3.0 is built with Android NDK r8b, so it's recommended to use NDK r8b to build your custom FFmpeg. According to developers feedback, there're many issues and crashes if other NDK revisions used.

Build FFmpeg

At first clone FFmpeg-Android library from our GitHub http://github.com/yixia/FFmpeg-Android. Then tweak the FFmpeg-Android.sh to fit your own need.

The most common scenarios are that you want to compile several certain modules of FFmpeg in your app, without any other masses. In this situation, all you need to do is to modify the FFMPEG_FLAGS in the shell script. All the available parameters are well documented in FFmpeg's configure script configure --help.

In rare cases, if you want to patch FFmpeg, you need more work, I just think you may have all the knowledges to do that. Indeed, you just need to understand the FFmpeg-Android.sh or craft your own build script.

At last, run FFmpeg-Android.sh in bash. It's a bash script which may work in zsh too.

Bundle libarm.so

Find the file res/raw/libarm.so in VitamioBundle

=> file res/raw/libarm.so 
res/raw/libarm.so: 7-zip archive data, version 0.3

Yes, you find the magic, it's a 7-zip file, so unzip it in anyway and replace each libffmpeg.so with your own builds.

60 <=> armv6
61 <=> vfp
70 <=> armv7
71 <=> neon

Finally archive all data to libarm.so again.