推流和低延时直播

最近更新时间:2018-01-05 09:40:19

RTMP 推流

特别提醒

出于政策和合规的考虑,微信暂时没有放开所有小程序对 <live-pusher> 和 <live-player> 标签的支持:

  • 个人账号和企业账号的小程序暂时只开放如下表格中的类目:
  • 符合类目要求的小程序,需要在小程序管理后台的 “设置 - 接口设置” 中自助开通该组件权限。
主类目 子类目
【社交】 直播
【教育】 在线教育
【医疗】 互联网医院,公立医院
【政务民生】 所有二级类目
【金融】 基金、信托、保险、银行、证券/期货、非金融机构自营小额贷款、征信业务、消费金融

注意:如果以上设置都正确,但小程序依然不能正常工作,可能是微信内部的缓存没更新,请删除小程序并重启微信后,再进行尝试。

功能体验

在微信小程序中搜索 腾讯视频云 可以加载到我们的演示用小程序,其中 RTMP推流 功能用于体验和测试推流能力,点击 New 按钮可以获取一个新的推流地址。

对接攻略

  • step1:进入直播控制台,开通腾讯云直播服务,开通方法可参考 DOC

  • step2:进入直播控制台>>直播码接入>>接入配置 配置推流防盗链KEY 和 API鉴权KEY, 配置方法可参考 DOC

  • step3:进入直播控制台>>直播码接入>>推流生成器 可以生成测试用的 推流URL,推流URL 的拼装规则您也需要了解下,最终这些 URL 都是由您的后台业务服务器自动生成的。

  • step4:参考 <live-pusher> 标签的使用指引即可实现推流功能,<live-pusher> 有两种模式,SD、HD、FHD 都是直播场景,延迟高但清晰度可控;RTC 是实时通化场景,延迟很低,但为了延迟,小程序在必要的时候会牺牲清晰度。 推荐参数 里给出了一些常见场景下的参数配置。

  • step5:您也可以在 小程序源码 里下载 Demo 的源码进行参考。

直播播放(FLV、RTMP)

功能体验

在微信小程序中搜索 腾讯视频云 可以加载到我们的演示用小程序,其中 直播播放器 功能用于体验和测试 RTMP 和 FLV 协议的播放地址。普通 RTMP 和 FLV 协议的播放延迟在 2-5s 左右。

对接攻略

  • step1:阅读 DOC 可以了解推流 URL 和播放 URL 的关系。

  • step2:阅读 <live-player> 标签的使用指引,live 模式用于普通直播场景,可以播放常规 rtmp 和 flv 地址,延迟 2 - 5s(这是默认值,您可以通过 <live-player> 标签的 min-cache 和 max-cache 来设定,但 live 模式下 min-cache 最小值是 1)。

  • step3:您也可以在 小程序源码 里下载 Demo 的源码进行参考。

超低延时播放(RTMP-UDP)

功能体验

在微信小程序中搜索 腾讯视频云 可以加载到我们的演示用小程序,其中 低延时播放 功能用于体验和测试超低延时播放功能。

腾讯云的每一条直播流,都支持进行 UDP 加速,这种加速能力可以将原本 2-3 秒延迟的 RTMP 协议做到 400ms 以内,也就是实现超低延时播放。该链路是基于 UDP 版的 RTMP 协议实现的,所以不能用 <live-player> 标签 的 live 模式播放,只能使用 RTC 模式播放。

低延时 RTMP - UDP 协议的地址是在普通 RTMP 播放地址的后面添加防盗链签名,防盗链签名的计算方法见 DOC,计算过程中需要用到您在开通直播服务时所配置的 推流防盗链KEY

需要注意的是,超低延迟 RTMP-UDP 的并发观看人数最多是 10 人 ,所以它不适合用于常规直播观看,只能用于实时通话和一些特殊需求场景。

如下是一组示例:

普通直播 URL rtmp://3891.liveplay.myqcloud.com/live/3891_test_clock_for_rtmpacc
超低延时 URL rtmp://3891.liveplay.myqcloud.com/live/3891_test_clock_for_rtmpacc?bizid=bizid&txTime=5FD4431C&txSerect=20e6d865f462dff61ada209d53c71cf9

<live-player> 的 RTC 模式即 TXLivePlayer::startPlay 中的 PLAY_TYPE_LIVE_RTMP_ACC。

对接攻略

  • step1:阅读 DOC 了解如何获取 RTMP 播放 URL。之后阅读 DOC 了解如何为普通 RTMP URL 添加防盗链签名。

  • step2:阅读 <live-player> 标签的使用指引,RTC 模式用于超低延时播放,只能播放带有防盗链签名的 RTMP URL 。

  • step3:您也可以在 小程序源码 里下载 Demo 的源码进行参考。