FFmpeg编译成.so文件

2018-03-14  本文已影响0人  暗香浮

Mac系统: 10.13.1

FFmpeg 版本 3.2

NDK版本:ndk-r10e

主要是分为4步骤:

1. 将ffmpeg根目录下面的configure文件中的 四个参数改成以下路径: SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'

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. 在ffmpeg根目录下新建一个build_android.sh文件,编辑里面内容为:

#!/bin/bash

# NDK的路径,根据自己的安装位置进行设置 

NDK=/Users/jiuge/Downloads/android-ndk-r10e

SYSROOT=$NDK/platforms/android-21/arch-arm/

TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64

CPU=arm

#编译后的文件会放置在 当前路径下的android/arm/下

PREFIX=$(pwd)/android/$CPU

ADDI_CFLAGS="-marm"

#./configure 即为ffmpeg 根目录下的可执行文件configure

#你可以在ffmpeg根目录下使用./configure --hellp 查看 ./configure后可填入的参数。

./configure --target-os=linux \

        --prefix=$PREFIX --arch=arm \

        --disable-doc \

        --enable-shared \

        --disable-static \

        --disable-yasm \

        --disable-symver \

        --enable-gpl \

        --disable-ffmpeg \

        --disable-ffplay \

        --disable-ffprobe \

        --disable-ffserver \

        --disable-doc \

        --disable-symver \

        --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \

        --enable-cross-compile \

        --sysroot=$SYSROOT \

        --extra-cflags="-Os -fpic $ADDI_CFLAGS" \

        --extra-ldflags="$ADDI_CFLAGS" \

        $ADDITIONAL_CONFIGURE_FLAG

make clean

make

make install

其中需要注意的是前面三个参数的路径,千万不要弄错,我就弄错了,导致编译一直失败;

3. 取得权限:chmod +x build_android.sh

4运行 ./build_android.sh, 即可在ffmpeg根目录下面生成 android文件,里面就是一些你需要的文件。

其中需要注意的几个命令 git clone (ffmpeg git路径)ffmpeg;

vim configure 查看configure文件,以及编辑;touch build_android.sh, 生成sh文件。


上一篇 下一篇

猜你喜欢

热点阅读