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

1.先安装相关环境,具体在这里http://blog.163.com/[email protected]/blog/static/98334653201612310647799/

根据上面那个安装之后,会直接有个eclipse+sdk。sdk那个只有一个版本但是暂时不用去升级,不影响。

2.根据这个官方https://github.com/Bilibili/ijkplayer 的api要求去下载个ndk r10e

下载地址:http://blog.csdn.net/ultrapro/article/details/46008805

根据你ubuntu安装是多少位来下载,我的是64位的,所以下载android-ndk-r10e-linux-x86_64.bin

3.通过命令去安装ndk。

3.1 下载好后,直接拉进去ubuntu 里面

3.2  打开控制台,因为直接在根目录下了,所以直接使用

chmod a+x android-ndk-r10e-linux-x86_64.bin

然后右击查看路径,输入:/home/admins/android-ndk-r10e-linux-x86_64.bin

等他安装好就能在这个目录里面看到他了

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之前我们已经有了,所以也是需要配置的。

配置完成后长这样:

保存下就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

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

解决方案:

打开/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的路径没有问题话,就开始成功执行编译了。这是个漫长的等待过程)

最后出现下图,恭喜可以进行下一步了。

按照上图的提示,我们回到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

时间: 2024-12-12 09:42:53

ubuntu 14 编译视频第三方库ijkplayer,可以在winows下使用的相关文章

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

1.先安装相关环境,详细在这里http://blog.163.com/[email protected]/blog/static/98334653201612310647799/ 依据上面那个安装之后,会直接有个eclipse+sdk.sdk那个仅仅有一个版本号可是临时不用去升级.不影响. 2.依据这个官方https://github.com/Bilibili/ijkplayer 的api要求去下载个ndk r10e 下载地址:http://blog.csdn.net/ultrapro/arti

ubuntu系统 编译libxml2的库是遇到如下错误

大家好:     我买了细说PHP书来学习.在搭建环境时使用的是ubuntu系统 编译libxml2的库是遇到如下错误, In function 'open',     inlined from 'xmlNanoHTTPSave__internal_alias' at nanohttp.c:1588:12: /usr/include/x86_64-linux-gnu/bits/fcntl2.h:51:24: error: call to '__open_missing_mode' declare

ubuntu 14.04 32bit依赖库解决

安装相关依赖库,主要是ia-32libs相关的32位库,这些库,从Ubuntu 13.10开始就一直困扰着我们,现在给出解决方法:sudo apt-get install libgtk2.0-0:i386sudo apt-get install -y libxml2:i386 ubuntu 14.04 32bit依赖库解决

Ubuntu 14.04安装完ISE14.4后命令行下运行nautilus报错

我习惯在Terminal下用nautilus命令进入图形界面的文件夹视图,但是在安装完Xilinx ISE14.4后,运行这个命令就会报错: nautilus: /usr/Xilinx/Software/14.4/ISE_DS/ISE/lib/lin64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/x86_64-linux-gnu/libexempi.so.3) nautilus: /usr/X

Ubuntu 14.04 将一个sh文件制作成类似于windows下的可以双击执行的快捷方式

# 创建文件 touch test.desktop # 在test.desktop中写入如下内容 [Desktop Entry] Version=1.0 Type=Application Terminal=true Exec=/root/aa.sh Name=test Icon=/root/test.png # 修改test.desktop的权限为775(sudo chmod 775 test.desktop) 上面的步骤即建立了一个/root/aa.sh的快捷方式,快捷方式的图标就会变成ico

导入第三方库报 unknown type name 'NSString' 错误

添加包含 C OC C++混编文件的第三方库 报unknown type name 'NSString' 错误: stackOverflow上找到解决方法: 在所在项目pch文件中,把自己所#import的头文件做如下操作 #ifdef __OBJC__ #import #endif pch里面自加的头文件是全局性的,当在C等文件import时就是问题出处,所以要ObjC区分开编译 导入第三方库报 unknown type name 'NSString' 错误

Reinstall Ubuntu 14.04

人生中有四大烦:下软件,找破解,装系统,配环境. 博主在本周经历了虚拟机系统崩溃之后又不幸玩坏了主机系统,恰逢Linux作业检查在即,可谓“屋漏偏逢连夜雨,船迟又遇打头风”.然而绝望之余,博主发现自己的windows 8.1系统依旧安好(坏的是ubuntu 14.04),于是在一线希望的指引下开始了重装ubuntu的工作. 1. 在windows系统里回收ubuntu所在的四个磁盘分区,使其成为100G的空闲空间. 2. 去ubuntu官网下载ubuntu-14.04的64位镜像文件,通过Ult

Git使用:Linux(Ubuntu 14.04 x64)下安装GIt并配置连接GitHub

github是一个非常好的网络代码托管仓库,知晓许久,但是一直没有用起来,最近才开始使用git管理自己的文档和代码. Git是非常强大的版本管理工具,今天就告诉大家,如何在Linux下安装GIt,并且做相关配置,与GitHub上的仓库链接.我安装的环境是Ubuntu 14.04,64位的 1. 安装 Linux下安装 使用命令apt-get来安装 sudo apt-get install git 2. 配置 配置用户名密码 git config --global user.name "xxx&q

在Ubuntu 14.04上设置生产环境可用的Node.js

在Ubuntu 14.04上设置生产环境可用的Node.js 提供:ZStack社区 前言 Node.js是一个开源的JavaScript运行时环境,开发者可以用它方便的构建服务器端应用和网络应用.Node.js可在Linux.OS X.FreeBSD和Windows上运行,在其上运行的应用使用JavaScript编写.Node.js应用可以在命令行运行,然而本文的目的在于以服务的方式运行Node.js应用,让这些应用可以在系统重启或遇到错误时自动重启,以配合生产环境的需求. 本文将设置一个可用