FFmpeg开发条记(三十一)使用RTMP Streamer开启APP直播推流 ...

打印 上一主题 下一主题

主题 867|帖子 867|积分 2601

​RTMP Streamer是一个安卓手机端的开源RTMP直播推流框架,可用于RTMP直播和RTSP直播,其升级版还支持SRT直播(腾讯视频云就接纳SRT协议)。RTMP Streamer支持的视频编码包括H264、H265、AV1等等,支持的音频编码包括AAC、G711、OPUS等等,可谓功能强大的APP直播框架。由于升级版的RTMP Streamer接纳全Kotlin编码,对运行环境与开发者的技能要求都比力高,因此为了方便讲解,这里以尺度版的RTMP Streamer为例,介绍怎样使用RTMP Streamer开启手机的APP直播推流。
一、下载RTMP Streamer

由于最新版的RTMP Streamer被升级得面目全非,难以为国内开发者使用,而且RTMP Streamer升级之后,原本在Github上托管的旧代码也不翼而飞,不知是不是老外对我们封锁高科技。因此博主寻寻觅觅,花了好长时间才找到符合版本的RTMP Streamer源码,如果各人必要这套源码,可在京东自营购买《FFmpeg开发实战:从零基础到短视频上线》一书,联系作者获取RTMP Streamer源码。
博主找到的RTMP Streamer源码接纳Java编写,非Kotlin编写,可使用小海豚版本的AS打开。以是必要先安装小海豚版本的AS,也就是Android Studio Dolphin,该版本AS的下载地点为 https://redirector.gvt1.com/edgedl/android/studio/install/2021.3.1.16/android-studio-2021.3.1.16-windows.exe 。
二、加载RTMP Streamer

下载的RTMP Streamer源码是个完整的AS项目,启动小海豚版本的Android Studio,依次选择菜单:File→Open,在弹出的文件对话框中选择解压后的RTMP Streamer源码目次。Android Studio就开始主动下载干系组件,并执行gradle同步等操作。为了加快RTMP Streamer项目的加载速度,可打开项目级别的build.gradle,在repositories节点内部补充以下配置:
  1. // 以下四行添加阿里云的仓库地址,方便国内开发者下载相关插件
  2. maven { url 'https://maven.aliyun.com/repository/jcenter' }
  3. maven { url 'https://maven.aliyun.com/repository/google'}
  4. maven { url 'https://maven.aliyun.com/repository/gradle-plugin'}
  5. maven { url 'https://maven.aliyun.com/repository/public'}
  6. // 以下添加华为的仓库地址
  7. maven { url 'https://developer.huawei.com/repo/'}
复制代码
增加以上配置的目的是引入国内的仓库地点,以便加快干系依赖包的下载速度。
等候RTMP Streamer项目乐成加载完毕,查看Android Studio左侧的导航图,可见RTMP Streamer项目由下列五个模块组成:
app模块:这是RTMP Streamer的演示界面模块,也是APP工程的主入口。
encoder模块:这是RTMP Streamer给音频流和视频流分别编码的模块。
rtmp模块:这是RTMP Streamer处置惩罚RTMP协议通信的模块。
rtplibrary模块:这是处置惩罚RTP协议数据传输的公共库,rtmp模块和rtsp模块都调到了该库。
rtsp模块:这是RTMP Streamer处置惩罚RTSP协议通信的模块。
三、启动RTMP Streamer

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开发实战:从零基础到短视频上线》一书。
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曂沅仴駦

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表