创建频道
媒体直播需要创建频道后,才能播放频道内容。
前提条件
使用限制
- 一个租户最多支持创建500个频道。如果有更多的频道需求,请提交工单扩容。
- 所有频道仅支持单码率入流,且必须经过转码后,才能提供多码率出流。
- RTMP_PUSH类型的频道需要配置RTMP协议的推流域名。SRT_PUSH类型的频道需要配置SRT协议的推流域名。
- “SRT_PUSH”输入类型的频道,为了保障可靠性,必须满足下述条件:
- 频道DRM加密使用FunctionGraph函数时,不会携带FunctionGraph版本信息,默认使用最新版本。
- 如果DRM故障会返回404,此问题华为侧无法解决,建议用户直接关闭DRM。
创建频道
- 登录视频直播控制台。
- 在左侧导航栏中,选择“媒体直播 > 频道管理”。
- 单击“创建频道”,进入“创建频道”界面。
“基础信息”配置如下所示:
- 频道名称:设置频道名称。
- 频道id:设置频道ID。
- 应用名:应用名称,默认为“live”,不支持修改。
- 单击“下一步”。
“添加输入”配置如表1所示。
表1 参数配置 参数
说明
输入类型
频道媒资输入类型。
包含如下选项:
- FLV_PULL:无需执行推流操作,直接获取用户提供的音视频拉流URL,媒体直播服务从URL拉流直接推流到源站。
如果媒资输入类型为“FLV_PULL”时,拉流URL仅支持HTTP协议,暂不支持其他协议。
- RTMP_PUSH:需要配置RTMP协议的推流域名,并执行推流操作。
- HLS_PULL:无需执行推流操作,直接获取用户提供的音视频拉流URL,媒体直播服务从URL拉流直接推流到源站。
如果媒资输入类型为“HLS_PULL”时,用户提供的音视频URL需注意:
- 拉流URL仅支持HTTP、HTTPS协议,暂不支持其他协议。
- 不支持加密流。
- 不支持纯音频。
- 不支持展示字幕。
- SRT_PULL:无需执行推流操作,直接获取用户提供的音视频SRT拉流URL,媒体直播服务从URL拉流直接推流到源站。
- SRT_PUSH:需要配置SRT协议的推流域名,并执行推流操作。
“SRT_PUSH”输入类型的频道,为了保障可靠性,必须满足下述条件:
- “SRT_PUSH”输入类型的频道支持主备双URL,编码器要同时向主备双URL推流。
- 编码器推流断链时,需具备主动重推能力。建议断链重推周期小于一个分片时长。
FLV_PULL输入类型配置
当输入类型为“FLV_PULL”时,需要配置如下参数:
- 主输入参数:“URL”为向频道供应商获取的音视频流URL。无需执行推流操作,媒体直播服务会直接从URL拉流推到源站。
- 备输入参数:需要配置下述参数。
- 开启输入主备:可以打开此开关,设置备用音视频流URL。
- 备输入URL:向频道供应商获取备用音视频流URL。
- 异常切换时长阈值:当频道播放出现异常的时间达到阈值时,会自动切换至另一URL拉流播放。
- 优先级设置:包含取值“PRIMARY”(以主输入URL为主)和“EQUAL”(主备输入URL可平等切换),可根据实际情况选择。
RTMP_PUSH输入类型配置
当输入类型为“RTMP_PUSH”时,需要配置如下参数:
推流域名:从下拉框中选择RTMP协议的推流域名。如果当前没有推流域名,可以单击右侧的“创建推流域名”,在“域名管理”页面新增RTMP协议的推流域名。
HLS_PULL输入类型配置
当输入类型为“HLS_PULL”时,需要配置如下参数:
- 最大带宽(可选):用户提供的拉流URL中,针对不同码率的音视频,均会携带带宽参数“BANDWIDTH”。
- 如果这里配置最大带宽,媒体直播服务从URL拉流时,会选择小于最大带宽且码率最大的音视频流,推流到源站。
- 如果这里未配置最大带宽,媒体直播服务从URL拉流时,会默认选择“BANDWIDTH”最高的音视频流,推流到源站。
- 主输入参数:“URL”为向频道供应商获取的音视频流URL。无需执行推流操作,媒体直播服务会直接从URL拉流推到源站。
- 备输入参数:需要配置下述参数。
- 开启输入主备:可以打开此开关,设置备用音视频流URL。
- 备输入URL:向频道供应商获取备用音视频流URL。
- 异常切换时长阈值:当频道播放出现异常的时间达到阈值时,会自动切换至另一URL拉流播放。
- 优先级设置:包含取值“PRIMARY”(以主输入URL为主)和“EQUAL”(主备输入URL可平等切换),可根据实际情况选择。
- 广告参数:需要配置下述参数:
- SCET-35消息来源:广告的scte35信号源,目前支持SEGMENTS和MANIFEST。
- 广告触发器(可选):广告触发器配置。包含取值:拼接插入、提供商广告、分销商广告、提供商置放机会、分销商置放机会。
- 音频选择器:最多支持添加8个音频选择器。单击“添加音频选择器”,新增“音频选择器1”,需要配置如下参数:
- 选择器名称:音频选择器名称。仅支持大小写字母、数字、中划线和下划线。同一个频道中每个选择器的名称需要唯一。
- 选择器设置:包含下述2种方式。
PID选择:如果选择这种方式,需要设置“PID”。
PID:输入源流音轨中的ID值。
语言选择:如果选择这种方式,需要配置参数“语言代码”和“语言选择策略”。
语言代码:先确认源流中各个音轨的语言,然后选择一个音轨并输入其对应2或3个小写字母的语言代码。示例“eng”含义为English,即英语。
语言选择策略:取值“LOOSE”,即宽松匹配,示例“eng”会优先匹配源流中语言为English的音轨,如果匹配不到,则选择PID最小的音轨。取值“STRICT”,即严格匹配,示例“eng”会严格匹配源流中语言为English的音轨,如果匹配不到,媒体直播服务会自动补齐一个静音分片,当终端使用此音频选择器播放视频时,会静音播放。
HLS音频选择:如果选择这种方式,需要设置“组ID”和“名称”。对于流是HLS音视频合一的场景,输出匹配PID最小的音频。
组ID:参考m3u8音频流的“GROUP-ID”属性,GROUP-ID必须在一级索引中完全匹配,否则输出静音包。
名称:参考m3u8音频流的“NAME”属性,NAME必须在一级索引中完全匹配,否则输出静音包。
SRT_PUSH输入类型配置
当输入类型为“SRT_PUSH”时,需要配置如下参数:
- 推流域名:从下拉框中选择SRT协议的推流域名。如果当前没有推流域名,可以单击右侧的“创建推流域名”,在“域名管理”页面新增SRT协议的推流域名。
- Stream ID模式:编码器是否支持输入Stream ID。如果不支持必须配置“CIDR IP 白名单”参数。
- CIDR IP 白名单:填写推流白名单地址。最多支持输入256个字符。多个IP地址,请用英文逗号分隔。
- 广告参数:需要配置如下参数:
广告触发器(可选):广告触发器配置。包含取值:拼接插入、提供商广告、分销商广告、提供商置放机会、分销商置放机会。
- 音频选择器:最多支持添加8个音频选择器。单击“添加音频选择器”,新增“音频选择器1”,需要配置如下参数:
- 选择器名称:音频选择器名称。仅支持大小写字母、数字、中划线和下划线。同一个频道中每个选择器的名称需要唯一。
- 选择器设置:包含下述2种方式。
PID选择:如果选择这种方式,需要设置“PID”。
PID:输入源流音轨中的ID值。
语言选择:如果选择这种方式,需要配置参数“语言代码”和“语言选择策略”。
语言代码:先确认源流中各个音轨的语言,然后选择一个音轨并输入其对应2或3个小写字母的语言代码。示例“eng”含义为English,即英语。
语言选择策略:取值“LOOSE”,即宽松匹配,示例“eng”会优先匹配源流中语言为English的音轨,如果匹配不到,则选择PID最小的音轨。取值“STRICT”,即严格匹配,示例“eng”会严格匹配源流中语言为English的音轨,如果匹配不到,媒体直播服务会自动补齐一个静音分片,当终端使用此音频选择器播放视频时,会静音播放。
SRT_PULL输入类型配置
当输入类型为“SRT_PULL”时,需要配置如下参数:
- 主输入参数:“URL”为向频道供应商获取的音视频流URL。无需执行推流操作,媒体直播服务会直接从URL拉流推到源站。
- 延时时间(可选):频道为SRT_PULL类型时的拉流时延。
- 流ID(可选):频道为SRT_PULL类型时,拉流地址的Stream ID。
- 备输入参数:需要配置下述参数。
- 开启输入主备:可以打开此开关,设置备用音视频流URL。
- 备输入URL:向频道供应商获取备用音视频流URL。
- 异常切换时长阈值:当频道播放出现异常的时间达到阈值时,会自动切换至另一URL拉流播放。
- 优先级设置:包含取值“PRIMARY”(以主输入URL为主)和“EQUAL”(主备输入URL可平等切换),可根据实际情况选择。
- 广告参数:需要配置如下参数:
广告触发器(可选):广告触发器配置。包含取值:拼接插入、提供商广告、分销商广告、提供商置放机会、分销商置放机会。
- 音频选择器:最多支持添加8个音频选择器。单击“添加音频选择器”,新增“音频选择器1”,需要配置如下参数:
- 选择器名称:音频选择器名称。仅支持大小写字母、数字、中划线和下划线。同一个频道中每个选择器的名称需要唯一。
- 选择器设置:包含下述2种方式。
PID选择:如果选择这种方式,需要设置“PID”。
PID:输入源流音轨中的ID值。
语言选择:如果选择这种方式,需要配置参数“语言代码”和“语言选择策略”。
语言代码:先确认源流中各个音轨的语言,然后选择一个音轨并输入其对应2或3个小写字母的语言代码。示例“eng”含义为English,即英语。
语言选择策略:取值“LOOSE”,即宽松匹配,示例“eng”会优先匹配源流中语言为English的音轨,如果匹配不到,则选择PID最小的音轨。取值“STRICT”,即严格匹配,示例“eng”会严格匹配源流中语言为English的音轨,如果匹配不到,媒体直播服务会自动补齐一个静音分片,当终端使用此音频选择器播放视频时,会静音播放。
- FLV_PULL:无需执行推流操作,直接获取用户提供的音视频拉流URL,媒体直播服务从URL拉流直接推流到源站。
- 单击“下一步”。
“输出设置”配置如表2所示。
表2 参数配置 区域
参数
说明
音频输出配置
添加音频输出配置
当输入类型为“HLS_PULL”、“SRT_PULL”和“SRT_PUSH”时,展示此参数。
为可选配置,在如下2种场景下,可通过音频输出配置绑定音频选择器,设置需要展示的语言和流名称。
- 频道出流播放不展示音频实际的语言和流名称时。
- 用户希望改写音频展示的语言和流名称时。
请注意:每个音频输出配置仅支持绑定一个音频选择器,且不同的音频输出配置不能选择相同的音频选择器。所以配置的音频输出配置个数小于等于音频选择器的个数。
详细操作为:单击“添加音频输出配置”,新增“音频输出配置1”,需要配置下述参数。
- 音频输出配置名称:自定义输入,仅支持大小写字母,数字,中划线(-),下划线(_)。同一个频道不同的音频输出配置名称,不允许重复。
- 选择器名称:从下拉框中选择一个已配置的音频选择器,且不同的音频输出配置之间不能重复选择同一个音频选择器。
- 语言代码控制:这里的设置不会修改音频实际的语言,只会修改音频对外展示的语言。
包含如下选项:
- 跟随入流:如果所选音频选择器对应的输出音频有语言,则与其保持一致,否则会以这里配置的语言代码和流名称进行兜底。推荐当前选项,为默认值。
- 自定义:用户根据实际情况自定义输出音频的语言和流名称。
- 语言代码:输入2或3个小写字母的语言代码。示例“eng”含义为English,即英语。
- 流名称(可选):用户界面展示的流名称。
转码配置
转码模板
从下拉框中选择创建直播转码模板中创建的媒体直播转码模板。支持多选。
其他配置
开启时移和回看
如果开启,需要配置“录制窗口大小”,即用户可以查看的频道历史录播内容时长。
单位:秒。
获取频道回看或时移地址的方式,请参见获取频道回看或时移地址。
说明:- 直播录制内容的OBS存储路径为:OBS地址/push_domain/AppName/Channelid。
- 删除已有频道A后,又用频道A使用的推流域名、AppName和频道ID,创建生成频道B。此时,如果频道A的录制内容还未完全老化,那么频道B创建生成的回看URL,可以查看频道A录制的内容。直至频道A的录制内容完全老化后,才会无法再看到。
输出分片参数
分片时长
单个分片的时长,默认值4s。需要为GOP时长的整数倍。
单位:秒,取值范围[1,10]。
注意:修改分片时长会影响已录制内容的时移和回看服务,请谨慎修改!
输出组设置
说明:支持单击右侧的图标,添加多组输出类型。
输出协议
视频转码输出协议。
包含如下选项:
- HLS
- DASH
- MSS
输出组设置
分片数量
分片数量的推荐值为6,即返回6个分片。
取值范围:[2,21600]。
分发URL
设置“分发URL”,从第一个下拉框中选择播放域名,在第二个下拉框中输入播放地址。
拼接完成后,生成播放URL。
支持拼接输出协议为HLS、DASH或MSS的播放地址,示例如下所示:
- HLS协议:https://live-play.example.com/{channelld}/hls/{unique_string}/index.m3u8
- DASH协议:https://live-play.example.com/{channelId}/dash/{unique_string}/index.mpd
- MSS协议:https://live-play.example.com/{channelId}/mss/{unique_string}.ism/Manifest
播放地址支持HTTPS协议,需参考HTTPS证书配置,配置HTTPS证书。
开启DRM加密
用于配置开启DRM加密功能。如果开启DRM加密,需要配置如表3所示的参数。
表3 DRM配置说明 参数
说明
Resource ID
DRM提供的内容资源ID。
Speke Version
AWS Speke协议版本,目前仅支持1.0版本。
DRM类型
DRM加密类型。
配置限制,如下所示:
- HLS输出协议支持FairPlay。
- DASH输出协议支持Widevine、PlayReady、PlayReady+Widevine。
- MSS输出协议仅支持PlayReady。
加密等级
DRM加密级别,包含如下选项,加密Key需从DRM厂商处获取。
- content:一个频道对应一个DRM加密Key。
- profile:一个频道的每路流各自对应一个DRM加密Key。
配置限制:HLS和DASH上述2种加密方式都支持,MSS仅支持content加密。
对接模式
对接DRM的方式,包含如下选项。
- HTTP(S)直接访问:通过输入HTTP(S) URL的方式获取DRM。
Header中的Key和Value,用于校验DRM获取URL的准确性和有效性,非必填。如需添加,需单击“添加Header”输入“Header Key”和“Header Value”值。最多支持添加5组Key和Value值,且Key值不重复。
- FunctionGraph代理访问:用户可以在FunctionGrap服务中构建函数来封装获取DRM的Key和Value值。通过函数的方式,支持动态获取Key和Value,同时支持其他Token认证方式。
选用当前方式,必须先参考云资源授权,开启“FunctionGraph资源委托授权”,以授权媒体直播服务调用FunctionGraph服务函数的权限。
选用当前方式,还需要配置“函数”参数,从下拉框中选择需要使用的函数名称。
须知:频道DRM加密使用FunctionGraph函数时,不会携带FunctionGraph版本信息,默认使用最新版本。
URL
- 获取DRM密钥地址。
- 如果是“HTTP(S)直接访问”的对接模式,需要用户自行填写URL地址。
- 如果是“FunctionGraph代理访问”的对接模式,会自动填充URL地址,且不支持修改。
- 单击“完成配置”,频道管理界面新增一行频道内容。
- 单击“操作”列的“启动”,启用频道。