Add video trimming, speed change, and subtitle overlay to an Android app without writing FFmpeg command-line wrappers yourself.
Compress video files before uploading them from a mobile app to reduce bandwidth and storage costs.
Convert a series of images into a video slideshow inside an Android application.
Mix background music into a recorded video clip or strip its audio track entirely.
Requires an Android project with Gradle, choose the standard or lite variant depending on how much app size you can spare.
RxFFmpeg is an Android library for editing audio and video on a mobile device. It wraps the open-source FFmpeg tool and several companion encoding libraries (X264, mp3lame, fdk-aac, opencore-amr, and OpenSSL) into a single package that Android developers can add to their apps with a Gradle dependency. The README is written in Chinese. The library covers a wide range of video and audio operations: joining clips, transcoding between formats, compressing file size, trimming, adding intro or outro segments, separating audio from video, changing playback speed, overlaying static or animated sticker images, adding subtitles, applying filters, mixing in background music, reversing a clip, trimming audio, and converting a series of images into a video. It also includes a built-in video player component described as lightweight and fast-starting. HTTPS support is included via OpenSSL. For developers, commands are executed using a reactive programming style through RxJava2, with callbacks for progress, completion, cancellation, and errors. A synchronous execution mode is also available for cases where that fits better. Running commands can be interrupted mid-execution. The library exposes a helper class for building command strings safely, which avoids common problems with file paths that contain spaces. All the FFmpeg sub-modules are compiled into a single shared library file, so developers do not need to bundle the many separate FFmpeg .so files that a raw FFmpeg integration would normally require. The library supports four processor architectures: armeabi-v7a, arm64-v8a, x86, and x86_64. Hardware-accelerated encoding and decoding is enabled via Android's MediaCodec. A lite variant of the package is also available that removes less common codecs and reduces the added file size to around 4MB. A demo APK is provided in the repository for testing the features directly on a device before integrating the library.
← microshow on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.