ijkplayer轻松编译 By Win10子系统

作者 : 开心源码 本文共2778个字,预计阅读时间需要7分钟 发布时间: 2022-05-12 共114人阅读

引言

很早以前写过一篇关于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子系统

发表回复