ijkplayer轻松编译 By Win10子系统
引言
很早以前写过一篇关于FFMPEG的编译,而后把玩了下FFMPEG,发现挺不容易的,后来对视频这块就没再动过过。
最近项目涉及视频类,需重新拾起视频板块,找了很多开源项目,最终还是定位ijkplayer:B站开源的基于FFmpeg的轻量级Android/iOS视频播放器,网上资料较多,官方也有维护,封装了和mediaplayer差不多的接口,评价挺高,所以加进来试试水!
一、如何使用ijkplayer
Github地址 : Bilibili/ijkplayer?
# required
allprojects {
? ? repositories {
? ? ? ? jcenter()
? ? }
}
dependencies {
? ? # required, enough for most devices.
? ? compile ‘tv.danmaku.ijk.media:ijkplayer-java:0.8.8’
? ? compile ‘tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8’
? ? # Other ABIs: optional
? ? compile ‘tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8’
? ? compile ‘tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8’
? ? compile ‘tv.danmaku.ijk.media:ijkplayer-x86:0.8.8’
? ? compile ‘tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.8’
? ? # ExoPlayer as IMediaPlayer: optional, experimental
? ? compile ‘tv.danmaku.ijk.media:ijkplayer-exo:0.8.8’
}
只要将以上Gradle配置引入板块中就可。
但是这样引入会导致项目过于庞大,所以自行编译的优势就出来了,易于裁剪大小,还有一点ijkplayer默认不支持HTTPS。
二、如何编译ijkplayer并支持Https
①环境选择:Ubuntu、Linux、Mac
这里我们选择Win10子系统,相信还有人没用过吧,其实是Windows内置了Linux子系统了,无需开虚拟机、无需重启切系统。
好了,至于Win10子系统如何配置,请看:https://www.songma.com/p/13122abcec50?–Win10子系统下FFMPEG编译
有什么配置问题可以提问或者者自行Google。
①编译ijkplayer
Step 1:安装Git与yasm
sudo apt-get install git
sudo apt-get install yasm
Step 2:下载,配置Android SDK与NDK
注意:NDK的最小配置需要>=r10e,而且需要的是Linux 64 位 (x86) 别忘了~
地址:https://developer.android.google.cn/ndk/downloads/
设置修改下:.bashrc文件,把SDK和NDK配置上:
命令:vim ~/.bashrc,打开并在最后加入以下配置(这个是我配置,大家可以把【】内容改为自己的)
#========AndroidHome========#
export ANDROID_SDK=/mnt/【d/androidSDK/AndroidSDK/AndroidSDK(这个就是你电脑上SDK的路径)】
export PATH=$ANDROID_SDK/platform-tools:$PATH
export PATH=$ANDROID_SDK/tools:$PATH
export ANDROID_NDK=/mnt/【d/androidNDK/android-ndk-r10e(这个就是你电脑上NDK的路径)】
export PATH=$ANDROID_NDK:$PATH
而后source .bashrc,键入ndk-build -v?看有没有东西输出?
验证配置能否生效。这里不贴图了,啦啦啦~~~
Step 3:拉取ijkplayer源码
git clone Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.8.8
拉取完默认的路径是:/mnt/【c/Users/zlq(User)】/ijkplayer-android/android/ijkplayer
Step 4:初始化android
./init-android.sh
Step 5:编译脚本配置
rm module.sh
ln -s module-lite.shmodule.sh
source module.sh
这个官方给的最小定制,就是自动化编译时的少量配置选项,比方支持什么协议啊,支持什么音视频类型等, 大家可以看github地址中的Before Build这一项,这里不多说了。
Step 6:初始化android支持Https
cd ..
./init-android-openssl.sh
Step 7:清理一波
cd android/contrib
./compile-openssl.sh clean??
./compile-ffmpeg.sh clean
Step 8:编译openssl
./compile-openssl.sh all
这一波够慢~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Step 9:编译ffmpeg
./compile-ffmpeg.sh all
这里的话看你需要,假如想编译所有版本的so库,就跟all,假如是特定?
CPU架构就跟cpu架构,比方:./compile-ffmpeg.sh armv7a?
编译特定需要的一定是比一律耗时短~
Step 10:编译ijkplayer
./compile-ijk.sh all
加all默认编译所有架构的so库,不加默认只编译armv7a架构!
到此,编译一个支持HTTPS的ijkplayer就完成了。
root@DESKTOP-9P4FC7N:/mnt/c/Users/zlq/ijkplayer-android/android/ijkplayer# ls
build.gradle? ? ? gradlew? ? ? ? ? ijkplayer-armv5? ? ijkplayer-exo? ijkplayer-x86_64
gradle? ? ? ? ? ? gradlew.bat? ? ? ijkplayer-armv7a? ijkplayer-java? settings.gradle
gradle.properties? ijkplayer-arm64? ijkplayer-example? ijkplayer-x86? tools
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » ijkplayer轻松编译 By Win10子系统