MAC系统下利用NDK编译可供Android使用的FFmpeg(3.2.4)库

           最近在初步学习播放器,今天编译了FFmpeg库给Android使用。

         Step  1:首先在MAC上安装NDK,我这里使用的是ndk-r10e;

         Step  2:去FFmpeg官网下载对应的源码;

         Step  3: 将下载后的NDK进行解压,我这里直接放到桌面了,/Users/SkyLight/Desktop/ndk-r10e/android-ndk-r10e

                         文件目录如下:

                        

         Step  4: 将下载后的FFmpeg进行解压,我这里直接直接放到桌面了,/Users/SkyLight/Desktop/ffmpeg-3.2.4

    Step 5: 编写sh脚本: 如build.sh,内容如下:

            

      #!/bin/bash

      #这里的路径需要修改为你自己的ndk路径

      NDK=/Users/SkyLight/Desktop/ndk-r10e/android-ndk-r10e

      #注意android-9文件夹的版本号,替换好自己的版本号

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

      #把这里的路径替换好自己的版本号

      TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-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)/android/$CPU

      ADDI_CFLAGS="-marm"

      build_one

    Step 6:把写好的build.sh放到ffmpeg-3.2.4目录下

          

            

      Step 7: 修改一下ffmpeg源码下configure文件, 我这里是用xcode打开的,

                      找到如下代码: 

                 SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'

                 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_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)'

      Step 8:运行行build.sh脚本

                

                 mcj1688deMacBook-Pro:~ SkyLight$ cd /Users/SkyLight/Desktop/ffmpeg-3.2.4 

                 mcj1688deMacBook-Pro:ffmpeg-3.2.4 SkyLight$ ./build.sh

         

        Step 9:运行行build.sh脚本     

              

           如果运行过程中出现上述WARNING,可以忽略

      Step 10:执行make

           mcj1688deMacBook-Pro:ffmpeg-3.2.4 SkyLight$ make

      Step 11:执行make install

      Step 12:此时在ffmpeg-3.2.4目录下会出现一个android文件夹, 进入到arm目录

            

    图片中的include目录下就是所要的头文件,lib目录下就是so库文件。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值