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开发实战:从零基础到短视频上线》一书。

相关推荐
jike_20264 小时前
iPhone采访录音同时拍现场照片的APP:图片音频同步记录实测
笔记·智能手机·音视频·语音识别
_祝你今天愉快5 小时前
从驱动来分析服务的添加过程
android
小猴子爱上树5 小时前
跨境电商翻译工具推荐:批量图片翻译、视频字幕翻译、智能抠图一站式搞定
人工智能·python·音视频
林澈在路上5 小时前
AI翻唱软件哪个好 2026国产AI写歌工具对比推荐
大数据·人工智能·深度学习·github·aigc·音视频·音频
阿童木写作6 小时前
跨马翻译:AI批量图片翻译与视频字幕翻译工具推荐
人工智能·python·音视频
Dovis(誓平步青云)7 小时前
折叠屏悬停看视频,上半屏和下半屏应该各做什么
android·java·服务器·开发语言·安全·音视频
alexhilton8 小时前
让架构边界变成可执行的测试
android·kotlin·android jetpack
hai_android10 小时前
SendChannel 与 ReceiveChannel 通信机制
android
数据治理自习室12 小时前
AI 应用评测体系(GraphRAG)
android·大数据·人工智能·kotlin
敢敢のwings12 小时前
Wan2.2 模型系统解读:从视频扩散到 WAM 世界模型模块
音视频