You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Javernaut ddbc65901d Adding possibility to set the FFmpeg version to use 5 years ago
images Updating README.md to display libswscale 6 years ago
.gitignore Printing stats about text relocations presence 5 years ago
README.md Adding the description of TEXTREL monitoring in README.md 5 years ago
ffmpeg-android-maker.sh Adding possibility to set the FFmpeg version to use 5 years ago
video_decoders_list.txt Disabling audio and subtitles decoders 5 years ago

README.md

ffmpeg-android-maker

Here is a script that downloads the source code of FFmpeg library and assembles it for Android. The script produces shared libraries as well as header files. The output structure looks like this:

The actual content of all this directories depends on how the FFmpeg was configured before assembling. For my purpose I enabled only libavcodec, libavformat, libavutil and libswscale, but you can set your own configuration to make the FFmpeg you need. The version of FFmpeg here is 4.1.4. And the script expects to use at least Android NDK r19 (r20 also works ok). Starting with FFmpeg 4.1 and NDK r19 the whole process became much simpler.

Supported architectures

  • armeabi-v7a
  • arm64-v8a
  • x86
  • x86_64

Prerequisites

You have to define an environment variable ANDROID_NDK_HOME and set the correct path to your Android NDK.

How to use

Well, just execute the script :) Examine the output directory after.

And the actual Android app can be found here

Features

Text relocations monitoring. After a build you can look into stats/text-relocations.txt file. That file lists all *.so files that were built and reports if they have text relocations. If you don't see any mentioning of 'TEXTREL' in the file, you are good. Otherwise, you will see exact binaries that have this problem.