android开发中如何调用FFMPEG
来源:互联网 发布:mac显示flash 编辑:程序博客网 时间:2024/05/24 05:27
概述
在android开发中,我们对于一些音视频的处理是比较无奈的,特别是编辑音视频部分。在android上对视频进行编辑这件事google亲爹貌似并不买账,几乎没有任何API做支持。而在android4.1中添加MediaCodec(硬编码)也没有做支持。很无奈,对于编辑音视频这方面的需求貌似只能使用FFMPEG来实现。当然还有别的一些方法,但FFMPEG绝对是比较普遍的解决方案。而在android上使用FFMPEG又是一条艰辛的路程,比较正统的方法就是使用NDK来编译,但NDK编译的成本太高,开发难度大。而本文就是主要介绍在GitHub上找到的一个比较靠谱的方法来快捷的实现android上使用FFPEMG。
NDK编译
首先还是得强调,有能力通过NDK来编译FFMPEG的同志,就没有太大必要继续往下看了。毕竟NDK编译FFMPEG才是最合适与优秀的解决方案。
介绍下NDK编译FFMPEG所需要具备的要求:
- C语言
- 熟练地使用NDK
- 了解FFMPEG源码,至少源码中的API得熟悉
- 音视频知识
有了这些技术知识,那么你就能可以开始尝试用NDK编译FFMPEG了。
WritingMinds/ffmpeg-android-java(GitHub开源项目)
首先附上链接 https://github.com/WritingMinds/ffmpeg-android-java
具体的使用方法在GitHub上已经有比较详细的介绍了,不作过多赘述了。
在自己项目中使用只要在gradle中引用如下类库即可。
compile 'com.writingminds:FFmpegAndroid:0.3.2'
下面主要介绍下该种方法的优缺点。
优点:
- 开发成本低,快速
- 学习成本低,只要掌握FFMPEG的命令调用即可
- 对一些简单的编辑操作,性能上没有太大额外的消耗
缺点:
- 支持库容量大,导致APK变大(可能要30M左右)
- 没法像NDK一样在源码层就组装成需求所需要的功能,而导致性能的额外消耗
- 不够灵活,可能会出现意想不到的错误。
- 开源库的维护不确定性
总结
综上所诉,对于在android上使用FFMPEG的问题上,首先推荐使用NDK编译的方法。在时间成本不允许的情况下,可以使用本文推荐的开源库,当然必须忍受APK包变大这个问题。各位可以权衡自己的需求来做出选择。
- android开发中如何调用FFMPEG
- Android工程中调用ffmpeg
- Android开发中如何调用打电话功能
- Android开发中如何调用摄像…
- Android 调用ffmpeg 播放器开发(一)
- Android开发中如何调用摄像头的功能
- Android开发中如何调用发短信功能
- Android开发中如何调用摄像头的功…
- Android开发中如何调用摄像头的功能
- Android开发中如何调用摄像头的功能
- Android开发中如何调用摄像头的功能
- Android开发中如何调用摄像头的功能
- Android开发中如何调用摄像头的功能
- Android开发中如何调用摄像头的功…
- Android开发中如何调用摄像头的功…
- Android开发中如何调用摄像头的功能
- android ktv 开发过程5-android调用ffmpeg成功
- android调用ffmpeg
- 选择器
- C++ 程序 startup code 相关
- uml 类图依赖与关联的区别
- Git 推送本地仓库到GitHub
- 平板电脑出货不忍直视,瑞芯微、全志冰火两重天
- android开发中如何调用FFMPEG
- 如何设置高程数据投影及导出数据
- 11.2
- Linux-虚拟机使用:真机与虚拟机ping通
- bootstrap栅格系统中同行div高度不一致的解决方法
- Android Studio 统计代码行数插件 — Statistic
- Android:活动笔记
- ExtJs 通过 toggleClass 实现样式切换 ——以及更多的CSS操作
- String对象属性和方法参考