FFmpeg开发笔记(九十七)国产的开源视频剪辑工具AndroidVideoEditor

《FFmpeg开发实战:从零基础到短视频上线》一书的"第 12 章 FFmpeg的移动开发"介绍了如何使用FFmpeg在手机上剪辑视频,方便开发者更好地开发类似剪映那样的视频剪辑软件。那么在Android系统上还有一款国产的开源视频剪辑框架Android-Video-Editor,通过该框架可以更方便地对视频进行剪辑和滤镜操作,下面就来介绍如何在App工程中使用Android-Video-Editor。

Android-Video-Editor是一款Android视频编辑开源工具,主要功能包括视频拍摄、视频裁剪、视频滤镜、视频压缩等等。Android-Video-Editor通过整合其他开源框架实现完整的剪辑功能,比如通过CameraView录制视频,通过VideoEdit编辑视频,通过Mp4Composer封装视频,通过SiliCompressor压缩视频,等等。
Android-Video-Editor的源码托管地址为https://github.com/LLhon/Android-Video-Editor(星星数1.3k),国内的镜像地址为https://gitcode.com/angcyo/Android-Video-Editor。该框架的最近版本更新于2019年4月,对应压缩包的下载地址为https://github.com/LLhon/Android-Video-Editor/archive/refs/heads/master.zip。
由于Android-Video-Editor源码的发布时间较早,为了让小海豚版本的Android Studio Dolphin能够打开它们,需要对App工程作如下修改:
1、升级Gradle版本和SDK版本;
2、把Support库迁移为Androidx库;
3、移除不适配小海豚版本的butterknife库;
4、把isoparser库由jar包导入方式改为maven导入方式;
5、另外修复了若干bug;
因为上述修改涉及到的内容较多,这里不再一一列出,博主把修改后的App源码上传到了Github,具体地址为https://github.com/aqi00/note/tree/master/Android-Video-Editor。大家可以拉取Github上修改好的Android-Video-Editor源码,就能用小海豚版本的Android Studio Dolphin导入Android-Video-Editor工程了。
打开Android-Video-Editor工程之后,发现该工程包括下列四个模块:
1、app模块,负责App界面的交互操作;
2、video-compressor模块,负责视频的编辑和压缩操作;
3、video-effect模块,负责视频的封装操作;
4、video-record模块,负责视频的录制操作;
那么通过Android Studio Dolphin编译Android-Video-Editor并安装到真机上,点击【相册】后加载系统相册中的所有视频文件,选择一个待加工的视频文件,打开该视频的编辑界面如下图所示:

编辑界面下方可以滑动选择待裁剪的视频片段,点击右下角的【滤镜】按钮,弹出滤镜选择列表如下图所示:

点击列表中的【怀旧】滤镜,编辑界面马上切换成昏黄的怀旧效果如下图所示:

点击右上角的【发布】按钮,App就开始执行对应的加工操作。加工之后的视频片段默认放在App安装路径下的cache目录,完整路径为"我的手机/Android/data/com.marvhong.videoeditor/cache/small_video/VIDEO_yyyymmdd_HHMMSS.mp4",其中yyyymmdd代表年月日,HHMMSS代表时分秒。

稍等片刻剪辑完成后,App会自动跳到视频播放界面观看加工好的视频片段。

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

相关推荐
雨白3 小时前
掌握 NestedScrolling 嵌套滑动:手写仿知乎折叠主页
android
Xzaveir5 小时前
别把所有“认证”都塞进 AuthService:实名、一键登录与号码身份的领域拆分
android·人工智能
BerrySen1785 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
android·人工智能
AFinalStone6 小时前
Android 7系统休眠唤醒(一)电源管理架构全景图
android·powermanager·电源管理
YM52e7 小时前
鸿蒙Flutter Center居中组件:Align对齐详解
android·学习·flutter·华为·harmonyos·鸿蒙
时间的拾荒人8 小时前
MySQL 视图详解
android·数据库·mysql
蝉蜕日记8 小时前
视频压缩 v1.1.31:高效压缩,无损画质,释放存储空间
音视频·生活·视频编解码·视频·软件需求
祉猷并茂,雯华若锦8 小时前
Appium 3.x安卓按键与通知栏操作全指南
android·appium
码农coding9 小时前
android 12 SurfaceFlinger开机启动分析
android
hunterandroid9 小时前
Paging 3 RemoteMediator 实战:构建离线优先的分页列表
android·前端