Android视频播放器ijkplayer源码编译

Author Avatar
wshunli 6月 26, 2018
  • 在其它设备中阅读本文章

Ubuntu 16.04 LTS 系统下编译 ijkplayer Android 源码。

前面介绍过 ijkplayer 的使用,要想支持更多的特性,还是需要编译下源码的。

本文编译源码的主要目的是支持更多的格式,以及支持 HTTPS 链接。

NDK 版本:android-ndk-r10e

ijkplayer 仓库地址 https://github.com/Bilibili/ijkplayer

环境准备

0、最好还是在 Ubuntu 环境下编译,在 Windows 下编译可以参考

https://blog.csdn.net/u010072711/article/details/51354834

并不推荐此方法。

1、然后需要有 Java 及 Android 环境,可参考

https://www.wshunli.com/posts/80d94eb7.html

2、编译之前,还要准备一些工具

sudo apt-get update
sudo apt-get install git
sudo apt-get install yasm

源码编译

1、从 GitHub 拉取源码,并打开源码目录

git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android

2、切换到指定版本,可在源码仓库查看

git checkout -B latest k0.8.8

3、配置参数(可选操作,为了支持更多格式)

参数配置一共有三种方式,选择一种即可。

(1) 为支持更多的格式,我们选这种

cd config
rm module.sh
ln -s module-default.sh module.sh
cd ..

(2) 支持 hevc 功能,而且精简后的库

cd config
rm module.sh
ln -s module-lite-hevc.sh module.sh
cd ..

(3) 精简后的库,默认是这种配置

cd config
rm module.sh
ln -s module-lite.sh module.sh
cd ..

4、初始化,主要是拉取 ijkplayer 的依赖等,输入命令

./init-android.sh

初始化 openssl (可选操作,为了支持 HTTPS )

./init-android-openssl.sh

5、打开 ijkplayer-android/android/contrib/ 目录,Android 下编译脚本就放在该目录下

cd android/contrib

6、清理并编译 openssl 依赖(可选操作,为了支持 HTTPS )

./compile-openssl.sh clean
./compile-openssl.sh all

7、清理并编译 ffmpeg 软解码库依赖

./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all

如果遇到问题 fatal error: linux/perf_event.h: No such file or directory

可参考:https://github.com/Bilibili/ijkplayer/issues/4125

在 module-default.sh、module-lite-hevc.sh 中添加如下一行配置即可。

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf"

8、然后返回上级到 ijkplayer-android/android/ 目录,编译源码

cd ..
./compile-ijk.sh all

等待编译完成即可。

导入使用

打开 Android Studio 并导入 ijkplayer-android/android/ijkplayer/ 即可。

ijkplayer-build

在这个项目中 module 比较多,大多数是针对不同 CPU 架构的包。

参考资料
1、Android 超好用的播放器——ijkplayer - 简书
https://www.jianshu.com/p/c5d972ab0309
2、IJKPlayer初识-编译与使用 - 简书
https://www.jianshu.com/p/a425ee1c2aec
3、在ubuntu下编译ijkplayer-android - CSDN博客
https://blog.csdn.net/u010072711/article/details/51438871
4、Android集成IjkPlayer - 简书
https://www.jianshu.com/p/79b434b2d5c8
5、Ubuntu编译ijkplayer支持https和更多视频格式 - CSDN博客
https://blog.csdn.net/DyncKathline/article/details/78223972
6、Android,ijkplayer增加https协议支持,编译运行ijkplayer - CSDN博客
https://blog.csdn.net/linchaolong/article/details/52805666

如果本文对您有所帮助,且您手头还很宽裕,欢迎打赏赞助我,以支付网站服务器和域名费用。 https://paypal.me/wshunli 您的鼓励与支持是我更新的最大动力,我会铭记于心,倾于博客。
本文链接:https://www.wshunli.com/posts/45f072c2.html