阿里云视频直播支持直播封装服务,支持封装HLS、DASH、LL-HLS(低延迟HLS)等播放协议,支持TS,CMAF切片格式。通过阅读本文,您可以了解直播封装服务的详细信息。
简介
阿里云基础直播服务提供RTMP、HTTP-FLV、HLS等播放协议。为支持更丰富、更低延迟的播放协议和体验,视频直播新增了直播封装服务,根据不同的切片类型支持低延迟HLS-TS、低延迟HLS-CMAF、HLS-CMAF、DASH-CMAF、HLS&DASH-CMAF封装协议,如下所示:
切片类型 | 支持的封装协议 | 支持的编码格式 |
TS | 低延迟HLS-TS |
|
CMAF |
|
|
低延迟HLS-TS会以TS格式封装低延迟HLS协议,低延迟HLS-CMAF会以CMAF格式封装低延迟HLS协议,其他情况以此类推。
功能及优势
使用场景
低延迟直播:直播服务提供HLS播放地址,在您的业务场景中如果需要在支持HLS协议的情况下降低延迟,可以对HLS协议进行封装,使用LL-HLS(低延迟HLS)协议。
多设备浏览器支持:直播服务提供的HLS播放地址默认采用TS切片格式进行封装,如果TS切片格式不能满足您的业务需求,您可以通过封装功能使用CMAF封装格式进行封装,适配更多的设备和浏览器。
注意事项
为了CMAF和低延迟HLS播放流畅,推流需确保GOP大小稳定,且直播封装切片时长为GOP时长的整数倍。如封装配置包含转码流,也需确保转码流的GOP稳定。对于低延迟HLS:
在网络情况不佳时卡顿率会增高,建议与多码率转码组合使用,网络不佳时自动降低码率。
需要确保直播流GOP固定为1秒或2秒,否则会导致卡顿或播放失败。
需使用支持LL-HLS的播放器,如AliPlayer、hls.js、ExoPlayer等,建议使用AliPlayer。
同一主播流域名最大支持直播观看人数为10万人,如需支持更多人观看,请提交工单申请。
域名第一次添加封装配置时,会同步下发播放域名加速相关配置,3~5分钟后可生效。
功能使用
配置直播封装
视频直播目前支持两种方式进行直播封装功能配置。
使用直播封装
推流
在使用直播封装功能时,为了CMAF和低延迟HLS播放流畅,推流需确保GOP大小稳定。
OBS推流可参考如下设置(关于OBS更多使用信息,请参见OBS推流工具):
播放
对于不同的封装协议,需使用不同的播放地址。各封装协议播放地址示例如下:
封装协议 | 地址示例 |
HLS |
|
DASH |
|
低延迟HLS |
|
在播放封装流时,
aliyunols=on
为必填固定参数。各封装格式提供的协议地址如下:
低延迟HLS-TS:低延迟HLS地址和HLS地址。
低延迟HLS-CMAF:低延迟HLS地址和HLS地址。
HLS-CMAF:HLS地址。
DASH-CMAF:DASH地址。
HLS&DASH-CMAF:HLS地址和DASH地址。
推荐您使用阿里云播放器,关于阿里云播放器说明请参见播放器SDK。
您可以参考以下示例使用Web端阿里云播放器播放:
选择播放类型为直播。
输入播放地址。
点击播放预览进行播放。
为支持浏览器跨域播放,需要配置HTTP头
Access-Control-Allow-Origin
,详情请参见配置HTTP消息头。
进阶使用
封装转码流
直播封装功能可以结合转码功能使用,对转码流进行协议封装。
封装转码流,需要先完成直播转码功能配置,具体操作请参见直播转码。
此处假设您已完成转码功能配置。
在进行封装配置时,将转码流也进行封装。
//是否忽略转码流,true/false,默认值true
addLivePackageConfigRequest.setIgnoreTranscode(<false>);
播放封装转码流只需要将封装协议地址StreamName替换成StreamName
加_转码模板ID
的形式。
例如现在要播放一个低延迟HLS的转码流,示例地址如下:
http://<DomainName>/<AppName>/<StreamName_转码模板ID>-llhls.m3u8?aliyunols=on&auth_key=1725503******
建议您可以将封装功能与多码率转码功能结合使用,在网络不佳时自动调整码率播放。
播放封装多码率转码流只需将StreamName替换成
StreamName
加_转码模板组ID
的形式。
封装多码率转码流,转码流地址会按照直播封装指定的协议和切片格式改变(例如指定封装格式为DASH-CMAF,多码率转码将只会提供DASH转码流地址,不会提供HLS转码流地址)。
封装通用转码或自定义转码流,转码流地址不受影响,会另外增加转码流的封装地址。
封装地址请参见本文档播放封装流相关内容。
时移播放封装流
直播时移功能可以让直播观众在直播过程中回看直播内容,直播封装功能可与直播时移功能组合使用,详情可参见直播时移。
如果开启了直播时移,时移的封装格式将采用直播封装指定的切片长度和格式。对于HLS或低延迟HLS-CMAF格式,直播时移切片也将变成CMAF格式;对于低延迟HLS-TS格式,直播时移切片仍为TS格式。
相关文档
更多直播封装相关API,请参见直播封装相关接口。