hello 小伙伴们,这次给大家分享的是Linux 环境下 ijkplayer 的编译,开发环境:win10 自带的Ubuntu 系统 1.开启win10开发者模式 ![]() 2.开启win10子系统 ![]() ![]() Windows10 子系统Linux重启(不重启Win10) Using CMD (Administrator) net stop LxssManager net start LxssManager 3.在应用商店下载Ubuntu 软件 4.在编译ijkpalyer之前先熟悉一些linux指令 4.1pwd 查看当前路径 4.2sudovimsources.list 编辑文本 4.3 cd (进入某文件夹) 4.4 cd .. (后退) 4.5source /etc/profile (使用source命令使修改立刻生效) 4.6suroot 切换到root用户 4.7passwd (root权限下修改密码) 4.8 sudo cp ijkplayer-android /mnt/h/Software/Android ijkplayer-android (文件复制格式: 文件 路径 文件名) 4.9 tar zxvf jdk-8u121-linux-x64.tar.gz(解压文件) 4.10linux下用冒号":"来分隔路径 4.11ndk-build-v (ndk版本查看) 如果是vi,则:Esc 退出编辑模式,输入以下命令: :wq 保存后退出vi,若为 :wq! 则为强制储存后退出(常用) :w 保存但不退出(常用) :w! 若文件属性为『只读』时,强制写入该档案 :q 离开 vi (常用) :q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。 :e! 将档案还原到最原始的状态! 5.修改linux 镜像文件路径 进入/etc/apt/sources.list 目录 sudo cp sources.list sources.list.bak(备份) sudo vim sources.list(编辑文件将以下复制进去)
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial main main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse # 预发布软件源,不建议启用 # deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse 6.ijkplayer编译需要的环境 * java * gcc * OpenSSL * yasm * Android SDK * Android NDK (linux r10e版本) 6.1 OpenSSL 安装 1.下载,官网:https://www.openssl.org/,本例使用版本:openssl-1.1.0i.tar.gz 2、解压:tar -zxvf openssl-1.1.0i.tar.gz 3、进入解压目录,配置ruby安装参数, 命令:./config --prefix=/data/soft/openssl-1.1.0 命令:./config -t 4、编译,命令:make 5、安装,命令:make install 6、添加到系统配置 创建文件,命令:vim /etc/ld.so.conf.d/openssl.conf 填入内容(为zlib的安装路径):/home/yin13753884368/openssl-1.0.2r 7、加载配置,执行命令:ldconfig 经过上述步骤,就完成了OpenSSL安装! 6.2 yasm 安装 1.http://www.tortall.net/projects/yasm/releases 从该目录下可以找到合适平台的合适版本 命令安装: # wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz # tar zxvf yasm-1.3.0.tar.gz # cd yasm-1.3.0 # ./configure # make && make install sudoapt install make sudo apt install make-guile 7.设置环境变量进入home/user (user为电脑用户名) 7.1 vim ~/.bashrc 编辑文本 #=======JavaHome======# export JAVA_HOME=/home/user/jdk1.8.0_211 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$HOME/bin:$HOME/.local/bin:$PATH #========AndroidHome========# export ANDROID_SDK=/mnt/e/SoftwareDownload/AndroidSdk/sdk-linux export PATH=$ANDROID_SDK/platform-tools:$PATH export PATH=$ANDROID_SDK/tools:$PATH export ANDROID_NDK=/mnt/e/SoftwareDownload/AndroidNDK/android-ndk-r10e-linux/android-ndk-r10e export PATH=$ANDROID_NDK:$PATH 7.2 source .bashrc 刷新文件 8.开始编译ijkplayer,用root权限安装(重要) cd config 先打开module-default.sh,在尾部添加下面代码,要不然会编译失败,这里是一个大坑 export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bzlib" 8.1. 拉取ijkplayer源码 gitclone https://github.com/Bilibili/ijkplayer.git ijkplayer-android cdijkplayer-android gitcheckout -B latest k0.8.8 8.2. 初始化android ./init-android.sh 8.3 配置编解码器格式支持 module-default.sh 更多的编解码器/格式 module-lite-hevc.sh 较少的编解码器/格式(包括hevc) module-lite.sh 较少的编解码器/格式(默认情况) cd config rm module.sh ln -s module-lite.shmodule.sh 8.4 初始化android支持Https cd .. ./init-android-openssl.sh 8.5 编译openssl(耗时特别长) cd android/contrib ./compile-openssl.sh clean ./compile-openssl.sh all 8.6 编译ffmpeg(耗时特别长) cd android/contrib ./compile-ffmpeg.sh clean ./compile-ffmpeg.sh all 8.7 编译ijkplayer ./compile-ijk.sh all 加all默认编译所有架构的so库,不加默认只编译armv7a架构! 8.8 在android/ijkplaye 目录下生成相应的so文件 9.GitHub: https://github.com/taxiao213/ijkplayer 10.CSDN下载传送门: https://download.csdn.net/download/yin13753884368/11157605 ---------------------------------------------------------------------------------------------------------------------- 我们尊重原创,也注重分享,文章来源于微信公众号:他晓,建议关注公众号查看原文。如若侵权请联系qter@qter.org。 ---------------------------------------------------------------------------------------------------------------------- |