mac下编译ijkplayer

在mac或者linux环境下编译ijkplayer相对于window环境的确方便多了,编译ijkplayer首要前提就是配置好环境

1.安装homebrew, git , yasm
Homebrew是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,相当于linux下的apt-get、yum神器;Homebre可以在Mac上安装一些OS X没有的UNIX工具,Homebrew将这些工具统统安装到了 /usr/local/Cellar 目录中,并在 /usr/local/bin 中创建符号链接。
ruby -e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrew安装成功后,会自动创建目录 /usr/local/Cellar 来存放Homebrew安装的程序。 这时你在命令行状态下面就可以使用 brew 命令了.
注意:如果在安装过程中返回400,可以在几分钟后尝试重新安装。
Homebrew的使用
  • 安装软件:brew install 软件名,例:brew install wget
  • 搜索软件:brew search 软件名,例:brew search wget
  • 卸载软件:brew uninstall 软件名,例:brew uninstall wget
  • 更新所有软件:brew update
通过 update 可以把包信息更新到最新,不过包更新是通过git命令,所以要先通过 brew install git 命令安装git。

安装git
  • 更新具体软件:brew upgrade 软件名 ,例:brew upgrade git
  • 显示已安装软件:brew list
  • 查看软件信息:brew info/home 软件名 ,例:brew info git / brew home git
brew home指令是用浏览器打开官方网页查看软件信息
  • 查看那些已安装的程序需要更新: brew outdated
  • 显示包依赖:brew reps
安装好homebrew,在安装git和yasm
终端输入: brew install git
brew install yasm

2 .安装好git和yasm后就要下载NDK和SDK来配置环境
1 download NDK for mac
     http://developer.android.com/tools/sdk/ndk/index.html
下载解压即可
这是我解压好的sdk 和ndk
mac下编译ijkplayer_第1张图片
在打开终端的当前用户目下输入:open .bash_profile
mac下编译ijkplayer_第2张图片
上图是已配置好的ndk截图主要是
export PATH=${PATH}:ndk绝对路径
ANDROID_NDK=ndk绝对路径
export ANDROID_NDK
sdk的配置也是一个意思
编辑完后保存修改,输入source .bash_profile更新下
输入ndk_build

出现如上结果即代表配置成功


3 .下载ijkplayer源码
下面命令就是下载ijk的库,然后进入库文件夹,切换到build Android所使用的分支
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-androidcd ijkplayer-androidgit checkout -B latest k0.8.0
执行初始化操作,主要去下载ffmpeg的代码,变化主要在extra文件
./init-android.sh

编译ffmpeg,这个过程还是很需要时间的 cd android/contrib./compile-ffmpeg.sh clean./compile-ffmpeg.sh all 编译.socd .../compile-ijk.sh all
最终成功就会生成.so库


mac下编译ijkplayer_第3张图片
将ijkplayer文件夹作为项目导入Android studio即可

在下载好库之后也可以修改编解码器,具体查看
https://github.com/Bilibili/ijkplayer

简化操作步骤:
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-androidcd ijkplayer-androidgit checkout -B latest k0.8.0./init-android.shcd android/contrib./compile-ffmpeg.sh clean./compile-ffmpeg.sh allcd .../compile-ijk.sh all

问题:
如果出现此问题:“You must define ANDROID_NDK, ANDROID_SDK before starting.They must point to your NDK and SDK directories.\n”
这说明NDK配置问题。需要在用户名录下的.bash_profile文件配置ANDROID_NDK,当然路径要修改成自己ndk的路径了。
export PATH=$PATH:/Users/user/tools/android-ndk-r10e/
ANDROID_NDK=/Users/user/tools/android-ndk-r10e/
export ANDROID_NDK
如果配置好后始终出现这个问题也可以直接在 compile-ijk.sh 修改ndk的路径


ffmpeg编译x86_64时出现问题如下:
/Users/user/tools/ijkplayer-android/android/contrib/build/ffmpeg-x86_64/toolchain/bin//x86_64-linux-android-gcc
yasm/nasm not found or too old. Use --disable-yasm for a crippled build.
If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
[email protected] mailing list or IRC #ffmpeg on irc.freeno

de.net.
Include the log file "config.log" produced by configure as this will help
solve the problem.
这是需要更新或者安装一下yasm。
yasm安装方法:
curl http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz >yasm.tar.gztar zxvf yasm-1.3.0.tar.gzcd yasm-1.3.0/./configure --prefix=/usr/local/yasmmakemake install
/etc/profile 文件末尾添加export PATH="$PATH:/usr/local/yasm/bin"
mac 下用 sudo make install 获取管理员权限安装。
这些配置后编译还是出现上述问题,
网上说只会对当前的终端生效,想要永久生效的话可以直接在.bash_profile文件中添加配置环境变量,做法如下:
$vim ~/.bash_profile
然后在打开的bash_profile中添加:export PATH=$PATH:/usr/local/yasm/bin
保存后就可以,如果有问题重启下电脑。

你可能感兴趣的:(Android视频)