系列文章目录

Android 短视频编辑开发前言(一)

Android 短视频开发之摄像头预览(二)

Android 短视频编辑开发之摄像头预览实时美颜(三)

Android 短视频编辑开发之相机拍照(四)

Android 短视频编辑开发之录制(五)

Android 短视频编辑开发之滤镜处理(六)

Android 短视频编辑开发之视频播放预览(七)

由于需要公司需要自己来开发一套短视频编辑SDK,这里需要考虑的事就比较多了。

提到音视频编辑,大家最容易搜到的可能是ffmpeg这个牛X的开源方案。基本上市面上所有的大厂涉及到视频模块的东西都脱离不了ffmpeg。FFMPEG 是基于C语言的著名视频编解码方案。做短视频美颜,滤镜,贴纸,视频合成吗,音频处理等等都可以使用ffmpeg去实现。事实上这个开源方案学习成本不低,它的功能很强大,但是在android设备上某些方面表现确又不是那么的尽人意,android 本身自带的多媒体框架其实已经非常强大了,只是版本兼容性不太友好。下面就来分析下可行性的开源方案

一.做Android视频编辑的可行性开源方案有哪些?

第一个就是大家熟知的ffmpeg,将ffmpeg移植到anroid平台,编译成so文件,由jni 调用,可以实现音视频的分离、裁剪、拼合、加字幕、滤镜等功能。

第二个就是android 自带的MediaCodec 框架,MediaCodec框架底层调用的是StageFright库,StageFright库是默认封装在android系统里面的。

第三个,如果只是做视频音频混合的话,可以用这个开源工程mp4parser。

二.这几种框架的优缺点各有哪些?

分析优缺点,那么就从功能多少、学习门槛、运行效率、稳定性、打包占用空间这几个方面来总结一下。

a.功能多少方面:

ffmpeg 无疑排第一位,他集合了视频编解码、视频滤镜、流媒体推流、音频各种特效等等,基本上你能想到的功能都在里面。

第二位当是Android的亲儿子,MediaCodec。MediaCodec涵盖了音视频解复用、音频解码、视频解码、音频编码、视频编码、音视频合并的整个流程。跟ffmpeg相比,MediaCodec 更接近底层硬件。这个方案如果想要实现视频的滤镜、字幕、拼接等功能的话,需要自己配合OpenGL ES 来实现,另外,音视频拼接的话,要考虑到不同音频采样率的重采样问题,音频重采用问题,需要懂得傅立叶变换相关的离散信号变换方法,如果要实现音频特效,如变声、均衡器的话,也需要懂得上述信号变换方法。因此,很少公司会采用。

第三位mp4praser,可以实现音视频编解码及编辑。

b.学习门槛:

如果只是做视频转码、加文字、图片特效等,ffmpeg和MediaCodec 旗鼓相当,mp4parser最低(但是基于mp4parser的资料比较少,其实也未必)。如果是要拼接视频、做音频         的变声、均衡器特效的话,MediaCodec是难度最高的,因为这一切需要你从底层原理做起。

c、运行效率:MediaCodec硬解硬编最快,ffmpeg硬解硬编方案稍慢,mp4parser(只能软解软编)最慢。

d、稳定性: MediaCodec和ffmpeg 的硬解硬编方案旗鼓相当,mp4parser在低配的机器上可能出现卡顿的问题。

f、打包占用空间:国内最得最好的ffmpeg硬解硬编方案,其so文件在10.几M,MediaCodec由于是纯java 代码,占用空间很容易做到几百K甚至几十K。mp4parser也是纯Java,开发包同样非常小。

三、现有的免费开源方案和收费商业方案介绍。

基于ffmpeg 的免费软解软编方案在github.com有很多,例如:EpMedia,硬解硬编方案还没有看到。商业收费的方案有趣拍、美摄等。不过这些商业方案是按年收费的有点小贵。

基于MediaCodec 的免费开源方案有m4m,videotranscoder等,不过这些开源方案,表面看上去功能很强大,实际使用的时候会遇到不少坑,只适用于对MediaCodec的原理进行研究。目前尚未发现一个开源成熟的MediaCodec项目。做MediaCodec成熟商业方案的有七牛、美视这两家。其中,七牛的商业方案,笔者亲测,到目前为止,还有一些明显的bug,可能是起步比较晚吧,请谨慎使用
 ———————————————— 
原文链接:https://blog.csdn.net/u011495684/article/details/78437060

Android 短视频编辑开发前言(一)相关推荐

  1. Android 短视频编辑开发之摄像头预览实时美颜(三)

    前言: 在上一篇文章中给小伙伴们介绍了进行Camera预览,如果你还没有看过的话,建议先去看上一篇文章<Android 短视频开发之摄像头预览(二> 本篇文章会介绍如何实现摄像头预览画面实 ...

  2. Android短视频app开发中如何实现上下滑动切换效果

    在大部分短视频app开发中,都会在app内增加上下滑动切换视频的功能,即下滑切换到下一条短视频,上滑切回到上一条.这种机制可以给用户带来良好的视觉体验,云豹作为优秀的app源码供应商,在该效果的实现上 ...

  3. android 短视频编辑,短视频编辑制作大师

    短视频编辑制作大师app是一款多功能的手机视频剪辑服务应用软件,短视频编辑制作大师app为用户提供了视频合并.水印去除.视频提取.添加文字.滤镜等等功能,短视频编辑制作大师app轻轻松松编辑好视频. ...

  4. android 短视频编辑,分享Android短视频制作(最简洁的一个)

    下面制作完后短视频效果图,如下: 短视频动态图 看完效果图,是不是觉得很简单,现在开始讲一下,如何制作短视频,具体做法如下介绍: 准备材料并配置项目工程: 1.去下载七牛云播放器SDK 2.然后把pl ...

  5. Android短视频开发都需要什么技术?

    今天我们来讲点干货,估计来看这篇帖子的人都知道短视频APP有多火,也都知道安卓系统在手机系统中占的市场份额有多大,那我就不多嘴巴拉巴拉一些行业背景了,以下我着重讲一讲Android端的短视频开发技术. ...

  6. android短视频技术,Android短视频开发都需要什么技术?

    今天我们来讲点干货,估计来看这篇帖子的人都知道短视频APP有多火,也都知道安卓系统在手机系统中占的市场份额有多大,那我就不多嘴巴拉巴拉一些行业背景了,以下我着重讲一讲Android端的短视频开发技术. ...

  7. Android短视频开发中的sdk接入方案

    目前短视频平台非常火,云豹科技作为优质的app源码提供商,在短视频开发领域有丰富的经验和完善的技术.下面以云豹短视频为例,概述Android短视频开发中的sdk接入方案,这里我们选择腾讯云的sdk进行 ...

  8. android 短视频例子,Android短视频开发解析,什么才是开发的重点

    随着短视频的潮流席卷祖国大地,进行Android短视频开发的朋友们也越来越多了,相信很多朋友在进行短视频开发.平台搭建的时候会有点蒙,短视频这么多功能,哪个是重点呀? 接下来就为大家讲解一下,Andr ...

  9. Android短视频开发

    Android短视频录制 又拍云Android短视频录制SDK功能说明: Android 短视频播放 又拍云 Android 短视频播放器SDK功能说明: 完美兼容Android2.3 (API)及其 ...

最新文章

  1. Hadoop源代码分析(四)
  2. php5.5 sqlserver 2012,PHP连接SQLSERVER2012
  3. 电脑组装与维护教程_男,78年,懂电脑组装、运营维护青岛地区寻找电脑维护合适岗位...
  4. XML基础——extensible markup language
  5. 蓄电池单格电压多少伏_蓄电池充电规范手册
  6. eclipse弃坑记第一篇之在idea上配置Tomcat环境并创建Javaweb项目的详细步骤原创
  7. postfix 过滤中文内容
  8. Tomcat - Springboot启动的时候初始化的线程池默认配置
  9. arccos c语言,[蓝桥杯][算法提高VIP]求arccos值 (C语言代码)
  10. 北京课改版三年级英语教案二-Leo老师
  11. 安装监控的地方没有WiFi,没有无线网络,如何实现远程监控?
  12. 【三维点云处理】PCA主成分析+实践(一)
  13. Win10开机登陆后黑屏,只有鼠标
  14. 并发读源码——并发读源码Striped64/LongAdder/DoubleAdder/LongAccumulator/DoubleAccumulator
  15. 欧盟新法将个人隐私放在首位
  16. linux安装ati工具,Ubuntu 12.10 安装ATI显卡驱动安装
  17. [数读]从开户数看这一波牛市
  18. octave安装包pkg install命令及可选参数
  19. Model-Based Value Expansion for Efficient Model-Free Reinforcement Learning(mve)
  20. 11个超高清图片素材网站,可直接访问

热门文章

  1. Internet Explorer已停止工作的解决办法
  2. 工作流管理系统参考模型简介
  3. 【APP】App测试方法总结
  4. IBM:开放的混合云架构,助力企业数字化转型
  5. Echarts横向柱状图:叠加、堆叠(stack)以及点击事件
  6. 以太坊EVM源码注释之数据结构
  7. Chrony 时间同步
  8. extremedb--calc
  9. Ubuntu下安装Yarm-PM2
  10. 华为交换机配置时区_华为交换机配置ntp自动同步时间