随着自媒体和音视频行业的兴起,以及产品对移动端跨平台业务的需求,伴随而来的是对开发人员工作量的增加已及工作难度的增大,比如音视频的播放需要支持市面上涵盖95%的音视频格式,那么Android原生播放器是无法满足的,这个时候我们就可以考虑ijkplayer了。 ijkplayer 官方地址:https://github.com/bilibili/ijkplayer 至此一个大众化的ijkplayer库已经添加好了,没有什么特殊要求的话直接用就好啦!然后使用方法和MediaPlayer大同小异,这里就不讲述怎么使用了,Google一下就很多。 首先说下我的编译环境是: Ubuntu-16.04.6-server-amd64 接着是配置环境变量: 验证配置是否生效:ndk-build -v 说明一下:如果想编译所有版本的so库,就跟all,如果只想编译特定
编前记
先给大家介绍一下什么是ijkplayer,ijkplayer是bilibili(哔哩哔哩)自研的一款开源的基于FFMPEG轻量级Android/Ios音视频播放器,具有易于集成的api和编译配置可裁剪的特性,以及高度的可定制开发的特性而深受广大开发者的喜爱,所以被广大开发者和使用者亲切的称为 “ B ” 站。如何使用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' }
ijkplayer编译so库
sdk官网下载:https://tools.android-studio.org/index.php/sdk
建议使用:Android-sdk_r24.4.1-linux
ndk官网下载:https://developer.android.google.cn/ndk/downloads/older_releases
建议使用NDK的版本:NDK r10e1. $ sudo vim /etc/profile,在文件末尾加入如下内容: 2. export ANDROID_SDK=/home/yh/android-sdk-linux 3. export PATH=$ANDROID_SDK/tools:$PATH 4. export ANDROID_NDK=/home/yh/ndk/android-ndk-r10e/ 5. export PATH=$ANDROID_NDK:$PATH 6. 保存并退出 7. $ source .bashrc // 使得配置的环境变量生效
控制台打印如上日志,至此 android NDK 安装配置完毕。
sudo apt-get install git sudo apt-get install make sudo apt-get install yasm
1. git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android // 拉取ijkplayer源码 2. cd ijkplayer-android // 进入源码目录 3. git checkout -B latest k0.8.8 // 新建一个分支
./init-android.sh // 初始化Android脚本
1.如果您喜欢更多编解码器/格式 cd config // 进入config目录 rm module.sh // 删除module.sh脚本 ln -s module-default.sh module.sh // 指定默认脚本软连接到module.sh source module.sh // 重新执行刚修改的文件初始化,使之立即生效 2.如果您希望使用较小的编解码器/格式来获得较小的二进制大小(包括hevc函数) cd config rm module.sh ln -s module-lite-hevc.sh module.sh source module.sh 3.如果您希望使用较小的编解码器/格式来获得较小的二进制大小(默认情况下) cd config rm module.sh ln -s module-lite.sh module.sh source module.sh 这里我们就选择第1个,不要问我为什么,小朋友都知道越多越好 然后修改 module-default.sh,在文件末尾追加如下两行 export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bzlib"
1. cd .. // 返回上一级目录 2. ./init-android-openssl.sh // 执行初始化支持https脚本
1. cd android/contrib // 进入contrib目录 2. ./compile-openssl.sh clean 3. ./compile-ffmpeg.sh clean
1. ./compile-openssl.sh all //大概5分钟左右吧(看服务器的配置)
./compile-ffmpeg.sh all
CPU架构就直接跟cpu架构名称,例如:./compile-ffmpeg.sh armv7a 就好啦!
cd .. ./compile-ijk.sh armv7a
稍作等待ing...编译成功后,当前目录下的ijkplayer的里面的库和文件就更新了。导出ijkplayer项目作为library依赖就可以了。
最后说一下该如何使用编译好的库文件了:
最后感谢大家的阅读,你的关注和转发是我无限的动力…
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算