前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >产品动态|支持 RTMP 协议推流至 TRTC

产品动态|支持 RTMP 协议推流至 TRTC

作者头像
腾讯云音视频
发布2022-01-10 11:10:24
2.1K0
发布2022-01-10 11:10:24
举报
文章被收录于专栏:音视频咖音视频咖

共享体验社交和在线协作场景逐渐涌现出很多新玩法,例如一起看场景下,通过 TRTC 可以实现音视频实时互动交流,然而各端如何能够保证看到进度相同的电影和演出呢?各端进度同步对齐就会是第一个实现难点,此外还有很多特殊情况和业务需求需要兼容,比如:

  • 如果大家都通过在线视频平台观看,喊321播放然后小伙伴们一起点击播放按钮可行吗?
  • 那么一起看「高能片段」需要大家同时跳转到某个时刻的视频进度开始怎么办?
  • 如果是一起看的是直播流,各端无法控制播放进度无法保证对齐怎么处理?
  • 其中一个小伙伴的视频卡住一会儿,缓冲转圈圈后比其他人进度慢怎么解决?

要是有一种技术解决方案解决以上痛点就好了~

另外有些小伙伴目前线上稳定运行的业务是通过 RTMP 推流,或者推流端仅支持 RTMP/RTSP 推流(比如安防视频画面流、赛事直播在线媒体流、移动端推出直播流等),这种情况能否实现通过 TRTC 拉流观看?

TRTC 最近上线了新功能,支持 RTMP 标准协议推流,现已完美支持此类场景,我们详细聊聊。

- 方案 -

TRTC 实时音视频服务架构如图所示,上行推流和下行拉流的全链路是通过自研 UDP 私有协议 / Web 端 WebRTC 实现各个终端和Web小程序之间的互通。

如下图所示,TRTC 最新支持以 RTMP 协议推流至 RTC 房间的方案,常见 RTMP 流的来源:

  • 在 PC 端通过 OBS 或 其他直播平台工具 进行RTMP推流;
  • 在服务端通过FFMPEG推在线媒体流;
  • 使用第三方资源,如直播平台、赛事流、视频网站VOD资源等提供的流媒体,甚至是无人机航拍实时画面、监控摄像头画面等等

OBS 是一款好用的第三方开源程序直播流媒体内容制作软件,为用户提供免费使用,它可支持 OS X、Windows、Linux 操作系统,适用多种直播场景,满足大部分直播行为的操作需求。目前国内外直播平台有大量主播正在使用 OBS 采集画面、布置直播间以及推流,无需改变使用习惯,即可快速将直播内容 RTMP 推流到实时音视频TRTC房间中 。在此基础上配合 RTC 音视频能力可以实现主播和观众连麦互动,将游戏直播、户外直播、唱歌舞蹈直播,秒变一起看一起聊的互动直播间。

同时配合FFmpeg 能够将其他媒体格式都推到实时音视频TRTC房间中,进一步扩展使用场景并降低业务接入和升级至超低延时直播的门槛。

- 扩展场景 -

在线教育行业的各类班型场景,老师展示视频课件教学视频时,可以通过 PC 端 OBS 或者 FFmpeg 把绝大多数媒体格式以 RTMP 推流至 RTC 房间,房间内的学生通过 TRTC SDK 拉流,可以保证观看到相同进度的教学视频,课件播放跳转进度、调整速度、切换下一章等全部可由老师控制,各学生端观看对齐课堂秩序好,教学质量更稳定。

在 AI 课堂的场景,学生跟着课程进度进行答题和互动,比如提交选项答题后会观看对应的答题反馈讲解视频,那么可以通过服务端推流的方式统一控制视频素材的播放,将媒体推流至 RTC 房间让学生低延迟观看,给学生流畅及时的 AI 互动课堂体验,比点播课程更生动有趣。

一起看球赛的场景下,比赛流媒体是赛事供应方固定以 RTMP 格式流的方式提供赛事画面,通过推流至 RT-ONE™ 的方案,实现 RTC 房间内同步观看超低延时的比赛直播,配合 RTC 的实时互动能力,与好友语音/视频讨论,一起喝彩加油,不会错过每一个精彩瞬间的共享体验。

在赛场有多视角机位画面的场景也可以完美支持,多路流都可以分别推流至 RTC 房间,用户可以根据自己喜好选择想要看的一个或者多个视频画面,同时进行实时互动聊天;并且除了赛事直播外,这类功能可以拓展应用在一起看云演唱会、一起看春晚,辅以千人同屏互动的能力展示在现场大屏幕,营造更有沉浸感和参与感的直播互动体验。

- RTMP 协议推流使用手册 -

OBS 推流设置

准备工作

安装并打开 OBS(https://obsproject.com/download?spm=a2c4g.11186623.2.15.6aac1445JPlKR8) 工具进行下述操作。

选择输入源

查看底部工具栏的来源标签,单击+按钮,根据您的业务需要选择输入源。常用来源输入有:

设置推流参数

1. 通过底部工具栏的 控件>设置 按钮进入设置界面。

2. 单击 推流 进入推流设置页签,选择服务类型为自定义。

服务器填写:

代码语言:javascript
复制
rtmp://rtmp.rtc.qq.com/push/

填写串流密钥格式如下:

代码语言:javascript
复制
房间号?sdkappid=应用&userid=用户名&usersig=签名

其中房间号、应用、用户名、签名需要换成业务的,例如:

代码语言:javascript
复制
22998?sdkappid=140*****66&userid=******rtmp2&usersig=eJw1jdE***************ZLgi5UAgOzoMhrayt*cjbmiCJ699T09juc833IMT94Ld7I0iHZqVDzvVAqkZsG-IKlzLiXOnEhswHu1iUyTc9pv*****D8MQwoA496Ke6U1ip4EAH4UMc5H9pSmv6MeTBWLamhwFnWRBZ8qKGRj8Yp-wVbv*mGMVZqS7w-mMDQL
  1. 为简化参数,只支持字符串房间号,不超过64个字符,字符只能是数字、字母、下划线。TRTC 其他端如果要观看 RTMP 流,需要使用字符串房间号进房。
  2. usersig 的生成规则,请参见 UserSig (https://cloud.tencent.com/document/product/647/17275)相关 (请注意签名要在有效期内)。
  3. 以上服务器地址 + 串流密钥组成 RTMP 推流地址,也可以供 FFmpeg 或其他 RTMP 库推流。

设置输出

RTMP 后台不支持传输 B 帧,用户可以通过如下设置调整推流端软件的视频编码参数来去除 B 帧。

  1. 在设置中单击输出页签进行配置;
  2. 在输出模式中选择高级,关键帧间隔建议填写1或2,单击确定保存设置。

设置视频选项

在设置中单击视频页签,设置分辨率和帧率。分辨率决定了观众看到的画面清晰程度,分辨率越高画面越清晰。FPS 是视频帧率,它控制观看视频的流畅,普通视频帧率有24帧 - 30帧,低于16帧画面看起来有卡顿感,而游戏对帧率要求比较高,一般小于30帧游戏会显得不连贯。

高级选项

  • 建议不启用串流延迟以减少端到端延迟。
  • 启动自动重连,建议设置重试延迟时长尽量短,网络抖动时如果连接断开可尽快重连上。

单击推流

1. 查看 OBS 底部工具栏的 控件,单击 开始推流。

2. 推流成功后,正常情况在界面底部会展示推流状态,TRTC 控制台仪表盘上有该用户进房记录。

其他端观看

如前面 设置推流参数(https://cloud.tencent.com/document/product/647/66671#step2) 所说,TRTC 其他端进房需要使用字符串房间号,Web 端观看 RTMP 流的效果如下所示:

参考文档

关于 FFmpeg 推流的方法以及更多详细说明,请参考腾讯云官网文档:https://cloud.tencent.com/document/product/647/66671

如您需要开通使用或进行进一步技术交流,请在官网页面右下角与 TRTC 产品架构师取得联系,进行售前技术咨询申请开通。

腾讯云音视频在音视频领域已有超过21年的技术积累,持续支持国内90%的音视频客户实现云上创新,独家具备 RT-ONE™ 全球网络,在此基础上,构建了业界最完整的 PaaS 产品家族,并通过腾讯云视立方 RT-Cube™ 提供All in One 的终端SDK,助力客户一键获取众多腾讯云音视频能力。腾讯云音视频为全真互联时代,提供坚实的数字化助力。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云音视频 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • - 方案 -
  • - 扩展场景 -
  • - RTMP 协议推流使用手册 -
  • OBS 推流设置
    • 准备工作
      • 选择输入源
        • 设置推流参数
          • 设置输出
            • 设置视频选项
              • 高级选项
                • 单击推流
                  • 其他端观看
                  • 参考文档
                  相关产品与服务
                  云直播
                  云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档