ijkplayer-android编译 兼容多视频格式

用的播放器框架是ijkplayer  然后就去https://github.com/Bilibili/ijkplayer的issue里找答案发现很多人遇到了这个问题,最终还是想通过编译定制化so的方式解决。

践行解决方案
按照官方文档编译android版so的流程

$ git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
$ cd ijkplayer-android
$ git checkout -B latest k0.8.8
$ ./init-android.sh
//下载openssl
$ ./init-android-openssl.sh
$ 修改config/module.sh添加你要支持的编码格式
$ cd android/contrib
//编译ssl,用于支持https
$ ./compile-openssl.sh clean
$ ./compile-openssl.sh all
$ ./compile-ffmpeg.sh clean
$ ./compile-ffmpeg.sh all
$ cd ..
$ ./compile-ijk.sh all

 

其它步骤命令都是死的  只有第五步是需要你自己添加的

module.sh默认是软连接的module-lite.sh  我编译出来的so差不多4m

在该文件中添加了三种解码格式

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=mpeg4"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=mp2*"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=ac3"
--------------------- 


修改完成进入到android/contrib后,此时编译可能会提示要配置ndk,在终端输入

export ANDROID_NDK=/Users/michaelx/Library/Android/sdk/ndk-bundle 
export ANDROID_SDK=/Users/michaelx/Library/Android/sdk

执行第7 & 8步操作编译ffmpeg 官方文档默认是编译所有架构的   这里我只选择了armv7a

./compile-ffmpeg.sh armv7a

编译完这个之后返回上一级继续执行第10步操作 ./compile-ijk.sh all

同级目录有一个ijkplayer目录,这是一个标准到android项目,编译完的so库会输出到ijkplayer/ijkplayer-armv7a/src/main/libs

等这个编译完成之后整个编译就算完成了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值