All Projects → bravobit → Ffmpeg Android

bravobit / Ffmpeg Android

Licence: mit
FFMpeg/FFprobe compiled for Android

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Ffmpeg Android

Rxffmpeg
🔥💥RxFFmpeg 是基于 ( FFmpeg 4.0 + X264 + mp3lame + fdk-aac + opencore-amr + openssl ) 编译的适用于 Android 平台的音视频编辑、视频剪辑的快速处理框架,包含以下功能:视频拼接,转码,压缩,裁剪,片头片尾,分离音视频,变速,添加静态贴纸和gif动态贴纸,添加字幕,添加滤镜,添加背景音乐,加速减速视频,倒放音视频,音频裁剪,变声,混音,图片合成视频,视频解码图片,抖音首页,视频播放器及支持 OpenSSL https 等主流特色功能
Stars: ✭ 3,358 (+467.23%)
Mutual labels:  x86, ffmpeg, ffmpeg-android
Unisimd Assembler
SIMD macro assembler unified for ARM, MIPS, PPC and x86
Stars: ✭ 63 (-89.36%)
Mutual labels:  x86, armv7
Reverse Engineering
This repository contains some of the executables that I've cracked.
Stars: ✭ 29 (-95.1%)
Mutual labels:  x86, armv7
alpine-php-fpm
Lightweight and optimised PHP-FPM (PHP 7.4, 8.0, 8.1) Docker images with essential extensions on top of latest Alpine Linux.
Stars: ✭ 53 (-91.05%)
Mutual labels:  x86, armv7
Ffplayer
a video player based on ffmpeg for win32 and android platform.
Stars: ✭ 210 (-64.53%)
Mutual labels:  ffmpeg, ffmpeg-android
Fanplayer
A portable video player based on ffmpeg for windows and android platform.
Stars: ✭ 229 (-61.32%)
Mutual labels:  ffmpeg, ffmpeg-android
memalloy
Memory consistency modelling using Alloy
Stars: ✭ 23 (-96.11%)
Mutual labels:  x86, armv7
Bzijkplayer
基于cmake构建的ijkPlayer
Stars: ✭ 23 (-96.11%)
Mutual labels:  ffmpeg, ffmpeg-android
Maxine Vm
Maxine VM: A meta-circular research VM
Stars: ✭ 274 (-53.72%)
Mutual labels:  x86, armv7
NaraeAudioRecorder
AudioRecorder for Android powered by Kotlin
Stars: ✭ 82 (-86.15%)
Mutual labels:  ffmpeg, ffmpeg-android
Ffmpeg Android Maker
Contains a script that assembles FFmpeg library for Android
Stars: ✭ 207 (-65.03%)
Mutual labels:  ffmpeg, ffmpeg-android
Ffmpegandroid
最新版ffmpeg3.3-android,并通过CMake方式移植到Android中,并实现编解码,转码,推拉流,滤镜等各种功能
Stars: ✭ 526 (-11.15%)
Mutual labels:  ffmpeg, ffmpeg-android
Kotlinffmpeg
Examples of using FFMpeg library on Android with Kotlin
Stars: ✭ 138 (-76.69%)
Mutual labels:  ffmpeg, ffmpeg-android
Rappel
A linux-based assembly REPL for x86, amd64, armv7, and armv8
Stars: ✭ 818 (+38.18%)
Mutual labels:  x86, armv7
Ffmpegandroidlibrary
One line integration for FFMPEG Library in Android
Stars: ✭ 88 (-85.14%)
Mutual labels:  ffmpeg, ffmpeg-android
reicast-emulator
Reicast was a multiplatform Sega Dreamcast emulator
Stars: ✭ 1,063 (+79.56%)
Mutual labels:  x86, armv7
Android Video Trimmer
Android-Video-Trimmer项目实现了对长短视频进行片段的裁剪选择。使用MediaMetadataRetriever获取视频帧,采用ffmpeg进行视频裁剪,和视频压缩。
Stars: ✭ 824 (+39.19%)
Mutual labels:  ffmpeg, ffmpeg-android
FFmpeg-3.4-Android
This repository helps to compile FFmpeg 3.4 Version for Android using Android NDK Standalone Toolchain.
Stars: ✭ 23 (-96.11%)
Mutual labels:  ffmpeg, ffmpeg-android
Ffmpeg Android Java
FFmpeg Android java is a java library that simplifies your task of using ffmpeg in Android project which I've compiled using FFmpeg-Android
Stars: ✭ 3,098 (+423.31%)
Mutual labels:  ffmpeg, ffmpeg-android
Ffmpeg Video Editor Android
Sample android project using ffmpeg for cutting and compressing video,reversing video,extracting image frames from video,extracting audio from video,add fade in fade out effect,create fast and slow motion video
Stars: ✭ 414 (-30.07%)
Mutual labels:  ffmpeg, ffmpeg-android

FFmpeg-Android

Download Buy us a beer

FFMpeg/FFprobe compiled for Android. Execute FFmpeg & FFprobe commands with ease in your Android project.

About

This project is a continued fork of FFmpeg Android Java by WritingMinds. This fork fixes the CANNOT LINK EXECUTABLE ffmpeg: has text relocations issue on x86 devices along with some other bugfixes, new features and the newest FFmpeg builds.

Architectures

Bravobit FFmpeg-Android runs on the following architectures:

  • armv7
  • armv7-neon
  • armv8
  • x86
  • x86_64

FFmpeg build

FFmpeg in this project was built with the following libraries:

  • x264 r2851 ba24899
  • libpng 1.6.21
  • freetype2 2.8.1
  • libmp3lame 3.100
  • libvorbis 1.3.5
  • libvpx v1.6.1-1456-g7d1bf5d
  • libopus 1.2.1
  • fontconfig 2.11.94
  • libass 0.14.0
  • fribidi 0.19.7
  • expat 2.1.0
  • fdk-aac 0.1.6

Features

  • Uses the latest FFmpeg release n4.0-39-gda39990
  • Uses native CPU capabilities on ARM architectures
  • FFprobe is bundled in this library too
  • Enabled network capabilities
  • Multithreading

Usage

Getting Started

Include the dependency

dependencies {
    implementation 'nl.bravobit:android-ffmpeg:1.1.7'
}

Check if FFmpeg is supported

To check whether FFmpeg is available on your device you can use the following method.

if (FFmpeg.getInstance(this).isSupported()) {
  // ffmpeg is supported
} else {
  // ffmpeg is not supported
}

This is all you have to do to load the FFmpeg library.

Run FFmpeg command

In this sample code we will run the ffmpeg -version command.

FFmpeg ffmpeg = FFmpeg.getInstance(context);
  // to execute "ffmpeg -version" command you just need to pass "-version"
ffmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {

    @Override
    public void onStart() {}

    @Override
    public void onProgress(String message) {}

    @Override
    public void onFailure(String message) {}

    @Override
    public void onSuccess(String message) {}

    @Override
    public void onFinish() {}

});

Stop (or Quit) the FFmpeg process

If you want to stop the running FFmpeg process, simply call .sendQuitSignal() on the FFtask that is running:

FFmpeg ffmpeg = FFmpeg.getInstance(context);
FFtask ffTask = ffmpeg.execute( ... )

ffTask.sendQuitSignal();

NOTE: This will result in onFailure being called instead of onSuccess.

Check if FFprobe is supported

To check whether FFprobe is available on your device you can use the following method.

if (FFprobe.getInstance(this).isSupported()) {
  // ffprobe is supported
} else {
  // ffprobe is not supported
}

This is all you have to do to load the FFprobe library.

Run FFprobe command

In this sample code we will run the ffprobe -version command.

FFprobe ffprobe = FFprobe.getInstance(context);
// to execute "ffprobe -version" command you just need to pass "-version"
ffprobe.execute(cmd, new ExecuteBinaryResponseHandler() {

    @Override
    public void onStart() {}

    @Override
    public void onProgress(String message) {}

    @Override
    public void onFailure(String message) {}

    @Override
    public void onSuccess(String message) {}

    @Override
    public void onFinish() {}

});

Special Thanks To

Licensing

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].