惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Engineering at Meta
Engineering at Meta
D
DataBreaches.Net
月光博客
月光博客
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
U
Unit 42
腾讯CDC
爱范儿
爱范儿
J
Java Code Geeks
有赞技术团队
有赞技术团队
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
B
Blog
Stack Overflow Blog
Stack Overflow Blog
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
小众软件
小众软件
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
Microsoft Azure Blog
Microsoft Azure Blog
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - aqi00

鸿蒙版本的JSBridge兼容与安卓配套的H5啦 15天学会AI应用开发(二十)使用LangChain实现RAG检索功能 15天学会AI应用开发(十九)使用LangGraph实现持久记忆功能 鸿蒙版本的小小机器人APP开放源码啦 15天学会AI应用开发(十八)使用LangGraph实现精确记忆功能 15天学会AI应用开发(十七)使用LangGraph实现会话记忆功能 15天学会AI应用开发(十六)LangChain实现对话记忆功能 15天学会AI应用开发(十五)使用LangChain封装AI执行链 15天学会AI应用开发(十四)搭建LangChain的开发环境 15天学会AI应用开发(十三)上下文与RAG的阶段性总结 15天学会AI应用开发(十二)从PDF、WORD、网页构建RAG 15天学会AI应用开发(十一)从TXT文件构建RAG知识库 15天学会AI应用开发(十)把文本嵌入模型换成国产模型 15天学会AI应用开发(九)利用Chroma持久化向量数据 15天学会AI应用开发(八)使用向量数据库实现RAG功能 15天学会AI应用开发(七)有了大模型为什么还要引入RAG 15天学会AI应用开发(六)使用离线大模型对文本生成摘要 一文速览 HarmonyOS 6.1.1 推出的十个新特性 15天学会AI应用开发(五)使用AI摘要来压缩上下文消息 15天学会AI应用开发(四)根据Token长度截断历史对话 15天学会AI应用开发(三)把历史对话作为提示词会怎样 15天学会AI应用开发(二)为什么编写提示词这么重要 15天学会AI应用开发(一)搭建AI大模型应用开发环境 一文理清 HarmonyOS 6.0.2 涵盖的十个升级点 FFmpeg开发笔记(一百零二)国产的音视频移动开源工具FFmpegAndroid FFmpeg开发笔记(一百零一)跨平台的开源音视频移动框架MobileFFmpeg 一文速览 HarmonyOS 6.0.1 引入的十个新特性 一文读懂 HarmonyOS 6.1 带来的十大重要升级 新书《鸿蒙HarmonyOS 6应用开发:从零基础到App上线》出版啦 FFmpeg开发笔记(一百)国产的Android开源视频压缩工具VideoSlimmer
FFmpeg开发笔记(九十五)国产的开源视频美颜工具VideoEditor...
aqi00 · 2025-12-27 · via 博客园 - aqi00

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

VideoEditor-For-Android是一款基于Android硬编码的视频编辑器,包含视频录制、剪切、增加bgm、美白、加滤镜、加水印等多种功能。该框架通过Android的api完成视频采集,通过OpenGL完成视频数据帧的处理,通过MeidaCodec对采集到的视频流进行硬编码。它利用OpenGL完成视频的美白、加滤镜、加水印等功能,利用MediaCodec完成音视频的分离和音频的一些混音处理。
VideoEditor-For-Android的源码托管地址为https://github.com/qqchenjian318/VideoEditor-For-Android(星星数1.3k),最近版本更新于2021年9月,该版本的压缩包下载地址为https://github.com/qqchenjian318/VideoEditor-For-Android/archive/refs/heads/master.zip。
由于VideoEditor-For-Android源码的发布时间较早,为了让小海豚版本的Android Studio Dolphin能够打开它们,需要对App工程作如下修改:
1、升级Gradle版本和SDK版本;
2、把使用的jdk版本从默认的JDK8改为JDK11;
3、把Support库迁移为Androidx库;
4、build.gradle给NDK的指令集过滤器增加arm64-v8a;
5、App代码在录像和操作存储空间时增加运行时授权校验;
6、另外修复了若干bug;
因为上述修改涉及到的内容较多,这里不再一一列出,博主把修改后的App源码上传到了Github,具体地址为https://github.com/aqi00/note/tree/master/VideoEditor-For-Android。大家可以拉取Github上修改好的VideoEditor-For-Android源码,就能用小海豚版本的Android Studio Dolphin导入带Demo界面的VideoEditor-For-Android工程了。
那么通过Android Studio Dolphin编译VideoEditor-For-Android并安装到真机上,点击【本地视频美颜】后进入视频文件的挑选页面如下图所示:

vefa2

先到相册选择一个待加工的视频文件,再点击弹窗右下角的【加滤镜】按钮,App就转到视频的预览界面如下图所示:

vefa3

在视频预览界面左右滑动,可以切换不同的美颜效果,如下图所示:

vefa4

点击界面右下角的打勾按钮,App就开始执行对应的美颜加工操作。美颜之后的视频片段默认放在App安装路径下的files目录,完整路径为“我的手机/Android/data/com.example.cj.videoeditor/files/video/clip/123456789.mp4”,其中123456789代表一串数字。使用手机自带的文件管理App找到新保存的视频片段,即可观看美颜后的视频效果。

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