一、ffmpeg编译成android使用的so库

1.在https://ffmpeg.org/中下载ffmpeg源码(目前版本为ffmpeg-3.2.1)

2.下载ndk

3.分别解压ffmpeg和ndk, 路径如 : 

ffmpeg路径:

/home/lx/Downloads/ffmpeg-3.2.1

ndk路径: 

/home/lx/Downloads/android-ndk-r13b

4.替换ffmpeg-3.2.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)'

5.在ffmpeg-3.2.1/目录下创建一个build_android文件,内容为

#!/bin/bash

NDK=/home/lx/Downloads/android-ndk-r13b
SYSROOT=$NDK/platforms/android-19/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64

CPU=arm
ARCH=arm
PREFIX=$(pwd)/android/$CPU

ADDI_CFLAGS="-marm"

export NDK
export SYSROOT
export TOOLCHAIN
#注意下面的 \ 后面不要带空格
./configure \
    --prefix=$PREFIX \
    --arch=$ARCH \
    --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
    --extra-ldflags="$ADDI_LDFLAGS" \
    --sysroot=$SYSROOT \
    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
    --target-os=linux \
    --enable-cross-compile \
    --enable-gpl \
    --enable-shared \
    --disable-static \
    --disable-doc \
    --enable-small \
    --disable-programs \
    --disable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --disable-ffserver \
    $ADDITIONAL_CONFIGURE_FLAG

make

make install

6.在命令行下添加可执行权限 chmod +x  build_android

7.在命令行下执行 ./build_android

8.生成的lib和include在 ffmpeg-3.2.1/如下 目录下

lx@ubt:~/Downloads/ffmpeg-3.2.1/android/arm$ ls
include  lib


lx@ubt:~/Downloads/ffmpeg-3.2.1/android/arm/include$ ls
libavcodec  libavdevice  libavfilter  libavformat  libavutil  libpostproc  libswresample  libswscale

lx@ubt:~/Downloads/ffmpeg-3.2.1/android/arm/lib$ ls
libavcodec-57.so  libavdevice-57.so  libavfilter-6.so  libavformat-57.so  libavutil-55.so  libpostproc-54.so  libswresample-2.so  libswscale-4.so  pkgconfig
libavcodec.so     libavdevice.so     libavfilter.so    libavformat.so     libavutil.so     libpostproc.so     libswresample.so    libswscale.so
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值