linux 下编译ijkplayer的so库

匿名 (未验证) 提交于 2019-12-02 21:56:30
BIliBIli开源播放器github地址:
这个播放器是没有编译过的,没有so文件,只是个播放器壳,播放支持的格式内容取决于你下载他的ffmpeg编译时设定的配置。个人觉得播放器ijkplayer和内核ffmpeg分开放有助于解耦,方便播放器升级时候,不用重新下载ffmpeg。
ijkplayer 最新版本:k0.8.8
ffmpeg 基于内核:3.4
1,linux环境,安装好NDK,设置好环境代码,最好把它写到当前用户的.bashrc下。
export JAVA_HOME=/home/lee/Desktop/jre1.8.0_191/bin
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
//NDK
export ANDROID_NDK=/home/leesoo/Desktop/android-ndk-r10e
export PATH=$ANDROID_NDK:$PATH
2,初始化android (比较久,下载半个小时)
./init-android.sh
最后./init-config.sh
3,编译脚本配置
这个配置文件是:config/module.sh
比如这里是配置处理什么类型的数据的,enable启用,disable禁用。
另外官方给我们提供了三个模板给我们使用:
module-default.sh:默认,如果你喜欢更多类型可以用这个;
module-lite-hevc.sh:如果您更喜欢较小的二进制大小的编解码器/格式(包括hevc功能)
module-lite.sh:如果您更喜欢较小的二进制大小的编解码器/格式(默认情况下)!
反正体积最小,就用module-lite.sh这个就行了,使用也很简单:
rm module.sh
source module.sh
会生成对应平台的ffmpeg库文件。 用来做预编译Prebuilt。
/ijkplayer-android/android/contrib/build/ffmpeg-armv7a/output/ Ŀ¼
生成 libijkffmpeg.so (15-20MB大)
执行
因为编译FFmpeg 只有一个平台,所以
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!