EpMedia

Android上基于FFmpeg开发的视频处理框架,简单易用,体积小,帮助使用者快速实现视频处理功能。包含以下功能:剪辑,裁剪,旋转,镜像,合并,分离,变速,添加LOGO,添加滤镜,添加背景音乐。

github地址:https://github.com/yangjie10930/EpMedia

使用方法:

  • build.gradle里添加:
allprojects {repositories {...maven { url 'https://jitpack.io' }}}
  • 添加gradle依赖:
compile 'com.github.yangjie10930:EpMedia:v0.9.2'

单个视频处理:

  • 创建待处理视频:
EpVideo epVideo = new EpVideo(url);
  • 剪辑
//一个参数为剪辑的起始时间,第二个参数为持续时间,单位:秒
epVideo.clip(1,2);//从第一秒开始,剪辑两秒
  • 裁剪
//参数分别是裁剪的宽,高,起始位置X,起始位置Y
epVideo.crop(480,360,0,0);
  • 旋转和镜像
//第一个参数为旋转角度,第二个参数为是否镜像,仅支持90,180,270度旋转
epVideo.rotation(90,true);
  • 添加文字
//参数分别是添加位置的X,Y坐标,文字的字号(单位px),文字颜色,字体文件的路径,内容
epVideo.addText(10,10,35,"red",ttfPath,text);
  • 添加logo
//添加图片类
//参数为图片路径,X,Y,图片的宽,高,是否是动图(仅支持png,jpg,gif图片,如果是gif图片,最后一个参数为true)
EpDraw epDraw = new EpDraw(filePath,10,10,50,50,false);
epVideo.addDraw(epDraw);
  • 添加自定义滤镜
//自定义滤镜,ffmpeg命令支持的滤镜都支持
epVideo.addFilter(filter);
  • 处理单个视频
EpVideo epVideo = new EpVideo(url);
EpEditor epEditor = new EpEditor(this);
//输出选项,参数为输出文件路径(目前仅支持mp4格式输出)
EpEditor.OutputOption outputOption = new EpEditor.OutputOption(outFile);
outputOption.width = 480;//输出视频宽,如果不设置则为原始视频宽高
outputOption.height = 360;//输出视频高度
outputOption.frameRate = 30;//输出视频帧率,默认30
outputOption.bitRate = 10;//输出视频码率,默认10
epEditor.exec(epVideo, outputOption, new OnEditorListener() {@Overridepublic void onSuccess() {}@Overridepublic void onFailure() {}
           @Overridepublic void onProgress(float progress) {//这里获取处理进度}

});

  • 添加背景音乐
EpEditor epEditor = new EpEditor(this);
//参数分别是视频路径,音频路径,输出路径,原始视频音量(1为100%,0.7为70%,以此类推),添加音频音量
epEditor.music(videoPath, audioPath, outfilePath, 1, 0.7, new OnEditorListener() {@Overridepublic void onSuccess() {}@Overridepublic void onFailure() {}
              @Overridepublic void onProgress(float progress) {//这里获取处理进度}

});

多个视频处理&合并

  • 合并视频
ArrayList<EpVideo> epVideos = new ArrayList<>();
epVideos.add(new EpVideo(url));//视频1
epVideos.add(new EpVideo(url2));//视频2
epVideos.add(new EpVideo(url3));//视频3
EpEditor epEditor = new EpEditor(this);
//输出选项,参数为输出文件路径(目前仅支持mp4格式输出)
EpEditor.OutputOption outputOption = new EpEditor.OutputOption(outFile);
outputOption.width = 480;//输出视频宽,默认480
outputOption.height = 360;//输出视频高度,默认360
outputOption.frameRate = 30;//输出视频帧率,默认30
outputOption.bitRate = 10;//输出视频码率,默认10
epEditor.merge(epVideos, outputOption, new OnEditorListener() {@Overridepublic void onSuccess() {}@Overridepublic void onFailure() {}
      @Override
      public void onProgress(float progress) {//这里获取处理进度}

});

  • 无损合并视频(对视频格式严格,需要分辨率,帧率,码率都相同)
ArrayList<EpVideo> epVideos = new ArrayList<>();
epVideos.add(new EpVideo(url));//视频1
epVideos.add(new EpVideo(url2));//视频2
epVideos.add(new EpVideo(url3));//视频3
EpEditor epEditor = new EpEditor(this);
epEditor.mergeByLc(epVideos, new EpEditor.OutputOption(outFile), new OnEditorListener() {@Overridepublic void onSuccess() {}@Overridepublic void onFailure() {}
       @Overridepublic void onProgress(float progress) {//这里获取处理进度}

});

android 视频编辑框架(分割,裁剪,旋转,合并,添加logo,背景音乐等等)相关推荐

  1. Android视频编辑框架

    下载链接 https://mobile.baidu.com/item?docid=23662938&source=pc 该文件主要利用封装的ffmepg框架来处理Android视频的个性操作, ...

  2. Android视频编辑SDK免费版,Android视频编辑SDK

    android视频编辑sdk是一款视频编辑软件,用户可以看到视频配音配乐.添加字幕.添加滤镜.视频转场等各种功能,并可以快速的植入到软件中进行编辑,编辑的过程中支持用户进行智能的硬件解码,选择视频时不 ...

  3. android视频编辑sdk官网,LanSoEditor_common ---android平台的视频编辑SDK

    android平台短视频技术之 视频编辑的经验分享. android平台短视频技术之 视频编辑的经验分享. 提示一: 各位看官,这里分享的是视频编辑,即剪切/拼接/分离/合并/涂鸦/标记/叠加/滤镜等 ...

  4. android视频缓存框架 [AndroidVideoCache](https://github.com/danikula/AndroidVideoCache) 源码解析与评估

    文章目录 android视频缓存框架 [AndroidVideoCache](https://github.com/danikula/AndroidVideoCache) 源码解析与评估 引言 使用方 ...

  5. PS CS6视频剪辑基本技巧(五)添加logo、动画和画中画

    系列讲座导读 PS CS6视频剪辑基本技巧(一)CS6可以实现的视频剪辑功能 PS CS6视频剪辑基本技巧(二)视频剪接和添加图片 PS CS6视频剪辑基本技巧(三)添加声音和字幕 PS CS6视频剪 ...

  6. Android视频编辑SDK--RDVECore来自锐动的无UI,高度抽象化API

    1    RDVECore功能概述 RDVECore是锐动推出的无UI,高度抽象化API的视频编辑SDK,支持以下功能: 1.1 丰富的编辑功能  RDVECore包含了丰富的基础功能,对于编辑中的视 ...

  7. iOS/Android 视频编辑SDK

    锐动天地为开发者提供短视频编辑.视频直播.特效.录屏.编解码.视频转换,等多种解决方案,涵盖PC.iOS.Android多平台.以市场为导向,不断打磨并创新技术,在稳定性,兼容性,硬件设备效率优化上千 ...

  8. android 视频编辑特效,特效视频剪辑编辑

    特效视频剪辑编辑app是一款完全免费的安卓视频编辑神器.特效视频剪辑编辑功能上很齐全,特效视频剪辑编辑app服务也很不错,最关键的是特效视频剪辑编辑操作起来难度不是很大! 软件介绍 特效视频剪辑编辑a ...

  9. android音频编辑之音频裁剪的示例代码

    音频编辑项目的整体结构 音频裁剪方法的流程实现 获取音频文件相关信息 计算裁剪时间点对应文件中数据的位置 写入wav文件头信息 写入wav文件裁剪部分的音频数据 下面是音频裁剪效果图: 音频编辑项目的 ...

最新文章

  1. bootstrap模态框显示控制
  2. Veritas推出全多云环境新技术
  3. UE4蓝图中的AI行为树功能使用经验指南
  4. 打开指定摄像头_我在无人区深处,遇到了一个高清摄像头
  5. [转]Blue Prism Architecture
  6. csu 1548: Design road (三分)
  7. Linux安装宝塔(Bt-Panel),修改用户名或密码,查看面板入口
  8. my task doorway - where is it parsed
  9. java 字符菜单_java该怎么写左侧菜单树
  10. class构造函数实现接口数据整合
  11. 2021-06-13list map set 并发问题
  12. 江苏省计算机二级高级office知识点,江苏省计算机二级考试(江苏省二级office题库)...
  13. python求绝对值_python求绝对值
  14. python结巴分词去掉虚词_jieba中文处理 python
  15. IPFS独角兽西部世界解读:销毁的近2000万FIL去哪里了?
  16. Linux从入门到精通——基本命令
  17. 【无标题】win7系统支持node14以上的版本
  18. 利用FaceBook实现第三方登陆(自定义登陆按钮,非官方按钮)并获取用户数据
  19. 黑客留下的网站后门,可以作什么?
  20. 项目工作任务 excel_在Excel中跟踪项目任务

热门文章

  1. 开网店快递费怎么算_开网店快递费怎么样最省钱 教你如何降低快递费
  2. Linux系统下载安装数据库MariaDB
  3. 安卓大屏导航可用万年历
  4. Gradle –如果测试失败,如何继续构建
  5. 微信小程序实现星巴克用星说效果
  6. 前端模块化开发到底是什么?
  7. c语言实现十进制转换为二进制
  8. 项目管理手记 28 ERP项目的高层支持要知行合一
  9. 我想用C语言实现1到10阶乘
  10. 福昕风腾完美越狱使用