都是一样的…)
不要问我Windows上怎么编译,反正我只会Ubuntu和MAC上编译!
笔者在Ubuntu 14.04 和 MAC OS 10.13 上都编译成功了,
在使用Ubuntu编译的时候有个坑要注意:
不要把项目克隆到外部硬盘,比如我电脑120G的SSD
还挂了一个1T的机械硬盘,一开始就clone到机械硬盘上了,然后编译
一堆问题,什么ln无法建立链接,chmod命令无效之类的,没把我给毒死,
后面clone到SSD 上一点毛病也没有,全程绿灯!
Step 1:安装Git与yasm:
sudo apt-get install git sudo apt-get install yasmStep 2:下载,配置SDK与NDK
sdk就不说了,你开发安卓肯定会有的,NDK一般是不默认下载的,
这里也不建议你使用SDK Manager下载的NDK,之前试过有些许问题,
NDK的最小版本支持是10e,目前不支持NDK 15!
接着是配置环境变量:
Ubuntu:
设置修改下:.bashrc文件,把SDK和NDK配置上:


然后source .bashrc,键入ndk-build -v 看有没有东西输出
验证配置是否生效。

MAC:
打开终端,cd到根目录(cd ~),然后新建一个.bash_profile的文件:
进行如下配置

然后输入source .bash_profile,键入ndk-build -v 验证:

Step 3:拉取ijkplayer源码
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android cd ijkplayer-android git checkout -B latest k0.8.4Step 4:初始化android
./init-android.shStep 5:编译脚本配置
就是自动化编译时的一些配置选项,比如支持什么协议啊,支持什么音视频类型等,
这个配置文件是:config/module.sh,你喜欢可以打开看看这个文件:
比如这里是配置处理什么类型的数据的,enable启用,disable禁用。

另外官方给我们提供了三个模板给我们使用:

module-default.sh:默认,如果你喜欢更多类型可以用这个;
module-lite-hevc.sh:如果您更喜欢较小的二进制大小的编/格式(包括hevc功能)
module-lite.sh:如果您更喜欢较小的二进制大小的编/格式(默认情况下)
反正体积最小,就用module-lite.sh这个就行了,使用也很简单:
rm module.sh ln -s module-lite.sh module.sh source module.sh
到此你还可以打开module.sh自行进行修改,比如我只想它支持mp3,
其他格式都不支持,那么可以把不想支持的格式的enable改成disable。
Step 6:初始化android支持Https
cd .. ./init-android-openssl.sh
注:如果出现NDK或者SDK找不到,可以执行一下source ~/.bash_profile
Step 7:清除一波
cd android/contrib ./compile-openssl.sh clean ./compile-ffmpeg.sh cleanStep 8:编译openssl
./compile-openssl.sh allStep 9:编译ffmpeg
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-62242-2.html
“台湾区渔业广播电台”报了三十几年钓鱼台的天气