ffmpeg 2.1 + x264 (version 140) 编译安卓下可用的库
来源:互联网 发布:千锋大数据 百度云盘 编辑:程序博客网 时间:2024/05/11 02:41
必备条件:NDK9 、Ubuntu12.04、ffmpeg源码、X264源码
1.首先,编译X264源码。
这个貌似需要yasm1.2。如果提示这个版本过低自己更新下,这边不再多讲
下载X264的源码:http://www.videolan.org/developers/x264.html
在文件夹下新建一个 build_x264.sh,内容如下
export NDK=/home/mtb0157/workspace/android-ndk-r9export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64export CC=$PREBUILT/bin/arm-linux-androideabi-gccexport LD=$PREBUILT/bin/arm-linux-androideabi-ldexport AS=$PREBUILT/bin/arm-linux-androideabi-gccexport AR=$PREBUILT/bin/arm-linux-androideabi-arexport RANLIB=$PREBUILT/bin/arm-linux-androideabi-ranlibexport STRIP=$PREBUILT/bin/arm-linux-androideabi-stripexport PLATFORM=$NDK/platforms/android-8/arch-arm export PREFIX=/home/mtb0157/Project/libexport STRIP=$PREBUILT/bin/arm-linux-androideabi-strip./configure --prefix=$PREFIX \--enable-static \--enable-pic \--enable-strip \--disable-cli \--extra-cflags= "-march=armv7-a -mfloat-abi=softfp -mfpu=neon" \--host=arm-linux \--cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \--sysroot=$PLATFORM
注意:NDK的目录和PREFIX的目录需要根据自己的环境设置
打开终端 - > CD到x264的目录下 -> chmod +x build_x264.sh 修改权限-> ./build_x264.sh执行配置->make进行编译->make install 导出库
这时候库会导出到之前设置的PREFIX目录下(请提前先创建这个目录)
这时候我们就可以在目录下看到x264导出的include和lib文件夹了
注意:如果make 出现 Cortex-A8 erratum because it has no mapping symbols.
请参考:http://blog.csdn.net/zsc09_leaf/article/details/14452451
2.解压ffmpeg的源码: http://www.ffmpeg.org/download.html#releases
源码目录下创建 build_ffmpeg.sh
#!/bin/bashNDK=/home/mtb0157/workspace/android-ndk-r9SYSROOT=$NDK/platforms/android-9/arch-arm/TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64export PLATFORM=$NDK/platforms/android-8/arch-arm export PREFIX=/home/mtb0157/Project/libfunction build_one{./configure --prefix=$PREFIX\ --disable-doc \ --enable-gpl \ --enable-libx264 \ --disable-symver \ --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \ --target-os=linux \ --arch=arm \ --enable-cross-compile \ --sysroot=$PLATFORM \ --extra-cflags=-I/home/mtb0157/Project/lib/include \ --extra-ldflags=-L/home/mtb0157/Project/lib/lib }CPU=armPREFIX=$(pwd)/android/$CPU ADDI_CFLAGS="-marm"build_one
注意:
--arch=arm \
--enable-libx264 \编译arm架构的.a并启用libx264,同样NDK的目录自己要设置好
打开终端-> CD到ffmpeg的目录下 -> chmod +x build_ffmpeg.sh 修改权限-> ./build_ffmpeg.sh执行配置->make进行编译->make install 导出库
编译完成就可以在各个源码目录下找到生成的.a文件了。
- ffmpeg 2.1 + x264 (version 140) 编译安卓下可用的库
- 编译Android下可用的FFmpeg+x264
- ffmpeg嵌入x264库的编译方法
- 实战x264,ffmpeg库编译
- FFmpeg+x264编译Android库
- ffmpeg支持x264的android平台编译
- 编译用于Android的FFmpeg&x264
- x264编译到ffmpeg的方法
- FFmpeg学习—Android 编译x264 库
- ffmpeg与x264编译共享库
- 交叉编译 ffmpeg x264
- 交叉编译 ffmpeg x264
- android编译ffmpeg+x264
- ffmpeg+x264编译
- android编译ffmpeg+x264
- ffmpeg + x264编译
- centos编译ffmpeg x264
- ffmpeg + x264 + ios 编译
- mopz 审批 下载
- android 电池充电
- struts2中ServletActionContext与ActionContext区别及获取Servlet对象方法
- TreePanel的各项属性
- ARMLinux下Alignment trap的一些测试
- ffmpeg 2.1 + x264 (version 140) 编译安卓下可用的库
- postgres递归查询
- Ext.grid.GridPanel属性祥解
- 在Ubuntu环境下为Qemu配置桥接网络
- 椭圆曲线ECC加密算法
- python 导出mongoDB数据中的数据
- C++ 读取文本内容
- 求一下表达式的值,写出一种或几种实现方法:1-2+3-4+5..... +m
- Starling 混合模式