ubuntu 14 编译视频第三方库ijkplayer,可以在winows下使用

来源:互联网 发布:php权限系统设计 编辑:程序博客网 时间:2024/06/16 00:13
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 ” 删掉

[cpp] view plain copy
print?
  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

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 机场服务员老了怎么办 在国外没有钱了怎么办 被劫持为人质怎么办 在印度签证过期怎么办 办签证被拒怎么办 澳洲留学生怎么办新加坡签证 韩国交换生签证怎么办 没有钱还贷款怎么办 英国主动退学后怎么办 英国留学被劝退怎么办 英国留学签证被拒怎么办 签证纸丢了怎么办 日本的探亲签证怎么办 成都去港澳怎么办签证 在北京怎么办泰国签证 法院判决不准离婚怎么办 再婚小孩上户口怎么办 被供应商起诉了怎么办 离婚案原告撤诉怎么办 离婚起诉不到场怎么办 判决书判了败诉怎么办 对执行裁定不服怎么办 贴吧尺寸超限怎么办 usbkey密码忘了怎么办 农信房贷逾期几个小时怎么办 广东农信房贷逾期一天怎么办 三亚的房太潮了怎么办 没高中档案积分怎么办 临牌过期了怎么办 居住证凭证丢了怎么办 上海市居住证过期了怎么办 上海居住证积分不够怎么办 居住证登录密码忘记怎么办 投靠中考上海居住证怎么办 嫁入广州户口怎么办 上海积分扣完了怎么办 公立小学积分不够怎么办 查不到户口信息怎么办 小孩上不到户口怎么办 离开上海上海户口怎么办? 上海没房户口怎么办