FFmpeg之一编译ForAndroid

这篇博客详细介绍了在Ubuntu环境下,如何编译FFmpeg以适应Android平台。作者提供了从下载NDK到配置编译参数的步骤,并强调了配置过程中需要注意的细节,如指定临时目录、NDK路径、Platform版本等。最终,编译生成的库文件需要进行适当的清理,以便在Android项目中使用。
摘要由CSDN通过智能技术生成

首先,被这部分烦的不行的可以去github里clone一些别人的成品轻松拿到适合Android的编译结果


说下自己的环境
win10 x64
VMware® Workstation 12 Pro
ubuntu 14.04 LTS
android-ndk-r10b
ffmpeg3.0.2


Step1

android-ndk-r10b的安装,超级简单,去官网按照自己的配置下载一个,然后放到你习惯的目录下(我直接放/目录下了)。最后export配置下就好了

export NDK_HOME=/android-ndk-r10b
export PATH=$NDK_HOME:$PATH

Step2

到ffmpeg的官网下载最新的源码包http://www.ffmpeg.org/。并解压到你习惯的位置(我这里依然解压在/根目录下)然后对他的配置文件稍作修改,原因是为了让编译出来的so库适合Android。

su gedit /ffmpeg-3.0.2/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)'

这里无脑改即可,不需要做其它修改。

Step3

这步卡死了枭雄无数,关键在于网上很多说明不是很详细;其实就是一个configure的参数(至于参数的意思自己–help查看哈),ffmpeg的参数比较多根据个人的不同要求可以有不同的配置,网上很多写成*.sh的文件都是可以用的,只不过不清楚里面几个变量的意思含义的话很容易报错卡这里。我也是在这里卡了好一会,感谢github上大神的详解,这里抄袭下:

1.指定临时目录
export TMPDIR=/home/djia/tmpdir
指定一个临时目录,可以是任何路径,但必须保证存在,ffmpeg编译要用;

2.指定NDK路径
NDK=/home/djia/android/android-ndk-r10

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值