android-ffmpeg-with-rtmp alternatives and similar packages
Based on the "Media" category
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of android-ffmpeg-with-rtmp or a related project?
This repository contains script(s) to build ffmpeg for android with RTMP (and OpenSSL) support.
- Install the Android NDK (tested with version r10).
- Ensure that cURL is installed.
- Ensure that pkg-config is installed.
- Clone this repository and
cdinto its directory.
- Look in
build/distfor the resulting libraries and executables.
- Look in
build/build.logif something goes wrong.
$ git clone email@example.com:cine-io/android-ffmpeg-with-rtmp.git $ cd android-ffmpeg-with-rtmp $ ./build.sh
The first time you run the script, it will try to find the location where
you've installed the NDK. It will also try to auto-detect your operating
system and architecture. This process might take a minute or two, so the
information will be saved into a configuration file called
.build-config.sh which will be used on subsequent executions of
The script is meant to be idempotent. However, should you want to start over from scratch, it's a simple matter of:
$ rm -rf src build .build-config.sh $ ./build.sh
ffmpeg with an Android app you will need to deploy the binaries along
with the libraries. Here's a listing of the
. ├── bin │ ├── ffmpeg │ ├── openssl │ └── ssltest └── lib ├── libavcodec-56.so ├── libavdevice-56.so ├── libavfilter-5.so ├── libavformat-56.so ├── libavutil-54.so ├── libcrypto.so ├── librtmp-1.so ├── libssl.so ├── libswresample-1.so └── libswscale-3.so
A simple way to deploy the binaries would be to archive (e.g. zip) these directories and copy the archive in a res/raw directory within the Android project. Then at runtime, unpack the archive into a directory accessible to the app and set the appropriate permissions, e.g. chmod 750 -R directory-name.
In order for the Android app to use the libraries the LD_LIBRARY_PATH must be set to the location where the libraries reside. For example:
// Change the permissions Runtime.getRuntime().exec("chmod -R 0750 "+ abspath).waitFor(); //... ProcessBuilder processBuilder = new ProcessBuilder(cmd); final Map<String, String> environment = processBuilder.environment(); environment.put("LD_LIBRARY_PATH", context.getDir("lib", 0).getAbsolutePath()); Process process = processBuilder.start(); //...
<!-- external links -->