您的位置:首页 > 移动开发 > Android开发

Ubuntu 14.04.2 移植FFmpeg 2.8.3 到Android平台

2015-12-03 23:38 429 查看
笔者生产环境是ubuntu14.04.2

一直都听说FFmpeg很强大很暴力

但一直都没时间研究沉淀

今天心血来潮,决定试试看

上正文

首先下载FFmpeg 2.8.3源代码

官方地址

Github地址

1.首先修改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)'

2.编写脚本文件build.sh

NDK=/work/android-ndk-r10e
SYSROOT=$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-yasm \
--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=~/ffmpeg/$CPU
ADDI_CFLAGS="-marm"
build_one
注意NDK,SYSROOT,TOOLCHAIN换成自己本机的地址

添加build.sh的权限

chmod -R 777 build.sh


执行

./build.sh

如果出现

WARNING: /work/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-pkg-config not found, library detection may fail.
可以忽略

然后执行
make
make install
接着在目录

~/android/arm

就有我们需要的文件

drwxrwxr-x 2 byhook byhook 4096 12月  3 23:58 bin
drwxrwxr-x 9 byhook byhook 4096 12月  3 23:58 include
drwxrwxr-x 3 byhook byhook 4096 12月  3 23:58 lib
drwxrwxr-x 3 byhook byhook 4096 12月  3 23:58 share


参考

/article/2959464.html

未完待续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: