通过阅读本文,您可以了解未使用标准直播服务时,实现超低延时直播的基本流程。
前提条件
超低延时直播基本流程
开通直播服务
- 登录阿里云官网,在顶部菜单栏选择 ,进入视频直播产品首页。
- 单击立即开通,进入开通页面。
- 在视频直播开通页,选择计费方式为按使用流量计费或按带宽峰值计费,并选中视频直播服务协议。
- 单击立即开通。
添加推流域名和播流域名
使用超低延时直播服务前,您需要分别添加推流域名和播流域名。
- 登录视频直播控制台。
- 在左侧导航栏单击域名管理,进入域名管理页面。
- 单击添加域名。
- 根据实际需求配置域名详情。
参数 参数分类 说明 加速域名 无 输入您需要加速的域名。注意事项如下:说明 子域名必须在同一个账号下。您在添加域名时,直播服务会进行检查,如果子域名被添加到不同账号,系统会报错。直播中心 无 直播中心用来提供云上直播流的媒体处理服务,如截图、录制、转码、云导播等。
需要关联的直播推流域名与播流域名的直播中心所在地域要保持一致,初次配置后不可更改。
关于如何选择直播中心,请参见如何选择直播中心?。
业务类型 - 播流域名
- 推流域名
指域名的加速类型,推流域名与播流域名分别对应推流加速与播流加速。初次配置后不可更改。说明- 添加推流域名时,业务类型请选择推流域名;添加播流域名时请选择播流域名。
- 您无法将同一域名既添加为推流域名,又添加为播流域名。
加速区域 中国内地 指域名可执行加速的地域。 - 中国内地
当主播在中国内地时,推流域名应选择中国内地。
当观众在中国内地时,播流域名应选择中国内地。
域名需要在工信部备案,推荐您进入阿里云ICP代备案管理系统进行备案。
- 全球加速
当主播在中国内地、中国香港、中国澳门、中国台湾以及其他国家和地区时,推流域名应选择全球加速。
当观众在中国内地、中国香港、中国澳门、中国台湾以及其他国家和地区时,播流域名应选择全球加速。
域名需要在工信部备案,推荐您进入阿里云ICP代备案管理系统进行备案。 - 海外及港澳台加速
当主播在海外及中国香港、中国澳门、中国台湾时,推流域名应选择海外及港澳台加速。
当观众在海外及中国香港、中国澳门、中国台湾时,播流域名应选择海外及港澳台加速。
如果选择海外及港澳台加速且直播中心在海外,则域名无需在工信部备案。
如果选择海外及港澳台加速且直播中心在中国境内,则域名需要在工信部备案。推荐您进入阿里云ICP代备案管理系统进行备案。
说明关于如何选择CDN加速区域,请参见如何选择域名的CDN加速区域?。
全球加速 海外及港澳台加速 - 单击下一步。
配置CNAME
使用超低延时直播服务前,需要将您的域名(推流域名和播流域名)指向阿里云视频直播分配的CNAME地址。此处以DNS服务商为阿里云(原万网)为例介绍配置CNAME的方法。更多DNS服务商及操作详情,请参见配置CNAME域名解析。
- 您可以观看视频讲解学习如何解析CNAME,详情请参见解析CNAME。
- 由于阿里云CDNDCDN校验域名的DNS解析记录的服务器部署在中国内地。如果您对域名做了分区域DNS解析配置,例如仅对域名的中国内地以外区域(中国香港、中国澳门、中国台湾、其他国家和地区)配置了阿里云CDNDCDN的CNAME地址,校验服务器将无法解析到该CNAME地址,且在CDNDCDN控制台该域名的CNAME状态会显示为待配置,这种情况不影响CDNDCDN的加速服务。
- 阿里云CDN、全站加速DCDN、直播以及点播产品的CNAME域名仅可以作为阿里云CDN的调度解析使用,对于恶意使用CNAME域名的行为,阿里云有权清退对应的域名和账号。
- 登录云解析DNS控制台。
- 在左侧导航栏选择域名解析,进入域名解析页面。
- 单击待设置域名操作列的解析设置。
- 单击添加记录,配置信息如下所示:
参数 描述 记录类型 选择CNAME,将域名指向另外一个域名。 主机记录 输入域名的前缀,常见前缀和对应的示例域名如下表所示。 解析请求来源 选择默认值。 记录值 输入记录的CNAME值。 TTL 选择默认值。 前缀 示例域名 说明 demo demo.aliyundoc.com 解析子域名。 @ aliyundoc.com 解析主域名。 * *.aliyundoc.com 泛解析。 - 单击确定,完成CNAME配置。
*.*kunlun*.com
,表示CNAME配置已生效。
关联推流域名和播流域名
目前超低延时直播采用边缘推流方式,您需要关联推流域名和播流域名,才能进行直播的推流和播流。
- 在域名管理页面,选择您添加的播流域名,单击操作列的域名配置,进入 页面。
- 单击基础信息页签。
- 单击推流信息页签。
- 单击添加推流信息或推流域名后的编辑图标,选择需要关联的推流域名。
开通超低延时直播功能
- 登录视频直播控制台。
- 在左侧导航栏选择域名管理,进入域名管理页面。
- 单击需要开启超低延时直播的播流域名操作列的域名配置,进入域名管理页面。
- 选择 。
- 打开RTS播放开关。
- 选择版本低延时直播(RTS 1.0),打开H5自动转码开关。由于原生浏览器WebRTC不支持视频B帧和AAC编码,H5播放自动转码将为您实现自适应的转码保障流畅播放,即:
- 使用浏览器播放时,若推流同时含有B帧和AAC编码,则自动转码去除B帧和AAC,按照标准转码收费。
- 使用浏览器播放时,若推流不含B帧但含有AAC,则自动转码仅去除AAC,按照纯音频转码收费。
- 使用浏览器播放时,若您同时配置的转码模板,自动转码功能将和转码模板同时生效,且仅收取一次转码费用。
- 若您使用阿里云Native SDK进行播放时,由于Native SDK已经支持了B帧和AAC,因此不会产生额外转码。
说明- 超低延时直播配置全网下发需要数分钟时间,请等待后测试。
- 如果您需要一个推流域名对应多个播流域名时,请参见关联主、子播流域名。
- 超低延时直播支持和标准直播共用一个播流域名。但是鉴于超低延时直播使用UDP协议,标准直播使用TCP协议,两者技术有所区别,建议您为超低延时直播单独开通一个播流域名。
配置自定义鉴权(可选)
URL鉴权功能旨在保护用户站点的内容资源不被非法站点下载盗用。域名初次添加时,默认开启URL鉴权。
鉴权功能开启状态下,有默认鉴权和自定义鉴权两种鉴权方式,您可按需选择默认鉴权或自定义鉴权。采用默认鉴权无需设置。如不采用默认配置,您也可以对鉴权主KEY、备KEY、有效时长进行自定义,并输入原始URL。
- 在域名管理页面,选择已开通超低延时直播功能的播流域名,单击操作列的域名配置。
- 选择访问控制页面。 ,进入
- 单击URL鉴权页签,单击修改配置。说明 URL鉴权已开启的情况下,单击修改配置即可配置URL鉴权信息。若您之前已关闭URL鉴权,开启URL鉴权开关即可配置URL鉴权信息。
- 配置URL鉴权信息。配置项和说明如下表所示。
配项置 说明 鉴权类型 视频直播播流域名仅支持使用鉴权A,来实现对源站资源的有效保护。说明 URL鉴权错误,都会返回403报错,请重新计算。- MD5计算类错误
例如:
X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd760be
- 时间类报错
例如:
X-Tengine-Error:denied by req auth: expired timestamp=1439469547
主KEY 当您添加域名时,控制台会随机生成一个主用密码。您可以通过在直播控制台左侧的导航栏选择域名管理,选择您需要配置的域名,单击 ,在URL鉴权页面查看主用密码。您还可以重新输入自定义的鉴权方式对应的主用密码。 备KEY 输入自定义的鉴权方式对应的备用密码。 有效时长 有效时长是指该URL鉴权仅在有效期内可用来发起推流或者播放。直播推流和播放都是长链接行为,在有效期内已经发起的直播推流或者播放行为,不会因为有效期过期而中止,但新发起的推流和播放请求会因为有效时长过期会失败。 第一次添加新域名默认有效时长为1天(即1440分钟)。你可以自定义输入鉴权方式的默认有效时长,最小设置为1分钟,无上限限制。单位:分钟。
- MD5计算类错误
生成推流地址和播放地址
您可以通过控制台生成或通过自定义拼接推流地址和播放地址。
方法一:控制台生成
若您希望快速生成推流地址和播放地址进行体验,可以借助控制台工具进行生成,请参见直播地址生成器。
方法二:自定义拼接
通过自定义拼接推流地址和播放地址时,在拼接前需要自行判断直播流是否经过转码,是否进行鉴权,并准备好直播流的推流域名、播流域名、AppName(应用)、StreamName(直播流)、转码模板ID(如有)和鉴权串(如有)。拼接规则如下所示。
地址类 | 地址格式 | 拼接规则 |
---|---|---|
推流地址 | 支持RTMP、RTS、SRT格式,推荐使用RTMP格式地址推流。示例: RTMP: 说明 超低延时直播支持使用RTS格式地址拉流。 | 推流域名+AppName(应用)+StreamName(直播流)+鉴权串 |
播放地址 | 支持RTMP、FLV、M3U8、RTS格式,推荐使用RTS格式地址播放。示例: RTS: | 播流域名+AppName(应用)+StreamName(直播流)+鉴权串 |
转码流地址 说明 若进行转码模板配置操作,才会生成转码流地址,且播放地址拼接规则需使用转码流地址。 | 支持RTMP、FLV、M3U8、RTS格式,推荐使用RTS格式地址播放。示例: RTS: | 播流域名+AppName(应用)+StreamName(直播流)_转码模板ID+鉴权串 |
超低延时直播推流
超低延时直播服务推荐使用RTMP格式推流,本文以使用OBS工具推RTMP流为例。若您希望使用RTS格式推流,请参见超低延时直播推流中推RTS格式流场景。
- 下载并安装OBS推流工具。下载地址,请参见OBS Studio。
- 运行OBS推流工具。
- 在菜单栏中选择 。
- 在设置页面选择推流,配置信息如下所示:
参数 描述 服务 选择自定义。 服务器 输入已经生成的鉴权推流地址,例如: rtmp://demo.aliyundoc.com/app/stream?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0************
。串流密钥 串流密钥为空。 - 可选:使用OBS推流,在推流软件的输出中,设置以下视频编码参数值,去除B帧。
- 输出模式:高级
- 关键帧间隔(秒,0=自动):1
- CPU使用预设(高=较少的CPU占用):veryfast
- 配置(Profile):baseline
- 微调(Tune):zerolatency
- 在OBS主界面来源区域添加推流源后,单击开始推流。
超低延时直播播放
超低延时直播流播放时,RTS SDK配套的播放器说明如下表所示,同时阿里云超低延时直播提供移动端和Web端Demo供您体验。
- 播放器:
播放器类型 相关文档 阿里云移动端播放器 阿里云播放器SDK集成Native RTS SDK实现说明 依赖FFmpeg的其他播放器 依赖FFmpeg的其他播放器集成Native RTS SDK实现说明 阿里云Web端播放器 SDK简介 - Demo体验播放超低延时直播流,请参见播RTS流。
其他操作:如何验证超低延时直播延迟时间
您可以在推流中加入时间校准器URL,通过和标准时间进行对比,验证超低延时直播延迟时间。此处以使用OBS推流工具推流为例进行介绍。
在OBS主界面来源区域浏览器中添加时间校准器URL后,单击开始推流。