Android平台移植FFmpeg(一)

2018-03-21  本文已影响0人  沉默的菋道

一、准备工作

1、打开terminal(终端)
2、cd ~ ( 进入当前用户的home目录)
3、open .bash_profile (打开.bash_profile文件,如果文件不存在就 创建文件:touch .bash_profile 编辑文件:open -e bash_profile)
4.添加配置如下:
export PATH=${PATH}:$NDK_ROOT:/Users/Library/Android/sdk/platform-tools
export NDK_ROOT=/Users/用户/work/work/ndk/android-ndk-r14b
export PATH=$PATH:$NDK_ROOT
保存后退出

二、编译FFmpeg

我们这里编辑android全架构支持的ffmpeg,需要ndk的交叉编译工具提供支持。
Android中支持以.so 结尾的动态库,例如:libavcodec-57.so,而FFmpeg源码默认编译出来的是这种形式的文件libavcodec.so.57,这显然不能直接被使用,我们需要修改下ffmepg根目录下的configure文件,使其生成android可以引用的标准动态库文件,更改如下:
将 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)'

下载构建脚本,并修改内部配置信息,下载后放脚背文件放到ffmepg-3.3.5根目录下。

感谢大神的无私分享🙏🙏
下载链接:https://github.com/yhaolpz/ffmpeg-command-ndkBuild

打开terminal(终端),进入构建脚本目录,输入build_all.sh开始构建,构建时间会比较长,你可以从一杯咖啡静静等待,好了,打完收工!

上一篇 下一篇

猜你喜欢

热点阅读