linux下ffmpeg编译成so文件,一、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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值