ijkPlayer编译流程记录

ijkplayer是基于FFmpeg的开源的移动平台视频播放器,跨平台支持Android和IOS,支持本地播放和在线视频播放,有点类似google的开源播放器ExoPlayer,想从C底层了解视频播放的过程,ijkplayer是一个非常值得学习的开源项目。

主要先介绍下ijkplayer的编译过程:

ijkplayer-proccess

clone ijkplayer code source

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

clone

checkout latest branch

cd ijkplayer-android
git checkout -B latest k0.7.7.1

clone

init compile source

下载ffmpeg和libyuv的源码

从远程仓库下载编译所需要的源码,

./init-android.sh

Created with Raphaël 2.1.0 Start pull ffmpeg base pull ffmpeg fork (armv5/armv7/arm64/x86/x86_64)

init

init

compile ffmepg

cd android/contrib
./compile-ffmepg.sh clean
./compile-ffmpeg.sh all

compile ffmpeg

compile ffmpeg

compile ffmepg

compile ffmpeg

compile-ffmpeg

compile-ffmpeg

compile ijkplayer

cd ..
./compile-ijk.sh

compile-ijk

compile-ijk

编译完成打开官方工程

官方Android工程的文件夹在android/ijkplayer中,结构如下:

.
├── build
│   ├── generated
│   └── intermediates
├── build.gradle
├── gradle
│   └── wrapper
├── gradle.properties
├── gradlew
├── gradlew.bat
├── ijkplayer-arm64
│   ├── build
│   ├── build.gradle
│   ├── gradle.properties
│   ├── ijkplayer-arm64.iml
│   ├── proguard-rules.pro
│   └── src
├── ijkplayer-armv5
│   ├── build
│   ├── build.gradle
│   ├── gradle.properties
│   ├── ijkplayer-armv5.iml
│   ├── proguard-rules.pro
│   └── src
├── ijkplayer-armv7a
│   ├── build
│   ├── build.gradle
│   ├── gradle.properties
│   ├── ijkplayer-armv7a.iml
│   ├── proguard-rules.pro
│   └── src
├── ijkplayer-example
│   ├── build
│   ├── build.gradle
│   ├── ijkplayer-example.iml
│   ├── proguard-rules.pro
│   └── src
├── ijkplayer-exo
│   ├── build
│   ├── build.gradle
│   ├── gradle.properties
│   ├── ijkplayer-exo.iml
│   ├── proguard-rules.pro
│   └── src
├── ijkplayer.iml
├── ijkplayer-java
│   ├── build
│   ├── build.gradle
│   ├── gradle.properties
│   ├── ijkplayer-java.iml
│   ├── proguard-rules.pro
│   └── src
├── ijkplayer-x86
│   ├── build
│   ├── build.gradle
│   ├── gradle.properties
│   ├── ijkplayer-x86.iml
│   ├── proguard-rules.pro
│   └── src
├── ijkplayer-x86_64
│   ├── build
│   ├── build.gradle
│   ├── gradle.properties
│   ├── ijkplayer-x86_64.iml
│   ├── proguard-rules.pro
│   └── src
├── local.properties
├── settings.gradle
└── tools
    ├── gradle-bintray-upload.gradle
    ├── gradle-mvn-push.gradle
    └── gradle-on-demand.gradle

30 directories, 41 files

Android的官方Demo在ijkplayer-example中,后面文章会详细一点分析ijkplayer的编译过程和调用过程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值