ijkPlayer编译流程记录

来源:互联网 发布:java 今天星期几 编辑:程序博客网 时间:2024/06/05 05:48

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-androidgit checkout -B latest k0.7.7.1

clone

init compile source

下载ffmpeg和libyuv的源码

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

./init-android.sh

Created with Raphaël 2.1.0Startpull ffmpeg basepull 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.gradle30 directories, 41 files

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

原创粉丝点击