FFmpeg开发笔记(一百零二)国产的音视频移动开源工具FFmpegAndroid

基于FFmpeg的国产播放器开源框架也有很多了,前有哔哩哔哩的ijkplayer,后有小红书的RedPlayer,参见之前的文章《使用国产的ijkplayer播放器观看网络视频》和《使用国产的RedPlayer播放器观看网络视频》。

除此以外,FFmpegAndroid也是一款优秀的国产Android音视频开源工具,它基于Kotlin编写,音视频工作方向包括:直播、短视频、流媒体传输、视频播放器、音乐播放器、音视频算法、流媒体后端、音视频编辑、图像处理等等,可谓功能强大。

FFmpegAndroid的源码托管地址为https://github.com/xufuji456/FFmpegAndroid(星星数5.6k),国内的镜像地址为https://gitee.com/clone_github/FFmpegAndroid。FFmpegAndroid的最新版本于2025年11月发布,可见该框架的源码更新十分及时,最新的源码下载地址为https://github.com/xufuji456/FFmpegAndroid/archive/refs/heads/master.zip。

接下来以Android Studio Ladybug(小瓢虫版本)为例,介绍如何通过Android Studio编译运行FFmpegAndroid的demo工程。

一、调整Gradle版本

打开android目录下的gradle/wrapper/gradle-wrapper.properties,把下面这行配置

复制代码
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip

改成如下这行配置,表示把Gradle版本从8.10.2降级到8.7。

复制代码
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip

二、更新工具库的仓库位置

打开android目录下的build.gradle,把里面的两处maven配置

复制代码
maven {
    url 'https://maven.google.com/'
    name 'Google'
}

改成下面配置:

复制代码
google()

因为原配置用到了Gradle最新版本的特性,而Gradle8.7暂不支持该特性。

此外,还要把下面这行配置

复制代码
classpath 'com.android.tools.build:gradle:8.8.0'

改成下面这行配置,表示把Gradle插件版本降级到适配Android Studio Ladybug的8.6版本:

复制代码
classpath 'com.android.tools.build:gradle:8.6.0'

完成以上配置修改后,等待FFmpegAndroid工程编译通过,把主入口的app模块安装到手机上,启动之后的App界面如下图所示:

点击【音频处理】按钮,打开音频文件的加工界面如下图所示:

或者点击【视频处理】按钮,打开视频文件的加工界面如下图所示:

可见FFmpegAndroid支持音频处理、视频处理、ffmpeg推流、rtmp推流直播、ffmpeg滤镜等功能,可谓将常见的音视频播放和剪辑操作一网打尽。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

相关推荐
枯木◊靠推文躺平版14 小时前
AI短视频制作选剪映还是TapNow:全场景创作效率实测对比
人工智能·音视频
张小姐的猫14 小时前
【MySQL】事务
android·mysql·adb
你看我名字14 小时前
数眼智能 Search + Reader 实战:联网问答怎样避免“搜到了,却引用错了”
android·java·开发语言
秦禹辰15 小时前
ClipSketch AI把视频改造成图文漫画:选关键帧、生成手绘分镜、融合IP形象并自动写小红书文案
人工智能·tcp/ip·音视频
恋猫de小郭15 小时前
最近 Android 有什么更新:Android Dev Summit 2026 技术解读
android·前端·flutter
扶尔魔ocy15 小时前
【QT+FFmpeg】知识点编目及传送门
qt·ffmpeg
Kapaseker15 小时前
删掉 1.1 万行 C 代码,Rust 正式接手 Android Binder
android·rust
嵌入式-老费16 小时前
esp32开发与应用(题外话之ADB和Android NDK开发)
android·adb
野生的码农16 小时前
能工智人,40 大寿,尚能班否?
android·ai编程
事圆则缓16 小时前
Android 串口通信:从 /dev/ttyS1到协议帧
android