Android平台--基于FFmpeg的播放器开发--Android NDK编译FFmpeg【01】

编译环境:Ubuntu 16.04_amd64

注意:一定要是64位系统,否则编译时会出现/home/XXX/Work/Android/android-ndk-r17/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc is unable to create an executable file.
C compiler test failed这个错误

一、软件包安装路径:

           ffmpeg: https://pan.baidu.com/s/1F8cpcqcMWNjHGm5QoweMJw

           Android Ndk(x86_64bit):https://pan.baidu.com/s/15ORTCwzQ9jiVOhhTKQGTlw

二、Android NDK安装

          1.压缩包直接解压

          2.更改~/.bashrc文件,在文件最后末尾追加

               export NDK_HOME="home/XXX/work/android/android-ndk-r9d"

               export PATH = $PATH:$NDK_HOME

         3. sudo source ~/.bashrc

         4. 终端输入ndk-build如果可以找到,说明ndk已经安装成功

三、ffmpeg安装

         1.压缩包直接解压

         2.更改configure文件,保证生成的so按照Android的标准,文件名以.so结尾

 
             +SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'  
             +LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'  
             +SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'  
             +SLIB_INSTALL_LINKS='$(SLIBNAME)'

         3.创建ffmpeg编译脚本

              #!/bin/bash  

              export NDK=/home/XXX/work/android/android-ndk-r9d  #ndk目录

              SYSROOT=$NDK/platforms/android-14/arch-arm/   #编译时头文件和lib文件寻找路径
              TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64 #编译工具链
              CPU=arm  #cpu类型
              PREFIX=./android/$CPU #编译生成路径
             ADDI_CFLAGS="-marm"


             config_para()
             {
         ./configure \
         --prefix=$PREFIX \
         --enable-shared \
         --disable-static \
         --disable-doc \
         --disable-ffmpeg \
         --disable-ffplay \
         --disable-ffprobe \
         --disable-avdevice \
         --disable-doc \
         --disable-symver \
         --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
         --target-os=linux \
         --arch=arm \
         --enable-cross-compile \
         --sysroot=$SYSROOT \
         --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
         --extra-ldflags="$ADDI_LDFLAGS" \
         $ADDITIONAL_CONFIGURE_FLAG
                 make clean
                 make
                 make install
             }

            config_para  

  四、编译ffmpeg

             sudo ./build_android.sh

              编译后会在android目录下生对应的so和头文件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值