版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chezi008/article/details/68949041
使用ndk编译ffmpeg
参考:http://blog.chinaunix.net/uid-26000296-id-5579384.html
- 进入ffmpeg官网,http://ffmpeg.org/ 下载最新版的ffmpgeg压缩包。
- 之后修改ffmpeg-3.0.1/configure文件
将该文件中的如下四行:
SLIBNAME_WITH_MAJOR=’
(LIBMAJOR)’
LIB_INSTALL_EXTRA_CMD=’$$(RANLIB)”$(LIBDIR)/$(LIBNAME)”’
SLIB_INSTALL_NAME=’$(SLIBNAME_WITH_VERSION)’
SLIB_INSTALL_LINKS=’ (SLIBNAME)’
替换为:
SLIBNAME_WITH_MAJOR=’ (FULLNAME)- (SLIBSUF)’
LIB_INSTALL_EXTRA_CMD=’$$(RANLIB)”$(LIBDIR)/$(LIBNAME)”’
SLIB_INSTALL_NAME=’$(SLIBNAME_WITH_MAJOR)’
SLIB_INSTALL_LINKS=’$(SLIBNAME)’
3. 进入解压的文件目录并创建文件ndk_build_config.sh文件
#!/bin/bash
NDK=/opt/android/ndk/android-ndk-r10e
SYSROOT=$NDK/platforms/android-9/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
function build_one
{
./configure \
--prefix=$PREFIX \
--enable-shared \
--disable-static \
--disable-doc \
--disable-ffserver \
--enable-gpl\
--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)/android/$CPU
ADDI_CFLAGS="-marm"
build_one
- 编译运行
$ chmod a+x ndk_build_config.sh
$ ./ndk_build_config.sh
$ make
$ make install