码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • FFmpeg开发笔记(一百零二)国产的音视频移动开源工具FFmpegAndroid


    合集 - FFmpeg开发实战(102)
    1.FFmpeg开发笔记(一)搭建Linux系统的开发环境2023-04-162.FFmpeg开发笔记(二)搭建Windows系统的开发环境2023-04-293.FFmpeg开发笔记(三)FFmpeg的可执行程序介绍2024-03-094.FFmpeg开发笔记(四)FFmpeg的动态链接库介绍2024-03-105.FFmpeg开发笔记(五)更新MSYS的密钥环2024-03-166.FFmpeg开发笔记(六)如何访问Github下载FFmpeg源码2024-03-177.FFmpeg开发笔记(九)Linux交叉编译Android的x265库2024-03-308.FFmpeg开发笔记(十)Linux环境给FFmpeg集成vorbis和amr2024-03-319.FFmpeg开发笔记(十一)Windows环境给FFmpeg集成vorbis和amr2024-04-0510.FFmpeg开发笔记(七)欧拉系统编译安装FFmpeg2024-03-2311.FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库2024-03-2412.FFmpeg开发笔记(十二)Linux环境给FFmpeg集成libopus和libvpx2024-04-0613.FFmpeg开发笔记(十三)Windows环境给FFmpeg集成libopus和libvpx2024-04-1314.FFmpeg开发笔记(十四)FFmpeg音频重采样的缓存2024-04-1415.FFmpeg开发笔记(十五)详解MediaMTX的推拉流2024-04-2016.FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库2024-04-2117.FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass2024-04-2718.FFmpeg开发笔记(十八)FFmpeg兼容各种音频格式的播放2024-05-0419.FFmpeg开发笔记(十九)FFmpeg开启两个线程分别解码音视频2024-05-0520.FFmpeg开发笔记(二十)Linux环境给FFmpeg集成AVS3解码器2024-05-1221.FFmpeg开发笔记(二十一)Windows环境给FFmpeg集成AVS3解码器2024-05-1822.FFmpeg开发笔记(二十二)FFmpeg中SAR与DAR的显示宽高比2024-05-1923.FFmpeg开发笔记(二十三)使用OBS Studio开启RTMP直播推流2024-05-2624.FFmpeg开发笔记(二十四)Linux环境给FFmpeg集成AV1的编解码器2024-05-2725.FFmpeg开发笔记(二十五)Linux环境给FFmpeg集成libwebp2024-06-0126.FFmpeg开发笔记(二十六)Linux环境安装ZLMediaKit实现视频推流2024-06-0227.FFmpeg开发笔记(二十七)解决APP无法访问ZLMediaKit的直播链接问题2024-06-0828.FFmpeg开发笔记(二十八)Linux环境给FFmpeg集成libxvid2024-06-0929.FFmpeg开发笔记(二十九)Windows环境给FFmpeg集成libxvid2024-06-1530.FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧2024-06-1631.FFmpeg开发笔记(三十一)使用RTMP Streamer开启APP直播推流2024-06-2232.FFmpeg开发笔记(三十二)利用RTMP协议构建电脑与手机的直播Demo2024-06-2333.FFmpeg开发笔记(三十三)分析ZLMediaKit对H.264流的插帧操作2024-06-2934.FFmpeg开发笔记(三十四)Linux环境给FFmpeg集成libsrt和librist2024-06-3035.FFmpeg开发笔记(三十五)Windows环境给FFmpeg集成libsrt2024-07-0636.FFmpeg开发笔记(三十六)Linux环境安装SRS实现视频直播推流2024-07-0737.FFmpeg开发笔记(三十七)分析SRS对HLS协议里TS包的插帧操作2024-07-1338.FFmpeg开发笔记(三十八)APP如何访问SRS推流的RTMP直播地址2024-07-1439.FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg2024-07-2040.FFmpeg开发笔记(四十)Nginx集成rtmp模块实现RTMP推拉流2024-07-2141.FFmpeg开发笔记(四十一)结合OBS与MediaMTX实现SRT直播推流2024-07-2742.FFmpeg开发笔记(四十二)使用ZLMediaKit开启SRT视频直播服务2024-07-2843.FFmpeg开发笔记(四十三)使用SRS开启SRT协议的视频直播服务2024-08-0344.FFmpeg开发笔记(四十四)毕业设计可做的几个拉满颜值的音视频APP2024-08-0445.FFmpeg开发笔记(四十五)使用SRT Streamer开启APP直播推流2024-08-1046.FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo2024-08-1147.FFmpeg开发笔记(四十七)寒冬下安卓程序员的几个技术转型发展方向2024-08-1748.FFmpeg开发笔记(四十八)从0开始搭建直播系统的开源软件架构2024-08-1849.FFmpeg开发笔记(四十九)助您在毕业设计中脱颖而出的几个流行APP2024-08-3150.FFmpeg开发笔记(五十)聊聊几种流媒体传输技术的前世今生2024-09-0151.FFmpeg开发笔记(五十一)适合学习研究的几个音视频开源框架2024-09-0752.FFmpeg开发笔记(五十二)移动端的国产视频播放器GSYVideoPlayer2024-09-0853.FFmpeg开发笔记(五十三)移动端的国产直播录制工具EasyPusher2024-09-2154.FFmpeg开发笔记(五十四)使用EasyPusher实现移动端的RTSP直播2024-09-2255.FFmpeg开发笔记(五十五)寒冬里的安卓程序员可进阶修炼的几种姿势2024-10-1256.FFmpeg开发笔记(五十六)使用Media3的Exoplayer播放网络视频2024-10-1357.FFmpeg开发笔记(五十七)使用Media3的Transformer加工视频文件2024-10-1658.FFmpeg开发笔记(五十八)把32位采样的MP3转换为16位的PCM音频2024-10-1959.FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库2024-10-2360.FFmpeg开发笔记(六十)使用国产的ijkplayer播放器观看网络视频2024-10-2661.FFmpeg开发笔记(六十一)Linux给FFmpeg集成H.266编码器vvenc2025-05-2562.FFmpeg开发笔记(六十二)Windows给FFmpeg集成H.266编码器vvenc2025-06-0263.FFmpeg开发笔记(六十三)FFmpeg使用vvenc把视频转为H.266编码2025-06-0764.FFmpeg开发笔记(六十四)使用国产的RedPlayer播放器观看网络视频2025-06-0865.FFmpeg开发笔记(六十五)Linux给FFmpeg集成LC3音频的编码器liblc32025-06-1466.FFmpeg开发笔记(六十六)Windows给FFmpeg集成LC3音频的编码器liblc32025-06-1567.FFmpeg开发笔记(六十七)Windows给FFmpeg集成支持RIST协议的librist2025-06-2168.FFmpeg开发笔记(六十八)Windows给FFmpeg集成AV1解码器libdav1d2025-06-2269.FFmpeg开发笔记(六十九)Windows给FFmpeg集成AV1编码器libaom2025-06-2870.FFmpeg开发笔记(七十)Windows给FFmpeg集成AV1编码器libsvtav12025-06-2971.FFmpeg开发笔记(七十一)使用国产的QPlayer2实现双播放器观看视频2025-07-0572.FFmpeg开发笔记(七十二)Linux给FFmpeg集成MPEG-5视频编解码器EVC2025-07-0673.FFmpeg开发笔记(七十三)Windows给FFmpeg集成MPEG-5视频编解码器2025-07-1274.FFmpeg开发笔记(七十四)Windows给FFmpeg集成二维码图像的编解码器2025-07-1375.FFmpeg开发笔记(七十五)使用qrencode和quirc对视频画面读写二维码2025-07-1976.FFmpeg开发笔记(七十六)使用国产SDK的播放器wlmedia渲染视频2025-07-2077.FFmpeg开发笔记(七十七)Android的开源音视频剪辑框架RxFFmpeg2025-07-2678.FFmpeg开发笔记(七十八)采用Kotlin+Compose的NextPlayer播放器2025-07-2779.FFmpeg开发笔记(七十九)专注于视频弹幕功能的国产弹弹播放器2025-08-0980.FFmpeg开发笔记(八十)使用百变魔音AiSound实现变声特效2025-08-1081.FFmpeg开发笔记(八十一)FFmpeg代码对RTSP和RTMP的推流区别2025-10-0882.FFmpeg开发笔记(八十二)使用国产直播服务器smart_rtmpd执行推流操作2025-10-1283.FFmpeg开发笔记(八十三)国产的视频裁剪框架AndroidVideoTrimmer2025-10-1884.FFmpeg开发笔记(八十四)使用国产的librestreaming实现RTMP直播2025-10-1985.FFmpeg开发笔记(八十五)基于PyQt和FFmpeg的开源视频剪辑器OpenShot2025-10-2586.FFmpeg开发笔记(八十六)基于Node.js的国产视频编辑开源框架OpenCut2025-10-2687.FFmpeg开发笔记(八十七)采用Kotlin的手机开源播放器VLC-Android2025-11-0188.FFmpeg开发笔记(八十八)基于Compose的国产电视直播开源框架MyTV2025-11-0289.FFmpeg开发笔记(八十九)基于FFmpeg的直播视频录制工具StreamCap2025-11-2990.FFmpeg开发笔记(九十)采用FFmpeg套壳的音视频转码百宝箱FFBox2025-11-3091.FFmpeg开发笔记(九十一)基于Kotlin的Android直播开源框架RootEncoder2025-12-0692.FFmpeg开发笔记(九十二)基于Kotlin的开源Android推流器StreamPack2025-12-0793.FFmpeg开发笔记(九十三)国产的Android开源视频编辑器EpMedia2025-12-1394.FFmpeg开发笔记(九十四)基于Kotlin的国产开源推拉流框架anyRTC2025-12-1495.FFmpeg开发笔记(九十五)国产的开源视频美颜工具VideoEditorForAndroid2025-12-2796.FFmpeg开发笔记(九十六)采用Kotlin+Compose的视频编辑器OpenVideoEditor2025-12-2897.FFmpeg开发笔记(九十七)国产的开源视频剪辑工具AndroidVideoEditor01-1098.FFmpeg开发笔记(九十八)基于FFmpeg的跨平台图形用户界面LosslessCut01-1199.FFmpeg开发笔记(九十九)基于Kotlin的国产开源播放器DKVideoPlayer01-17100.FFmpeg开发笔记(一百)国产的Android开源视频压缩工具VideoSlimmer01-18101.FFmpeg开发笔记(一百零一)跨平台的开源音视频移动框架MobileFFmpeg05-16
    102.FFmpeg开发笔记(一百零二)国产的音视频移动开源工具FFmpegAndroid05-17
    收起
    基于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界面如下图所示:

    ffmpeg-android1

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

    ffmpeg-android2

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

    ​ffmpeg-android3

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

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

  • 相关阅读:
    智能电话机器人,使用Microsoft语音识别技术(Speech sdk)
    R语言中实现马尔可夫链蒙特卡罗MCMC模型
    判断二叉树是否为满二叉树
    Python中Pandas常用函数及案例详解
    Nvm,Nrm使用详解
    MongoDB~高可用集群介绍:复制集群(副本集)、分片集群
    代码随想录算法训练营Day50 | 动态规划(11/17) LeetCode 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV
    【SLAM】基于rrt_explore的移动机器人自主建图
    SpringBoot--参数校验--@Validated--使用/实例
    利用OpenCV实现图片中导线的识别
  • 原文地址:https://www.cnblogs.com/aqi00/p/19887505
  • 最新文章
  • C# 内存安全性的重大演进:重新定义 unsafe 关键字
    [MAF的Agent管道详解-05]对话历史的持久化和输入输出的增强
    一行代码干翻 Java 反射?EggG 流式反射调用让反射优雅到不可思议
    vibe coding(二)Where you go:一个微型 windows 桌面覆盖工具
    [送码] 用 AI Coding 做了一个 App,谈谈 AI Coding 的真实体验
    面试官:说一下 Agent 的常见范式,如何选型?
    CAD子系统,是自研还是外包?
    polygon出题教程
    Manim物理模拟:别自己写欧拉了!
    AI 学习笔记:Agent 的应用演示
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号