下载最新的 ffmpeg 2.0版本
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
去http://sourceforge.net/projects/ffmpeg4android/ 网站下载 ffmpeg4android项目里的几个 makefile 文件
地址:http://sourceforge.net/u/faywong/ffmpeg4android/ci/master/tree/makefiles/
但是这几个文件是得配合Android源码一起用的,比较麻烦还得下源码, 在这个网站上又找到了一份,只用NDK就可以编译的makefile文件
地址:http://sourceforge.net/u/pelya/ffmpeg4android/ci/master/tree/makefiles/
如果想编译ffmpeg 1.2 版本以前的话 就可以直接用这几个makefile文件了
我测试了一下ffmpeg 1.1版本是可行的
现在我们有了两份 makefile 文件 然后我们根据下载的第二份makefile文件去修改 下载的第一份makefile文件
我修改的可以到这里下载:
http://download.csdn.net/detail/yukuilongqq/5924999
然后创建一个项目目录 如ffmpeg_2.0_test
cd ffmpeg_2.0_test
创建 jni文件夹 mkdir jni
cd jni
把ffmpeg 2.0 源码ffmpeg文件夹移到 jni目录下
cd ffmpeg
然后把修改完的那三个文件复制到ffmpeg目录下
回到ffmpeg_2.0_test目录下创建 Application.mk 和 Android.mk 两个文件
Application.mk内容如下
主要指定编译平台
Android.mk 内容如下
用来引用 ffmpeg目录下的 Android.mk文件
好了所有的makefile 文件整理完了,接下来开始编译
进入 jni目录 cd jni
运行 ndk-build
ffmpeg 2.0 就开始编译了 ,途中回报两处错误,分别修改 ffmpeg源码如下
1,文件位于 ffmpeg/compat/strtod.c
double avpriv_strtod函数 改为 static double avpriv_strtod
2,文件位于 ffmpeg/libavformat/unix.c
添加头文件 #include <linux/socket.h>
修改完后编译一切顺利