美文网首页智能行车记录仪APP开发
WSL 编译ijkplayer,vlc详细教程(入门篇)

WSL 编译ijkplayer,vlc详细教程(入门篇)

作者: parkbaird | 来源:发表于2018-08-24 16:15 被阅读134次

前言

本教程不适合新手, 需要有一点Linux基础知识。使用WSL编译(最好是使用xshell连接WSL), 前提条件是要Win10。如果对WSL不了解, 也可以使用Ubuntu编译 教程都是一样的。废话就不多说了

配置环境 ijkplayer vlc 通用

vim /etc/profile  // 配置文件  
export JAVA_HOME=/home/*/android-jdk/jdk1.8.0_181  
export JRE_HOME=$JAVA_HOME/jre  
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin  
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
export JAVA_BIN=$JAVA_HOME/bin  
source /etc/profile  // 保存
vim /etc/profile 
export ANDROID_NDK=/home/*/android-ndk/android-ndk-r13b 
export PATH=$PATH:$ANDROID_NDK
source /etc/profile 
  • Android SDK (这里要下载这个 我已经帮你们选择好了)
vim /etc/profile 
export ANDROID_SDK=/home/*/android-sdk/android-sdk-linux
export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools
source /etc/profile 
  • Android ABI (这个编译ijk的话自选 加上之后主要是编译armeabi-v7a的so)
export ANDROID_ABI=armeabi-v7a
  • 检测

java -version


jdk.png

ndk-build --version


ndk.png

android list target

sdk.png
以上就完成了ijkplayer 和 vlc的配置了 接下来 就可以编译ijk了, vlc(各位看官可能还需要下载一些东西哦) 等会详细说明。先编译ijk

编译Ijkplayer

  1. 安装git和yasm,在终端中分别键入:
    sudo apt-get install git
    sudo apt-get install yasm
  2. Ijkplayer源码下载
    sudo git clone https://github.com/Bilibili/ijkplayer ijkplayer-android
  3. 初始化
    cd ijkplayer-android
    ./init-android.sh

ps: 初始化过程似乎主要在下载ffmpeg的代码,代码包比较大,下载速度基本稳定在10kb左右, 有时候很快 看资源 (如果会fq的 就挂个q 这样下载会很快)
WSL:在Win10挂个fq,然后输入
export http_proxy=http://127.0.0.1:1080
export https_proxy=http://127.0.0.1:1080
<font color=#F63D07> 注意是WSL!! </font> Ubuntu请自行百度

  1. 配置并编译
    cd config
    rm module.sh
    ln -s module-default.sh module.sh

ps: 选该配置方案,打出来的包将会支持尽量多的音、视频格式,官方提供三种方案,我选用的这种是支持格式最多的一种,当然,支持格式可以自由定制,以后系列会出。

  1. 完成编译
    cd ..
    cd android/contrib
    ./compile-ffmpeg.sh clean
    ./compile-ffmpeg.sh all
    cd..
    ./compile-ijk.sh all
    到这一步Ijkplayer的编译过程就已经完成啦~

测试和导入编译好的IJKPlayer

  1. 测试编译好的IJKPlayer。用Android Studio打开android/ijkplayer,等待Android Studio自动配置好有,运行ijkplayer-example,等程序成功安装到手机上后,就可以测试下了,能够成功播放就说明编译已经完全成功了。
  2. 将编译好的.so文件导入程序。在项目目录下,创建jniLibs目录,将生成的arm64-v8a、armeabi、armeabi-v7a、x86、x86_64文件复制到jniLibs中,然后,在gradle中添加
    compile 'tv.danmaku.ijk.media:ijkplayer-java:0.7.5'
    build一下后,编译后的IJKPlayer就已经成功导入到项目中了。
  3. 使用。IJKPlayer使用方法跟系统自带的MediaPlayer用法基本相同,这里就不多做解释了。

编译VLC

  1. 安装vlc需要的
sudo apt-get install automake ant autopoint cmake build-essential libtool \
     patch pkg-config protobuf-compiler ragel subversion unzip git \
    openjdk-8-jre openjdk-8-jdk flex

ps.如果有安装失败的可以尝试一个一个安装

apt-get install gcc
apt-get install g++
apt-get build-dep vlc 
apt-get install git 
apt-get install wget 
apt-get install autoconf
apt-get install libtool
apt-get install subversion 
apt-get install cmake
apt-get install ant
  1. 如果你虚拟机是64位还需要安装32位的库
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install zlib1g:i386 libstdc ++ 6:i386 libc6:i386
  1. protobuf-3.0.0 编译及安装
  • 下载
    protobuf-3.0.0 自行下载使用Xftp 6 放到根目录下
  • 编译工具准备
sudo apt-get install autoconf automake libtool curl make g++ unzip
  • 编译安装
cd ./protobuf-3.0.0/     #解压出的文件夹
./autogen.sh    #首先生成configure脚本
./configure    #运行configure
make
make check
sudo make install
sudo ldconfig # refresh shared library cache.   #千万不要漏掉了 .
./configure --prefix=/usr   #更改安装到/usr
  • 验证是否安装成功
protoc --version
  1. vlc-andorid源码下载
  • 克隆vlc-android源码到本地
    git clone https://code.videolan.org/videolan/vlc-android.git
  • 进入vlc-android 然后编译 compile.sh
    cd vlc-android
    ./compile.sh

ps. 这里他会自动下载gradle 如果挂了q可以放到这静候佳音 大概一二个小时 编译成功后的APK在
/home/*/vlc-android/vlc-android/build/outputs/apk/VLC-Android-3.0.13-ARMv7.apk

  1. 获取aar文件
    sh compile.sh -l -a armeabi-v7a -r

ps. 这里大概半个小时 比较快了 编译成功后的aar在
/home/*/vlc-android/libvlc/build/outputs/aar/libvlc-3.0.0.aar

好了编译到这里就告一段路了 日后会出相应的优化教程和FFmpeg教程 如果有什么不懂的欢迎到底下留言我会一一解答

参考资料

  1. Ijkplayer
  1. VLC

最后献上 哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 大图一张

bilibili.jpg

相关文章

网友评论

    本文标题:WSL 编译ijkplayer,vlc详细教程(入门篇)

    本文链接:https://www.haomeiwen.com/subject/edtbiftx.html