go 编译so android,ffmpeg 编译android so库文件-Go语言中文社区

本文介绍了如何在Ubuntu 16.04环境下,使用ffmpeg 3.3源码和android-ndk-r13b编译适用于Android的SO库。主要步骤包括修改ffmpeg configure文件,创建并执行编译脚本build_android.sh,最终生成的库文件位于android/arm目录下。
摘要由CSDN通过智能技术生成

#ffmpeg 编译android so库文件

ffmpeg是现在主流播放器和直播软件中常用的库,主要用于视频的编解码,下面主要介绍一下,ffmpeg如何在android平台上使用。ffmpeg想在android上使用,一般都是在官网下载源码,然后编译成相应的so库。

参考了好几篇网上的博客,利用其提供的shell脚本编译,总是报 文件找不到或者编译参数错误:

Unknown option "--disable-ffserver".

See ./configure --help for available options.

Makefile:2: ffbuild/config.mak: No such file or directory

Makefile:40: /tools/Makefile: No such file or directory

...

最后老老实实下载老的版本的ffmpeg(3.0和3.3都编译通过)和ndk才解决。

运行环境

、ubuntu 16.04

、ffmpeg-3.3.tar.gz

、android-ndk-r13b-linux-x86_64.zip

ffmpeg 下载:

wget http://ffmpeg.org/releases/ffmpeg-3.3.tar.gz

通过改变版本号下载不同版本

android-ndk-r13b 下载:

https://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip

Node:注意下载对应版本和系统的ndk,之前直接把windows系统的ndk拷贝到ubantu下,导致后面编译找不到文件

##编译

1、下载ffmpeg后解压后,将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='$(SLIBNA

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值