RTMP Streamer是一个安卓手机端的开源RTMP直播推流框架。该框架支持RTMP直播和RTSP直播,升级版还支持SRT直播。它支持的视频编码包括H264、H265、AV1等,音频编码包括AAC、G711、OPUS等,具有强大的直播功能。
为了方便讲解,本文以标准版的RTMP Streamer为例,介绍如何使用RTMP Streamer开启手机的APP直播推流。
由于最新版的RTMP Streamer面目全非,难以为国内开发者使用。升级后,原本在Github上托管的旧代码也不翼而飞。因此,作者花费了较长时间才找到合适版本的RTMP Streamer源码。如果需要这套源码,可在京东自营购买《FFmpeg开发实战:从零基础到短视频上线》一书,联系作者获取RTMP Streamer源码。
RTMP Streamer源码采用Java编写,非Kotlin编写,可以使用小海豚版本的AS打开。因此,需要先安装小海豚版本的AS(Android Studio Dolphin)。
RTMP Streamer的源码是一个完整的AS项目。启动小海豚版本的Android Studio后,依次选择菜单:File→Open,在弹出的文件对话框中选择解压后的RTMP Streamer源码目录。Android Studio会自动下载相关组件并执行gradle同步等操作。为了加快RTMP Streamer项目的加载速度,可打开项目级别的build.gradle,在repositories节点内部补充相关配置。
增加以上配置的目的是引入国内的仓库地址,以便加快相关依赖包的下载速度。等待RTMP Streamer项目成功加载完毕,查看Android Studio左侧的导航图,可见RTMP Streamer项目由5个模块组成:app模块、encoder模块、rtmp模块、rtplibrary模块和rtsp模块。
Android Studio成功加载RTMP Streamer后,即可在手机上安装RTMP Streamer的演示APP。有关APP编译和安装的详细步骤参见《Android Studio开发实战:从零基础到App上线(第3版)》一书第2章的“2.1.1 App的运行环境”。RTMP Streamer的演示APP在手机上安装完毕后,启动后的初始界面如下图所示。
RTMP Streamer提供丰富多样的直播形式,既可以通过手机摄像头直播,还能将手机上的视频文件分享直播,还能对手机的屏幕操作进行直播。具体的直播协议包括RTMP和RTSP两种,可以满足绝大多数场景的直播需求。RTMP Streamer是个开源软件,提供了完整的APP直播录制全套代码,非常适合开发者学习和研究。
更多详细的FFmpeg开发知识可参见《FFmpeg开发实战:从零基础到短视频上线》一书。
未经允许不得转载:大白鲨游戏网 » RTMP Streamer:开源RTMP直播推流框架使用指南