android studio ijkplayer,Android 编译 ijkplayer

6a28067dde32

Bilibili

引言:主要是因为刚开始接触的时候整个人都是懵逼呵呵的。

时间:2018年03月27日

作者:JustDo23

基于:Mac OS

01. 简介

Android/iOS video player based on FFmpeg , with MediaCodec, VideoToolbox support.

Video player based on ffplay

remove rarely used ffmpeg components to reduce binary size config/module-lite.sh

顶层封装使用与平台原生方法基本相同。

02. 准备

在编译之前需要安装必要的工具软件

# install homebrew

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# install git

$ brew install git

# install yasm

$ brew install yasm

需要配置相关的环境变量

# add these lines to your ~/.bash_profile or ~/.profile

# export ANDROID_SDK=

# export ANDROID_NDK=

# 或者直接执行

$ export ANDROID_NDK=/Users/JustDo23/app/android/android-ndk-r10e

$ export ANDROID_SDK=/Users/JustDo23/app/android/android-sdk-macosx

03. 编译

逐行执行命令

# 克隆项目到指定文件夹

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

# 进入文件夹

$ cd ijkplayer-android

# 创建并切换分支

$ git checkout -B latest k0.8.8

# 执行初始化脚本

$ ./init-android.sh

# 进入目录

$ cd android/contrib

$ ./compile-ffmpeg.sh clean

$ ./compile-ffmpeg.sh all

$ cd ..

$ ./compile-ijk.sh all

编译完成。编译是一个漫长的过程。

04. 导入

编译成功之后会生成完整的 Android 项目

目录:ijkplayer-android/android/ijkplayer/

使用 Android Studio 在指定目录打开项目

在各个依赖下可以找到相应平台的 .so 文件

05. 配置

在 config 目录下有三个不同等级的配置和一个配置指向文件。

If you prefer more codec/format

$ cd config

$ rm module.sh

$ ln -s module-default.sh module.sh

If you prefer less codec/format for smaller binary size (include hevc function)

$ cd config

$ rm module.sh

$ ln -s module-lite-hevc.sh module.sh

If you prefer less codec/format for smaller binary size (by default)

$ cd config

$ rm module.sh

$ ln -s module-lite.sh module.sh

因此可以根据需求选择不同的配置。

06. 支持 amr 格式

默认配置并不支持播放 amr 格式音频文件。在 module-lite.sh 文件中添加如下配置

# ./configure --list-decoders

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=amrnb"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=amrwb"

# ./configure --list-muxers

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-muxer=amr"

# ./configure --list-demuxers

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=amr"

07. 支持 Https

默认配置并不支持 https 网络地址。需要在编译时 openSSL

$ ./init-android-openssl.sh

$ ./init-android.sh

$ cd android/contrib

$ ./compile-openssl.sh clean

$ ./compile-ffmpeg.sh clean

$ ./compile-openssl.sh all

$ ./compile-ffmpeg.sh all

$ cd ..

$ ./compile-ijk.sh all

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值