推荐一个开源的音视频编辑、视频剪辑框架
RxFFmpeg
RxFFmpeg 是基于 ( FFmpeg 4.0 + X264 + mp3lame + fdk-aac ) 编译的适用于 Android 平台的音视频编辑、视频剪辑的快速处理框架,包含以下功能(视频拼接,转码,压缩,裁剪,片头片尾,分离音视频,变速,添加静态贴纸和gif动态贴纸,添加字幕,添加滤镜,添加背景音乐,加速减速视频,倒放音视频,音频裁剪,变声,混音,图片合成视频,视频解码图片等主流特色功能……
编译环节
编译环境
win10 + ubuntu 16.04 + gcc + make
主要依赖以下库进行编译
库名 版本 下载地址
FFmpeg 4.0 http://ffmpeg.org/releases/ffmpeg-4.0.tar.bz2
X264 x264-snapshot-20180212-2245-stable http://download.videolan.org/x264/snapshots/x264-snapshot-20180212-2245-stable.tar.bz2
mp3lame 3.100 https://jaist.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
fdk-aac 0.1.6 https://jaist.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.6.tar.gz
ndk android-ndk-r14b-linux-x86_64 https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip
编译脚本
编译脚本、JNI代码整理后上传
特色功能
支持任何FFmpeg命令执行
支持FFmpeg命令执行进度回调
支持中断FFmpeg命令
支持同步/异步执行
支持开启/关闭 debug 模式
支持硬件加速,使编解码处理更快
代码封装成SDK的方式,方便依赖使用
支持把FFmpeg的各子模块libavutil
libavcodec
libavformat
libavdevice
libavfilter
libswscale
libswresample
libpostproc 最终打包成一个libffmpeg-core.so核心库方便依赖使用,无需导入七八个so库
支持libx264编码库,可以使压缩后的视频体积变的极小,清晰度还保持着很高清,简单的压缩命令: ffmpeg -y -i /storage/emulated/0/1/input.mp4 -b 2097k -r 30 -vcodec libx264 -preset superfast /storage/emulated/0/1/result.mp4
支持添加 mp3、aac、wav 等主流格式的背景音乐
支持主流视频格式转换,如: avi > mp4 > avi
使用方式
1、开启/关闭 debug 模式,建议在 Application 初始化调用
RxFFmpegInvoke.getInstance().setDebug(true);
2、FFmpeg 命令执行 (RxJava2优雅的调用)
String text = “ffmpeg -y -i /storage/emulated/0/1/input.mp4 -vf boxblur=25:5 -preset superfast /storage/emulated/0/1/result.mp4”;
String[] commands = text.split(" ");
RxFFmpegInvoke.getInstance().runCommandRxJava(commands).subscribe(new RxFFmpegSubscriber() {
@Override
public void onFinish() {
if (mProgressDialog != null)
mProgressDialog.cancel();
showDialog(“处理成功”);
}
@Overridepublic void onProgress(int progress) {if (mProgressDialog != null)mProgressDialog.setProgress(progress);}@Overridepublic void onCancel() {if (mProgressDialog != null)mProgressDialog.cancel();showDialog("已取消");}@Overridepublic void onError(String message) {if (mProgressDialog != null)mProgressDialog.cancel();showDialog("出错了 onError:" + message);}});
3、FFmpeg 命令执行 (同步方式)
RxFFmpegInvoke.getInstance().runCommand(command, null);
4、中断 FFmpeg 命令
RxFFmpegInvoke.getInstance().exit();
推荐一个开源的音视频编辑、视频剪辑框架相关推荐
- ffmpeg sdk java_推荐一个强大的音视频处理的开源项目!
原标题:推荐一个强大的音视频处理的开源项目! 1.前景提要 在我们的开发中,经常会用到音视频相关内容,一般我们都会选择FFmpeg,但是其交叉编译对于我们来说是一件很麻烦的事情.所以这里方便日后使用就 ...
- 推荐一个可以倍速播放HTML5视频的脚本
推荐一个可以倍速播放HTML5视频的脚本 这个脚本是我在看百度网盘上的视频时经常使用的,当时也是由于百度网盘上的视频播放速度对于普通用户来说只能普通速度播放,还想着自己学一学开发插件的知识,因为学过w ...
- 【SeeMusic】视频编辑 ( 视频 X 坐标 | 视频 Y 坐标 | 视频旋转 | 视频扭曲 )
SeeMusic 系列文章目录 [SeeMusic]下载安装并注册 SeeMusic 软件 [SeeMusic]创建 SeeMusic 工程并编辑相关内容 ( 创建工程 | 导入 MIDI 文件 | ...
- 推荐一个开源的任务管理工具DooTask(支持私有部署)
原文出处:https://www.yundashi168.com/382.html 今天老逛推荐一个开源的任务管理工具DooTask,该工具会提供各类文档协作功能.在线思维导图.在线流程图.项目管理. ...
- 推荐一个开源的任务管理工具
往期热门文章: 1.妙用Java 8中的 Function接口 消灭if...else... 2.1 平方厘米在元宇宙卖到 14 万?单价比北京学区房贵多了! 3.干掉visio,这个画图神器真的绝了 ...
- 推荐一个开源文件管理系统,简单好用
大家好,我是为广大程序员兄弟操碎了心的小编,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效率,实现不加班不熬夜不掉头发,是我的目标! 今天小编推荐一个开源文件 ...
- 推荐一个开源流媒体工具:ZLMediaKit
推荐一个比较好用的流媒体服务开源代码: ZLMediaKit: 实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求 https://gitee.com/xiahcu/Z ...
- 推荐一个开源文本识别工具箱,实现 5 种实用经典算法
推荐一个由52CV群友 @chibohe 开发的文本识别工具箱,其基于Pytorch 使用统一的方式重新实现了一系列经典的场景文本识别论文. 代码在这里: https://github.com/chi ...
- 推荐一个开源的区块链开发者工具网站
开源区块链开发者工具箱 https://ChainTool.tech 今天可以正式上线了.ChainTool 使用完全开源的方式编写一些开发者日常经常使用的工具. 关于 ChainToolDAO 大约 ...
最新文章
- pandas使用np.where函数计算返回dataframe中指定数据列包含缺失值的行索引列表list
- 理解JVM如何使用Windows和Linux上的本机内存
- CentOS 8 成为绝版!到底发生了什么?
- Mysql查看和修改时区
- ASP对很长的文章做分页输出
- php无法清除缓冲区怎么解决,php – 无法删除缓冲区 没有缓冲区要删除
- 苹果xsmax是什么接口_为什么苹果PD快充线头是银色而非金黄色?原来那根本就不是镀的银...
- document.all用法
- [Swift通天遁地]二、表格表单-(15)自定义表单文本框内容的格式
- xamarin开发android使用sql数据库时不能联接的问题
- 伽卡他卡学生端 的卸载!!!
- 支付宝免费领取7天优酷黄金会员 1.88元购买1个月优酷黄金会员
- [答疑]举报卖家、举报买家还是举报
- 配置无状态IPv6地址自动配置基础实验
- 经典同步时序逻辑电路分析汇总(第六道)(同步四进制可逆加减法计数器)
- Tuner及工作原理介绍
- Android-回传数据(装备选择)
- 010Editor破解版png模板失效解决方法
- 六、添加艺术字到图片
- 轻巧易用,音质更进一步,南卡Lite pro 2真无线耳机上手
热门文章
- 【Windows日志】记录系统事件的日志
- IATF-16949国际汽车供应链品质管理体系实战--(1) APQP
- Python求解二次规划模型
- ClickHouse加载TPCH数据
- EditPlus的破解码
- 应用统计学学什么科目_应用统计考研都考哪些科目 你必须了解
- SystemUI介绍
- WebRTC视频通话中最多能容纳多少用户?
- 摄影毁一生单反穷三代顺口溜_严锋老师谈HIFI:单反穷三代,hifi毁一生。这就对了...
- GetData Graph Digitizer v2.2.5 for Win 多语言 图像数字化