Ubuntu 14.04 NDK R9 编译ffmpeg2.4
来源:互联网 发布:win7系统盘瘦身软件 编辑:程序博客网 时间:2024/05/16 01:52
一、编译环境:
Ubuntu 14 麒麟 64位
Android NDK R9D 下载地址
FFMPEG 2.4 下载地址
二、编译ffmpeg
下载ffmpeg后解压至 /home/lee/ffmpeg-2.4
cd /home/lee/ffmpeg-2.4
1. 修改ffmpeg-2.4/configure
将
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR)$(SLIBNAME)'修改为
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'SLIB_INSTALL_LINKS='$(SLIBNAME)'这一步如果直接按照未修改的配置进行编译,结果编译出来的so文件类似libavcodec.so.55.39.101,版本号位于so之后,Android上似乎无法加载。
2. 编写build_android.sh 文件帮助编译出android所需的so库
创建build_android.sh文件
本人预设的环境变量为:
NDK=/home/lee/develop/ndk/android-ndk-r9d
build_android.sh文件内容:
#!/bin/bash NDK=/home/lee/develop/ndk/android-ndk-r9dSYSROOT=$NDK/platforms/android-9/arch-arm/TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64 function build_one { ./configure \ --prefix=$PREFIX \ --enable-shared \ --disable-static \ --disable-doc \ --disable-ffserver \ --enable-cross-compile \ --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \ --target-os=linux \ --arch=arm \ --sysroot=$SYSROOT \ --extra-cflags="-Os -fpic $ADDI_CFLAGS" \ --extra-ldflags="$ADDI_LDFLAGS" \ $ADDITIONAL_CONFIGURE_FLAG } CPU=arm PREFIX=$(pwd)/ffmpeg_android/$CPU ADDI_CFLAGS="-marm" build_one
这里需要注意的是 NDK,SYSROOT和TOOLCHAIN这三个环境变量要与自己的机器匹配
注意末尾位置PREFIX=$(pwd)/ffmpeg_android/$CPU
这个路径代表/home/lee/ffmpeg-2.4/ffmpeg_android 所以要先去创建该目录
接下来给build_android.sh添加可执行权限
chmod +x build_android.sh执行build_android.sh
./build_android.sh编译ffmpeg源码
make生成所需的so库
make install至此可以在home/lee/ffmpeg-2.4/ffmpeg_android/arm/lib目录找到编译好的so库
0 0
- Ubuntu 14.04 NDK R9 编译ffmpeg2.4
- Ubuntu 14.04 NDK R9 编译ffmpeg2.4
- android ndk r9 移植 live555 ffmpeg2.0 sdl2.0.1最新库整合编译
- ffmpeg使用NDK r9编译
- 使用 NDK r9 编译ffmpeg
- 使用 NDK r9 编译ffmpeg
- 使用 NDK r9 编译ffmpeg
- 使用 NDK r9 编译ffmpeg
- Mac下ndk编译ffmpeg2.1.4
- Android NDK 编译移植FFmpeg2.5
- Android-NDK-r9编译ffmpeg-0.11.3
- Android-NDK-r9编译ffmpeg-0.11.3
- Android-NDK-r9编译ffmpeg-0.11.3
- windows下用ndk r9编译ffmpeg
- ffmpeg2.2在ubuntu下使用NDK编译——并在android工程下测试使用
- ffmpeg2.2在ubuntu下使用NDK编译——并在android工程下测试使用
- cocos2d-x-2.1.4在NDK r9下的编译问题
- cocos2d-x-2.1.4在NDK r9下的编译问题
- tomcat的work目录
- hive-学习内容
- redis 超全的操作
- Pre-emptive threads and Lua
- rgb to yuv 互相转化
- Ubuntu 14.04 NDK R9 编译ffmpeg2.4
- C#——函数
- iphone开发中的一些小技巧
- stringstream的用法
- 给定一个有序的数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉查找树?
- Java中泛型的各种使用
- 删除依赖包命令
- SVN note2
- VS 中 长字符串换行