zoukankan      html  css  js  c++  java
  • ubuntu 14 编译视频第三方库ijkplayer,能够在winows下使用

    1.先安装相关环境,详细在这里http://blog.163.com/zhuowr2006@126/blog/static/98334653201612310647799/
     依据上面那个安装之后,会直接有个eclipse+sdk。sdk那个仅仅有一个版本号可是临时不用去升级。不影响。


    2.依据这个官方https://github.com/Bilibili/ijkplayer 的api要求去下载个ndk r10e
    ubuntu 14 编译视频第三方库ijkplayer - zhuowr2006@126 - 胡须雨
     下载地址:http://blog.csdn.net/ultrapro/article/details/46008805
     依据你ubuntu安装是多少位来下载,我的是64位的。所下面载android-ndk-r10e-linux-x86_64.bin
     3.通过命令去安装ndk。

    3.1 下载好后,直接拉进去ubuntu 里面
    ubuntu 14 编译视频第三方库ijkplayer - zhuowr2006@126 - 胡须雨

    3.2  打开控制台,由于直接在根文件夹下了。所以直接使用
    chmod a+x android-ndk-r10e-linux-x86_64.bin
    然后右击查看路径,输入:/home/admins/android-ndk-r10e-linux-x86_64.bin
    等他安装好就能在这个文件夹里面看到他了
     ubuntu 14 编译视频第三方库ijkplayer - zhuowr2006@126 - 胡须雨
     4.环境变量设置
    4.1 直接在根文件夹,alt+h,显示隐藏文件,找到.bashrc文件。加入下面环境变量
    1. export ANDROID_SDK=~/Development/adt-bundle-linux-x86-20130917/sdk  
    2. export ANDROID_NDK=~/Development/android-ndk-r9b  
    3. export PATH=$PATH:$ANDROID_SDK:$ANDROID_NDK:$ANDROID_SDK/platform-tools/  
    详细的文件名称依据实际来。由于sdk之前我们已经有了,所以也是须要配置的。
    配置完毕后长这样:
    ubuntu 14 编译视频第三方库ijkplayer - zhuowr2006@126 - 胡须雨
     保存下就OK了
    5.之后就进入怎么编译第三方库ijkplayer

    5.1确保你的机器上已经安装了git和yasm,假设没有请在终端运行下面命令:
    sudo apt-get update
    sudo apt-get install git
    sudo apt-get install yasm

    5.2确保配置文件里ANDROID_SDK=xxx和ANDROID_NDK=xxx正确(注:声明路径变量的名字一定要以ANDROID_SDK和ANDROID_NDK命名,否则后边的编译会出问题,我的路径都声明在了.bashrc中)
    5.3 首先从Bilibili在github上的代码库中可隆一份源代码git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android (注:须要点时间下载
    5.4  cd ijkplayer-android (注:定位到此文件夹下)
    5.5  切换分支

    git checkout -B latest k0.4.5

    5.6 运行命令

    ./init-android.sh

    注意:这里有可能会出现这个问题:

    ubuntu 14 编译视频第三方库ijkplayer - zhuowr2006@126 - 胡须雨

     解决方式:

    打开/ijkplayer-android/tools下的pull-repo-ref.sh文件:

    将 “ --dissociate ” 删掉

    1. REMOTE_REPO=$1  
    2. LOCAL_WORKSPACE=$2  
    3. REF_REPO=$3  
    4. if [ -z $1 -o -z $2 -o -z $3 ]; then  
    5.     echo "invalid call pull-repo.sh '$1' '$2' '$3'"  
    6. elif [ ! -d $LOCAL_WORKSPACE ]; then  
    7.     git clone--dissociate --reference $REF_REPO $REMOTE_REPO $LOCAL_WORKSPACE#将--dissociate删掉  
    8.     cd$LOCAL_WORKSPACE  
    9.     git repack -a  
    10. else  
    11.     cd $LOCAL_WORKSPACE  
    12.     git fetch --all --tags  
    13.     cd -  
    14. fi  
    15. #! /usr/bin/env bash  

    然后保存文件。再次运行./init-android.sh 接着继续进行......

    或者升级git到最新版本号,当中会支持“dissociate”命令


    5.7 下载好后,运行

    cd android/contrib
    ./compile-ffmpeg.sh clean
    ./compile-ffmpeg.sh all  (注:all是编译全部cpu下支持的库。是能够选择的,这里我们还是选默认,假设你的ANDROID_SDK=xxx和ANDROID_NDK=xxx的路径没有问题话。就開始成功运行编译了。

    这是个漫长的等待过程)

    最后出现下图,恭喜能够进行下一步了。

    ubuntu 14 编译视频第三方库ijkplayer - zhuowr2006@126 - 胡须雨

    依照上图的提示。我们回到ijkplayer-android/android的文件夹下,运行这个脚本

    cd ..

    ./compile-ijk.sh all (注:假设去掉all则仅仅会编译出armv7a架构的so文件,否则会是所有)

    上述所有的命令所有运行成功后,如今就能够/ijkplayer-android/android/文件夹下的ijkplayer导入Android Studio中了。

    特此更新一下:

    我在其它文章中都是到这里就完了,在ubuntu中,依照上面编译完毕之后就是能够执行的了,可是无奈我的电脑太卡。或者习惯在winows下使用as的同学要怎么办根本没写,这里我试了下。用以下这样的方法就能够将编译好的项目拿到winows下使用了:

    1.首先我们要直接在winows下,下载整个项目:https://github.com/Bilibili/ijkplayer

    2.导入到as里面,这个时候你执行到播放器这里就会挂掉,没关系。

    3.我们看下编译好的支持库里面会生成什么

    这里我们选择当中一个arm64 ,生成了libs和obj两个目录


    另一个比較重要的是他会在jni生成一个新的.mk文件,这个mk等下会用到


    4.打开as我们如今这个坑爹项目,将在ubuntu里面编译好的libs、obj 复制过来。还有jni下的Android.mk覆盖掉原来那个

    如图我选择的是arm-64。其它的支持库也是一样的


    5.然后再执行一次。你就能够尽情的玩了~~哈哈


    參考了下面文章:

    http://www.jianshu.com/p/b447f6601501

    http://blog.csdn.net/liuyuejinqiu/article/details/50728013

    https://github.com/Bilibili/ijkplayer

    最后:另一个将其改动为eclipse可用的教程附上:

    http://blog.csdn.net/fatiao101/article/details/49586379

  • 相关阅读:
    SQL 存储过程返回值
    C# Winform 大全开发手册
    关于如何计划学习(转载自 知行合一)
    MVC中CRUD
    Web驱动变迁(从WebForm 到MVC)
    activiti 流程发起人控制
    [Python Study Notes]Socket模拟ssh执行cmd并记录遇到的问题
    [Python Study Notes]异常处理
    [Python Study Notes]正则表达式
    [Python Study Notes]字符串操作
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/7141794.html
Copyright © 2011-2022 走看看