更新时间:2024-11-25 GMT+08:00

创建频道

媒体直播需要创建频道后,才能播放频道内容。

前提条件

使用限制

  • 一个租户最多支持创建500个频道。如果有更多的频道需求,请提交工单扩容。
  • 所有频道仅支持单码率入流,且必须经过转码后,才能提供多码率出流。
  • RTMP_PUSH类型的频道需要配置RTMP协议的推流域名。SRT_PUSH类型的频道需要配置SRT协议的推流域名。

    所以同一个域名,不支持同时创建“SRT_PUSH”和“RTMP_PUSH”类型的频道。

  • “SRT_PUSH”输入类型的频道,为了保障可靠性,必须满足下述条件:
    • “SRT_PUSH”输入类型的频道支持主备双URL,编码器要同时向主备双URL推流。
      • 如果编码器支持streamid,默认只返回一个输入URL,示例如图1所示。
        如果需要主备Region同时双推,请提交工单处理。
        图1 频道详情
      • 如果编码器不支持streamid,会同时返回主备输入URL,示例如图2所示。
        图2 频道详情
    • 编码器推流断链时,需具备主动重推能力。建议断链重推周期小于一个分片时长。
  • 频道DRM加密使用FunctionGraph函数时,不会携带FunctionGraph版本信息,默认使用最新版本。
  • 如果DRM故障会返回404,此问题华为侧无法解决,建议用户直接关闭DRM。

创建频道

  1. 登录视频直播控制台
  2. 在左侧导航栏中,选择“媒体直播 > 频道管理”。
  3. 单击“创建频道”,进入“创建频道”界面。

    “基础信息”配置如下所示:

    • 频道名称:设置频道名称。
    • 频道id:设置频道ID。
    • 应用名:应用名称,默认为“live”,不支持修改。

  4. 单击“下一步”。

    “添加输入”配置如表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的音轨,如果匹配不到,媒体直播服务会自动补齐一个静音分片,当终端使用此音频选择器播放视频时,会静音播放。

  5. 单击“下一步”。

    “输出设置”配置如表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证书。

    须知:
    • 如果4中“输入类型”为RTMP_PUSH或SRT_PUSH时,这里配置的播放域名需要与“输入类型”中输入的推流域名所在Region保持一致。
    • 如果4中“输入类型”为FLV_PULL、HLS_PULL或SRT_PULL,且这里设置了多组输出类型,那么所有输出类型中的播放域名必须在同一Region。
    • MSS不支持H.265清流或密流输出。

    开启DRM加密

    用于配置开启DRM加密功能。如果开启DRM加密,需要配置如表3所示的参数。

    须知:
    • 如果频道开启DRM加密,且选择“FunctionGraph代理访问”的方式,提供对接DRM的密钥,需要提前完成下述工作:
      • 提前开启FunctionGraph资源委托授权,操作详见云资源授权
      • 提前在函数工作流FunctionGraph服务中构建函数
    • 如果DRM故障会返回404,此问题华为侧无法解决,建议用户直接关闭DRM。
    表3 DRM配置说明

    参数

    说明

    Resource ID

    DRM提供的内容资源ID。

    Speke Version

    AWS Speke协议版本,目前仅支持1.0版本。

    如需了解AWS Speke协议请查阅Speke协议。使用本协议需遵循License要求

    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地址,且不支持修改。

  6. 单击“完成配置”,频道管理界面新增一行频道内容。
  7. 单击“操作”列的“启动”,启用频道。

管理频道

频道新增完成后,您还可以根据实际需要进行如下操作。

  • 启用频道

    频道创建完成后,若您需要使用,请单击操作列的“启动”,启用频道。

  • 停用频道

    如果频道需要停止,请单击操作列的“停止”,停用频道。

  • 修改频道配置

    如果需要修改频道,请单击操作列的“管理”,修改频道的配置项。如果修改的频道是启用状态,那么修改完成后,自动重启,重启耗时约30s。频道重启过程中,音视频流会中断,待重启完成后,自动恢复。

  • 删除频道

    如果频道需要删除,需要先停用,再单击操作列的“删除”,删除频道。如果当前频道有正在处理中的直播转点播任务,将无法删除,需要等任务执行结束后再删除。