ffmpeg在android手机上的几种编译与使用方法(未完待续)
2011-11-13 17:33
531 查看
ffmpeg 作为一个有名的多媒体开源项目,对其进行二次开发能大大提高多媒体项目的完成,默认从官方网站(http://ffmpeg.org/)的git页面上http://ffmpeg.org/download.html,下载下来的源码是以X86 linux作为首要编译方式。若是移植到android手机上,参考相关帖子,大概有两种方法。
先来说说android体系下jni层的一般编译方法。假如项目最后要生成all.so,如果有part1,part2,part3这三个模块,可以有两种方式去选择。
一是生成part1.a,part2.a,part3.a,然后最后链接为all.so,在生成的apk的lib目录下,你将只能看到all.so这一个库文件。 二是生成part1.so,part2.so,part3.so,然后最后链接为all.so,在生成的apk的lib目录下,你将同时看到all.so和part1.so,part2.so,part3.so这几个库文件。当然还有第三种方式,就是将前两种方法混合使用。
ffmpeg也不例外,依照你的使用方法不同,你也可以选择不同的编译方式。但是ffmpeg为LGPL协议,我觉得第二个方法可能更合理些。你不能把人家的代码都静态链接到你的最终的共享库里面。
为了便于说明,现在参考国外的一些使用ffmepg的项目,这些项目的编译方式可以不受ffmep版本和android 的NDK版本限制。
先来说说android体系下jni层的一般编译方法。假如项目最后要生成all.so,如果有part1,part2,part3这三个模块,可以有两种方式去选择。
一是生成part1.a,part2.a,part3.a,然后最后链接为all.so,在生成的apk的lib目录下,你将只能看到all.so这一个库文件。 二是生成part1.so,part2.so,part3.so,然后最后链接为all.so,在生成的apk的lib目录下,你将同时看到all.so和part1.so,part2.so,part3.so这几个库文件。当然还有第三种方式,就是将前两种方法混合使用。
ffmpeg也不例外,依照你的使用方法不同,你也可以选择不同的编译方式。但是ffmpeg为LGPL协议,我觉得第二个方法可能更合理些。你不能把人家的代码都静态链接到你的最终的共享库里面。
为了便于说明,现在参考国外的一些使用ffmepg的项目,这些项目的编译方式可以不受ffmep版本和android 的NDK版本限制。
相关文章推荐
- Android编译供ffmpeg使用的libx264
- windows ffmpeg mingw编译流程及vs中的使用方法(vs2005及其以上可用)
- Android手机使用Fiddler方法介绍
- Ubuntu下为AndroidStudio编译并使用FFmpeg(二)AndroidStudio部分
- ffmpeg for android stagefirght 硬件加速的编译方法
- Android多媒体开发(2)————使用Android NKD编译原版FFmpeg
- 使用NDK编译FFmpeg到Android下使用
- android源码编译环境的准备及编译之后使用emulator运行的方法 - 官方版
- 使用Java自动化方法模拟Android手机点击、触屏事件
- Android 获得手机屏幕宽高参数的几种方法
- 几种视频编码器的编译及使用方法
- 在ubuntu 10下使用Android-ndk-r6b成功编译ffmpeg0.8.1
- 使用电脑动态显示android手机上画面的方法
- 视频编解码之windows平台下编译ffmpeg的方法和使用教程
- Android手机使用Fiddler方法介绍(原)
- 查看基于Android 系统单个进程内存、CPU使用情况的几种方法
- 将Java应用程序本地编译为EXE的几种方法(推荐使用JOVE和JET)
- Android反编译工具baksmali最新版的使用方法
- Bootchart工具在Android手机上的使用方法和心得
- Android多媒体开发(3)————使用Android NKD编译havlenapetr-FFMpeg-7c27aa2