Android Mac下编译bilibili IjkPlayer实现播放rtsp直播视频源

1.简介

最近项目需要rtsp协议流视频播放,也参考使用了主流的视频播放框架,诸如 饺子GSY等,这类播放器实际上是对播放UI的封装,底层播放引擎都是基于或者扩展自ijkplayer的。经过学习与使用,使用这类视频UI框架能够美化我们的视频播放UI界面,更好的进行视频播放的控制,但对于饺子而言其基础引擎支持的编码格式有限,对于我们复杂的工程需求往往需要支持直播协议的rtsp,rtmp协议流,故而对于这类需求的开发者需要使用ijkplayer引擎,通过编译源码的方式生成so库,来支持达到特定协议的目的。后面也将详细的介绍mac下编译ijkplayer源码生成so库的详细步骤,以及特定的工程问题技巧,希望对各位有一定的帮助。

2.编译ijkplayer源码

2.1下载ijkPlayer源码

   下载地址:https://github.com/Bilibili/ijkplayer,直接下载下来解压即可。

 2.2 环境搭建

像基本的java JDK Android Studio我这里就不说明了,主要说明下用于编译源码的ndk的配置。

查看 /ijkplayer-master/android/contrib/tools/do-detect-env.sh  如下有一段会检查NDK版本,可以发现检索的是11 12 13 14的版本,然而AS默认提供的NDK下载支持一般都比较新,造成检索到的预期要求编译的不匹配,而报“You need the NDKr10e or later”。

        case "$IJK_NDK_REL" in
            11*|12*|13*|14*)
                if test -d ${ANDROID_NDK}/toolchains/arm-linux-androideabi-4.9
                then
                    echo "NDKr$IJK_NDK_REL detected"
                else
                    echo "You need the NDKr10e or later"
                    exit 1
                fi
            ;;
            *)
                echo "You need the NDKr10e or later"
                exit 1
            ;;
        esac

那么查看下AS的可以下载的NDK版本已经到了18了,明显不是我们想要的,那么需要我们自己去下载ndk,并进行环境变量的配置 

ndk_14环境变量的下载

ndk下载地址: https://developer.android.google.cn/ndk/downloads/ 

请在历史ndk版本中选择版本14对应的mac版本进行下载。(文末有网盘下载

ndk_14 环境变量配置

1.控制台命令行 开发配置文件:
cd ~
open -e .bash_profile 

2.
# 变量名为ANDROID_NDK 路径填你解压到的路径即可
export ANDROID_NDK=/Users/apple/Library/Android/android-ndk-r14b
# 注册变量
export PATH=${PATH}:${ANDROID_NDK}

3.保存配置文件:
source .bash_profile

4. 检查ndk配置 
ndk-build

效果如下即配置OK,重新启动一个控制台。

2.3 编译ijkplayer源码步骤

a. 打开 /ijkplayer-master/config/module-lite.sh

添加如下配置:用以支持rtsp流协议以及mpeg4硬解码

# 支持rtsp流
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=rtp"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=tcp"
export COMMON_FF_CFG_FLAGS="$COMMO
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值