ijkplayer编译.so

Android 多媒体 专栏收录该内容
12 篇文章 1 订阅

最近做直播平台,包括推流端、服务器、及播放端。现在用到手机播放rtmp流,查找第三方库ijkplayer可以实现该功能。

ijkplayer开源库地址https://github.com/Bilibili/ijkplayer

环境:Mac 或者ubunt

准备:git工具

        NDKr10e及以上版本

环境变量配置ANDROID_NDK

集成步骤

1 下载ijkplayer源码

git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
我下载的版本是0.7.5

进入ijkplayer下载的目录

cd ijkplayer-android

创建一个分支


2 执行初始化操作

./init-android.sh
脚本会去下载ffmpeg的代码(下载比较慢,当然这还得看网速)



3 编译ffmpeg

cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.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


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

ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.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.gz
tar zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0/
./configure --prefix=/usr/local/yasm
make
make 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

保存后就可以,如果有问题重启下电脑。

重新编译ffmpeg,通过。


4 编译.so

cd .. 
./compile-ijk.sh all
如果./compile-ijk.sh不带all,只会编译arm-v7a的。

在android/ijkplayer/目录,各种芯片目录下会生成对应的三个.so,(分别在ijkplayer-arm64、ijkplayer-armv5、ijkplayer-armv7a、ijkplayer-x86、ijkplayer-x86_64这些项目的src/main/libs/对应的名称 目录下分别生成libijkffmpeg.so、libijkplayer.so、libijksdl.so这三个so文件)。

     

下载地址:http://download.csdn.net/download/vnanyesheshou/10261399

  • 3
    点赞
  • 17
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值