本文编译环境:
- Ubuntu 18.04
- NDK 21.0.6113669
初识ffmpeg,必然会亲自动手编译ffmpeg。然而,虽然网上ffmpeg的编译资料非常多,但是参照着编译不是这里报错,就是那里报错。甚至有部分无良开发者毫无开源精神,把自己编译的库文件放到网站上让别人付积分或者付费下载。这里就为大家介绍一种傻瓜式编译ffmpeg的方法。
首先我们到github上面下载这个开源项目:https://github.com/Javernaut/ffmpeg-android-maker
这个项目是Javernaut大神开发的,目前已支持到ffmpeg 4.2.3。项目文件很小,只有100多KB,执行编译脚本ffmpeg-android.maker.sh后会自行去ffmpeg官网下载源码并进行编译。ffmpeg-android-maker的文件:
1.png
1. 配置环境变量
按照ffmpeg-android-maker项目要求,我们只需要配置以下两个环境变量(已配置环境变量的可跳过):
- ANDROID_SDK_HOME
- ANDROID_NDK_HOME
然后执行ffmpeg-android-maker.sh就可以正常编译ffmpeg了。所以,我们编辑~/.profile或者~/.bashrc加入环境变量配置:
export ANDROID_SDK_HOME=/home/qxt/dev/sdk
export ANDROID_NDK_HOME=/home/qxt/dev/sdk/ndk-bundle
export PATH=$PATH:$ANDROID_SDK_HOME/tools:$ANDROID_SDK_HOME/platform-tools:$ANDROID_NDK_HOME
编辑完保存,然后source一下~/.profile或者~/.bashrc使环境变量生效。
2. 编译
执行编译脚本: ./ffmpeg-android.maker.sh
编译后:
2.png
output是编译输出文件目录,里面有头文件和库文件:
3.png
库文件:
4.png
编译完成后,我们只需要把头文件和库文件导入到AndroidStudio中,编写JNI调用ffmpeg api就可以了。
最后,这个只是傻瓜式的编译教程,仅适合刚接触ffmpeg的童鞋,如果需要更深入的学习ffmpeg,还是非常有必要了解它的编译过程的,这个就交给童鞋们自己研究一下吧。
网友评论