Android直播

编译ijkplayer,并支持https

2019-10-15  本文已影响0人  echoSuny

          ijkplayer是B站开源的视频框架,基于FFmpeg。具体的大家可以去百度了解,大家也可以去GitHub-https://github.com/Bilibili/ijkplayer的官方demo去了解。ijkplayer是不支持https的,所以当大家在gradle中引入依赖之后使用,如果你的视频地址是https开头的话,是播放不了的。所以如果要支持https的话就需要自己编译。本次的编译环境是Mac和Android Studio。

首先需要在电脑上安装homebrew,git和yasm。

安装homebrew:

打开终端输入:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装git,如果已经安装跳过即可:

终端下输入:brew install git

安装yasm,如果已经安装跳过即可:

终端下输入:brew install brew

最后需要配置SDK和NDK。一般SDK都会有,NDK的如果没有配置的话则需要去下载,下面是官方的下载链接:https://developer.android.google.cn/ndk/downloads/older_releases。建议下载android-ndk-r14b。第一次我下载的是最新的,可是编译的时候失败了,最后百度了一波才明白官方lib用的是比较旧的版本,最好是小于14。最后需要在.bash_profile中添加配置(如果没有.bash_profile,在根目录下新即可),另外.bash_profile是隐藏文件,使用command+shift+.可以查看和隐藏。最后配置完大概是这样的:

配置完了别忘了command+s保存。

下面就要开始编译:

1.打开终端,随意cd进去一个目录,然后git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android。clone完之后输入cd ijkplayer-android和git checkout -B latest k0.8.8

2.官方提供了三种配置选项,可以去最上方官方网站了解一下。下面我们是用的默认配置选项:

cd config

rm module.sh

ln -s module-lite.sh module.sh

分别在终端内输入以上三个命令。

3.终端内输入cd ..返回到上一层目录,然后输入./init-android.sh,尽量保持网络通畅。

完成之后输入./init-android-openssl.sh

4.第三步完成之后需要清除一下

cd android/contrib

./compile-openssl.sh clean.

/compile-ffmpeg.sh clean

5.终端内输入./compile-openssl.sh all来编译openssl,完成之后输入./compile-ffmpeg.sh all编译FFmpeg。最后是编译ijkplayer:./compile-ijk.sh all(可能会话比较长的时间,请耐心等待)

6.经过漫长的等待之后终于编译完了。打开finder,进入第一步新建的文件夹,依次进入ijkplayer-android,android,ijkplayer,当你看到如下图红色圆圈内的不同架构的so库,就表示编译成功了

关于如何使用:

其实就当作普通的library来使用就可以了。打开你的studio,选择new-import moudle然后根据刚才的路径一步步选择最后确定导入就可以了。如果你觉得这么多library看着很不爽的话,可以只选择导入ijkplayer-java这个库。导入完成之后首先需要在你的项目gradle中添加

然后打开ijkplayer-java的build.gradle把最下面一行注掉:

最后在ijkplayer-java的libs中拷入刚才编译好的so库:

最后可以在主app中根据官方demo中的调用方式使用就可以了。其实就是ijkplayer-example,就在编译好的一堆so库当中。

上一篇 下一篇

猜你喜欢

热点阅读