ijkplayer轻松编译 By Win10子系统

引言

很早以前写过一篇关于FFMPEG的编译,然后把玩了下FFMPEG,发现挺不容易的,后来对视频这块就没再动过过。

最近项目涉及视频类,需重新拾起视频模块,找了很多开源项目,最终还是定位ijkplayer:B站开源的基于FFmpeg的轻量级Android/iOS视频播放器,网上资料较多,官方也有维护,封装了和mediaplayer差不多的接口,评价挺高,所以加进来试试水!

一、如何使用ijkplayer

Github地址 : https://github.com/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.jianshu.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 https://github.com/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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,806评论 25 707
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,700评论 2 59
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,694评论 0 3
  • 1、ijkplayer简介 ijkplayer是一个基于FFmpeg的轻量级Android/iOS视频播放器。FF...
    我叫王凯阅读 70,976评论 24 44
  • 靠墙站并不是简单的站立,也不是罚站的那种随意的姿势,它是一种特殊的矫正身体姿势的一种方法;这样做的好处可以矫正...
    快乐自由与爱的源泉阅读 7,599评论 0 5