🌐
FFmpeg
ffmpeg.org
FFmpeg
After the work spearheaded by Rostislav Pehlivanov and Claudio Freire, the now-stable FFmpeg native AAC encoder is ready to compete with much more mature encoders. The Fraunhofer FDK AAC Codec Library for Android was added in 2012 as the fourth supported external AAC encoder, and the one with the best quality and the most features supported, including HE-AAC and HE-AACv2.
multimedia framework
FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line … Wikipedia
Factsheet
Original authors Fabrice Bellard
Bobby Bingham (libavfilter)
Developer FFmpeg team
Initial release December 20, 2000; 25 years ago (2000-12-20)
Factsheet
Original authors Fabrice Bellard
Bobby Bingham (libavfilter)
Developer FFmpeg team
Initial release December 20, 2000; 25 years ago (2000-12-20)
🌐
GitHub
github.com β€Ί tanersener β€Ί mobile-ffmpeg
GitHub - tanersener/mobile-ffmpeg: FFmpeg for Android, iOS and tvOS. Not maintained anymore. Superseded by FFmpegKit. Β· GitHub
January 6, 2025 - FFmpeg for Android, iOS and tvOS. Not maintained anymore. Superseded by FFmpegKit. - tanersener/mobile-ffmpeg
Starred by 4.1K users
Forked by 893 users
Languages Β  C 61.3% | C++ 8.9% | HTML 6.7% | Shell 6.2% | Makefile 5.3% | Assembly 5.2%
🌐
Uptodown
ffmpeg-media-encoder.en.uptodown.com β€Ί android β€Ί multimedia β€Ί video β€Ί ffmpeg media encoder
FFmpeg Media Encoder for Android - Download the APK from Uptodown
January 17, 2026 - Download the APK of FFmpeg Media Encoder for Android for free. A pack of video and audio codecs, plus a file converter
🌐
SourceForge
sourceforge.net β€Ί projects β€Ί ffmpeg4android
FFmpeg for Android download | SourceForge.net
November 29, 2016 - Download FFmpeg for Android for free. Configure and build FFmpeg library with Android NDK. FFmpeg for Android is a set of Android makefiles which enable configuration and building FFmpeg library under Android source code tree with Android NDK.
Top answer
1 of 10
111

Here are the steps I went through in getting ffmpeg to work on Android:

  1. Build static libraries of ffmpeg for Android. This was achieved by building olvaffe's ffmpeg android port (libffmpeg) using the Android Build System. Simply place the sources under /external and make away. You'll need to extract bionic(libc) and zlib(libz) from the Android build as well, as ffmpeg libraries depend on them.
  2. Create a dynamic library wrapping ffmpeg functionality using the Android NDK. There's a lot of documentation out there on how to work with the NDK. Basically you'll need to write some C/C++ code to export the functionality you need out of ffmpeg into a library java can interact with through JNI. The NDK allows you to easily link against the static libraries you've generated in step 1, just add a line similar to this to Android.mk: LOCAL_STATIC_LIBRARIES := libavcodec libavformat libavutil libc libz

  3. Use the ffmpeg-wrapping dynamic library from your java sources. There's enough documentation on JNI out there, you should be fine.

Regarding using ffmpeg for playback, there are many examples (the ffmpeg binary itself is a good example), here's a basic tutorial. The best documentation can be found in the headers.

Good luck :)

2 of 10
73

For various reasons, Multimedia was and is never easy in terms of achieving the task without compromising on efficiency. ffmpeg is an effort in improving it day by day. It supports different formats of codecs and containers.

Now to answer the question of how to use this library, i would say that it is not so simple to write it here. But i can guide you in following ways.

1) Inside the ffmpeg directory of source code, you have output_example.c or api_example.c. Here, you can see the code where encoding/decoding is done. You will get an idea as to which API's inside ffmpeg you should call. This would be your first step.

2) Dolphin player is a open source project for Android. Currently it is having bugs but developers are working continuously. In that project you have the whole setup ready which you can use to continue your investigation. Here is a link to the project from code.google.com or run the command "git clone https://code.google.com/p/dolphin-player/" in a terminal. You can see two projects named P and P86 . You can use either of them.

Extra tip i would like to offer is that when you are building the ffmpeg code, inside build.sh you need to enable the muxers/demuxers/encoders/decoders of the formats you want to use. Else the corresponding code will not be included in the libraries. It took a lot of time for me to realize this. So thought of sharing it with you.

Few Basics : When we say a video file, ex : avi, it is combination of both audio and video

Video file = Video + Audio


Video = Codec + Muxer + Demuxer

codec = encoder + Decoder

=> Video = encoder + decoder + Muxer + Demuxer(Mpeg4 + Mpeg4 + avi +avi - Example for avi container)


Audio = Codec + Muxer + Demuxer

codec = encoder + Decoder

=> Audio = encoder + decoder + Muxer + Demuxer(mp2 + mp2 + avi + avi - Example for avi container)


Codec(name is deriverd from a combination of en*co*der/*dec*oder) is just a part of format which defines the algorithms used to encode/decode a frame. AVI is not a codec, it is a container which uses Video codec of Mpeg4 and Audio codec of mp2.

Muxer/demuxer is used to combine/separate the frames from a file used while encoding/decoding.

So if you want to use avi format, you need to enable Video components + Audio components.

Ex, for avi, you need to enable the following. mpeg4 Encoder, mpeg4 decoder, mp2 encoder, mp2 decoder, avi muxer, avi demuxer.

phewwwwwww...

Programmatically build.sh should contain the following code:

--enable-muxer=avi --enable-demuxer=avi (Generic for both audio/video. generally Specific to a container)
--enable-encoder=mpeg4 --enable-decoder=mpeg4(For video support)
--enable-encoder=mp2 --enable-decoder=mp2 (For Audio support)

Hope i idid not confuse you more after all this...

Thanks, Any assistance needed, please let me know.

🌐
Softonic
ffmpeg-media-encoder.en.softonic.com β€Ί home β€Ί android β€Ί multimedia β€Ί ffmpeg media encoder
FFmpeg Media Encoder APK for Android - Download
September 1, 2025 - FFmpeg Media Encoder for Android, free and safe download. FFmpeg Media Encoder latest version: FFmpeg Media Encoder - Multimedia Conversion on Android
Rating: 2/10 ​ - ​ 1 votes
Find elsewhere
🌐
GitHub
github.com β€Ί arthenica β€Ί ffmpeg-kit
GitHub - arthenica/ffmpeg-kit: FFmpeg Kit for applications. Supports Android, Flutter, iOS, Linux, macOS, React Native and tvOS. Supersedes MobileFFmpeg, flutter_ffmpeg and react-native-ffmpeg. Β· GitHub
FFmpeg Kit for applications. Supports Android, Flutter, iOS, Linux, macOS, React Native and tvOS. Supersedes MobileFFmpeg, flutter_ffmpeg and react-native-ffmpeg. - arthenica/ffmpeg-kit
Starred by 5.8K users
Forked by 2.5K users
Languages Β  C 54.3% | Shell 15.8% | Java 9.3% | Objective-C 7.4% | C++ 4.9% | Makefile 3.4%
🌐
GitHub
github.com β€Ί bravobit β€Ί FFmpeg-Android
GitHub - bravobit/FFmpeg-Android: FFMpeg/FFprobe compiled for Android Β· GitHub
FFMpeg/FFprobe compiled for Android. Contribute to bravobit/FFmpeg-Android development by creating an account on GitHub.
Starred by 762 users
Forked by 182 users
Languages Β  Java
🌐
Aptoide
ffmpeg-android.en.aptoide.com β€Ί app
FFmpeg - APK Download for Android | Aptoide
Download FFmpeg 1.1.9 APK for Android right now. No extra costs. User ratings for FFmpeg: 0 β˜…
🌐
APKPure
apkpure.com β€Ί home β€Ί apps β€Ί video players & editors β€Ί ffmpeg media encoder
FFmpeg Media Encoder APK for Android Download
December 15, 2025 - FFmpeg Media Encoder APK download for Android, including the latest FFmpeg Media Encoder 6.1.3_0 APK. Convert audio and video directly to your device using FFmpeg
🌐
Aptoide
ffmpeg-media-encoder.en.aptoide.com β€Ί app
FFmpeg Media Encoder - APK Download for Android | Aptoide
Download FFmpeg Media Encoder 6.0.0_15 APK for Android right now. No extra costs. User ratings for FFmpeg Media Encoder: 4.5 β˜…
🌐
Google Play
play.google.com β€Ί store β€Ί apps β€Ί details
FFmpeg Media Encoder - Apps on Google Play
FFmpeg is already built into the program and does not require downloading additional codecs. The conversion takes place directly on the device (the Internet is not required), and the conversion speed depends on the processor speed of the device. Supports: MPEG4, h265, h264, mp3, 3gp, aac, ogg (vorbis and theora), opus, vp8, vp9 and many other formats (you will find the list in the app). Requirements: Android 4.4 and the availability of the processor ARMv7, ARMv8, x86, x86_64.
Rating: 3.8 ​ - ​ 4.17K votes
🌐
FFmpeg
ffmpeg.org β€Ί download.html
Download FFmpeg
Download Source Code ffmpeg-8.1.tar.xz More releases
🌐
GitHub
github.com β€Ί mzgs β€Ί FFmpegX-Android
GitHub - mzgs/FFmpegX-Android: Native FFmpeg library for Android that solves Android 10+ W^X restrictions. Features hardware-accelerated codecs via MediaCodec, full GPL build with 300+ filters, and Android 15+ 16KB page alignment support
βœ… Android 10+ Support - Works on Android 10, 11, 12, 13, 14, 15+ using JNI wrapper approach βœ… No External Dependencies - Self-contained library with built-in FFmpeg binaries βœ… Extensive Codec Support - H.264, H.265, VP8/VP9, MPEG4, AAC, MP3, LAME, Opus, and more βœ… Hardware Acceleration - MediaCodec support for faster encoding/decoding βœ… 300+ Filters - All major video and audio filters included βœ… Network Protocols - HTTP, HTTPS, RTMP, HLS streaming support βœ… Kotlin Coroutines - Modern async API with suspend functions βœ… Progress Tracking - Real-time progress callbacks for long operations βœ… Session Management - Cancel and manage multiple FFmpeg operations βœ… Automatic Library Download - FFmpeg libraries are downloaded automatically from GitHub Release
Starred by 16 users
Forked by 5 users
Languages Β  Kotlin 40.5% | C 37.8% | Shell 12.0% | C++ 8.8% | CMake 0.9% | Kotlin 40.5% | C 37.8% | Shell 12.0% | C++ 8.8% | CMake 0.9%
🌐
Reddit
reddit.com β€Ί r/ffmpeg β€Ί i need a different "ffmpeg" (for android 14).
r/ffmpeg on Reddit: I need a DIFFERENT "FFmpeg" (for android 14).
May 23, 2024 -

My tablet = Samsung galaxy tab S9 My operating system = android 14, not rooted

I have tried using "FFmpeg" from the Google play store (made by something named SilentLexx UA). When I installed it & then started, android started whined, complained, & complained about "Oh my god! This thing was made for an OLDER version of android, so I'm just gonna throw a (scoped storage) hissy fit until you uninstall it!". It can't find ANY file in ANY location, so it's impossible to DO anything with this. I looked in the play store (& the internet) to see if ol' SilentLexx UA has any website or email where I could at least tell him "Hey, this thing doesn't work on android 14", but there ain't one. Even if I could tell him that (& I can't), that does NOT fix my problem (Read next paragraph).

So since FFmpeg (specifically, that program that has it) does NOT work on android 14, I need an alternative. Specifically, I need something that can do the following (on android 14).

(1) It has to work on android 14.

(2) It has to be able to convert h264 mp4 videos into h265 mp4 videos.

(3) It has to be able to do that for LONG videos (read = movies).

(4) Do NOT try to start an ARGUMENT with me by telling me to "just buy a PC/laptop/tablet with an old version of android". All such 'answers' like that WILL be ignored!

(& yes, reddit-bot, I AM a human being, unlike YOU, you jealous pile of Turing blindness!)

🌐
Gitbook
jiek.gitbook.io β€Ί android β€Ί code β€Ί ffmpeg
FFMPEG | Android
build ffmpeg for android Β· download resource > https://ffmpeg.org/download.html#releases Β· create build.sh Β· touch $FFMPEG_dir/build.sh Β·
🌐
Apk
ffmpeg-media-encoder.apk.watch β€Ί 6.0.0_12
Download free FFmpeg Media Encoder 6.0.0_12 APK for Android
August 30, 2025 - Download free FFmpeg Media Encoder 6.0.0_12 for your Android phone or tablet, file size: 20.47 MB, was updated 2024/05/12 Requirements:android: 5.0 Key Lime Pie or above