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 fea4713122 Using yasm binary from NDK. Handles cases when neither yasm nor nasm are installed 6 years ago
images Initial import 6 years ago
.gitignore Ignoring .DS_Store files in git 6 years ago
README.md Adding a link to a sample app 6 years ago
ffmpeg-android-maker.sh Using yasm binary from NDK. Handles cases when neither yasm nor nasm are installed 6 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 and libavutil, but you can set your own configuration to make the FFmpeg you need. The version of FFmpeg here is 4.1.1. And the script expects to use Android NDK r19. Starting with this versions of FFmpeg and NDK 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

Known issues:

The x86 binary doesn't have assembler optimizations, since they bring text relocations. So it may encounter certain performance issues. The x86_64 doesn't have this problem though.