直播连麦快速入门

直播连麦是实时音视频的经典场景,本文为您演示快速搭建一个直播连麦场景的完整流程。

前提条件

  • 您已经准备好推流域名和播流域名。

说明
  • 为了快速体验视频直播基本功能,建议直播中心选择海外加速区域采用海外及港澳台加速,此时域名无需备案。

  • 如果推流域名和播流域名是同一个一级域名下的两个二级域名,则只需要将一级域名进行备案。

开通服务

  1. 登录阿里云视频直播平台,单击管理控制台,进入控制台。

  2. 单击开通服务,进入视频直播购买页。

  3. 视频直播购买页,选择计费方式按使用流量计费按带宽峰值计费,勾选我已阅读并同意视频直播服务协议并单击立即开通,控制台即可使用。

步骤一 添加推流域名和播流域名

使用视频直播服务前,您需要分别添加推流域名播流域名

  1. 登录视频直播控制台

  2. 在左侧导航栏单击推/播流域名管理,进入域名管理页面。

  3. 单击添加域名

  4. 根据实际需求配置域名详情。

    重要

    当您首次将一个新域名添加至阿里云视频直播时,需要您完成验证域名的归属权,请参见验证域名归属权

    配置域名

    展开查看参数

    参数

    参数分类

    说明

    业务类型

    • 播流域名

    • 推流域名

    指域名的加速类型,推流域名与播流域名分别对应推流加速与播流加速。初次配置后不可更改。

    说明
    • 添加推流域名时,业务类型请选择推流域名;添加播流域名时请选择播流域名

    • 您无法将同一域名既添加为推流域名,又添加为播流域名。

    加速域名

    输入您需要加速的域名。注意事项如下:

    • 加速域名一般使用子域名,例如: demo.aliyundoc.com

    • 直播服务暂不支持添加泛域名,例如: *.aliyundoc.com

    • 加速域名不允许重复添加,如果出现域名已添加的提示,请检查您的域名是否已经添加到其他云产品中,例如视频点播、全站加速、SCDN和视频监控。

    • 开通视频直播服务后,每个账户最多可添加20个域名,如果您域名的总带宽日均峰值大于50 Mbps,且业务无风险,可以提交工单申请增加域名个数。关于如何提交工单,请参见联系我们

    • 加速内容必须合法且符合业务规范,详情请参见域名准入标准

    说明

    子域名必须在同一个账号下。您在添加域名时,直播服务会进行检查,如果子域名被添加到不同账号,系统会报错。

    加速区域

    中国内地

    • 当主播在中国内地时,推流域名应选择中国内地

    • 当观众在中国内地时,播流域名应选择中国内地

    域名需要在工信部备案,推荐您进入阿里云ICP代备案管理系统进行备案。

    全球加速

    • 当主播在中国内地、中国香港、中国澳门、中国台湾以及其他国家和地区时,推流域名应选择全球加速

    • 当观众在中国内地、中国香港、中国澳门、中国台湾以及其他国家和地区时,播流域名应选择全球加速

    域名需要在工信部备案,推荐您进入阿里云ICP代备案管理系统进行备案。

    海外及港澳台加速

    • 当主播在海外及中国香港、中国澳门、中国台湾时,推流域名应选择海外及港澳台加速

    • 当观众在海外及中国香港、中国澳门、中国台湾时,播流域名应选择海外及港澳台加速

    • 如果选择海外及港澳台加速且直播中心在海外,则域名无需在工信部备案。

    • 如果选择海外及港澳台加速且直播中心在中国境内,则域名需要在工信部备案。推荐您进入阿里云ICP代备案管理系统进行备案。

    说明

    关于如何选择CDN加速区域,请参见如何选择域名的CDN加速区域?

    直播中心

    直播中心用来提供云上直播流的媒体处理服务,如截图、录制、转码、云导播等。

    需要关联的直播推流域名与播流域名的直播中心所在地域要保持一致,初次配置后不可更改。

    关于如何选择直播中心,请参见如何选择直播中心?

  5. 记录生成的CNAME记录值,供下一步使用。

    image

步骤二 配置CNAME启用直播加速

启用视频直播加速服务,需要将您的域名(推流域名和播流域名)指向阿里云视频直播分配的CNAME地址。此处以DNS服务商为阿里云(原万网)为例介绍配置CNAME的方法。

说明
  • 由于阿里云CDN校验域名的DNS解析记录的服务器部署在中国内地。如果您对域名做了分区域DNS解析配置,例如仅对域名的中国内地以外区域(中国香港、中国澳门、中国台湾、其他国家和地区)配置了阿里云CDN的CNAME地址,校验服务器将无法解析到该CNAME地址,且在CDN控制台该域名的CNAME状态会显示为待配置,这种情况不影响CDN的加速服务。

  • 阿里云CDN、全站加速DCDN、直播以及点播产品的CNAME域名仅可以作为阿里云CDN的调度解析使用,对于恶意使用CNAME域名的行为,阿里云有权清退对应的域名和账号。

  1. 登录云解析DNS控制台

  2. 在左侧导航栏选择域名解析,进入域名解析页面。

  3. 单击待设置的域名操作列的解析设置

  4. 单击添加记录,配置信息如下所示:001

    参数

    描述

    记录类型

    选择CNAME,将域名指向另外一个域名。

    主机记录

    输入域名的前缀,常见前缀和对应的示例域名如下表所示。

    解析请求来源

    选择默认值。

    记录值

    输入记录的CNAME值。

    TTL

    选择默认值。

    前缀

    示例域名

    说明

    demo

    demo.aliyundoc.com

    解析子域名。

    @

    aliyundoc.com

    解析主域名。

    *

    *.aliyundoc.com

    泛解析。

  5. 单击确认,完成CNAME配置。

验证生效:

  • 方式一:在CNAME配置页面,单击打开CNAME配置向导,在CNAME生效验证处,单击验证CNAME状态。查看CNAME配置是否已生效。

    image

  • 方式二:执行nslookup -type=cname yourdomain.com命令,如果返回的解析结果和视频直播控制台上该域名的CNAME值一致,表示CNAME配置已生效。image

步骤三 关联推流域名和播流域名

目前视频直播采用边缘推流方式,您需要关联推流域名和播流域名,才能进行直播的推流和播流。

  1. 在左侧导航栏单击推/播流域名管理,选择您添加的播流域名,单击操作列的域名配置,进入直播管理 > 基本配置页面。

  2. 单击基础信息页签。

    在此页面,您可以查看该域名的CNAME、创建时间、业务类型、直播中心、加速区域、流数限制。基础信息

    说明
    • 直播配额管理目前仅支持华北2(北京)、华东2(上海)、华南1(深圳)、亚太东南1(新加坡)中心,其余中心提升配额可提交工单。关于如何提交工单,请参见联系我们

    • 关于直播配额管理(流数限制),更多信息请参见配额管理

    • 如需要修改加速区域设置,请参见修改加速区域

  3. 单击推流信息页签。

  4. 单击添加推流信息推流域名后的编辑图标,选择需要关联的推流域名。

创建实时音视频应用

  1. 登录视频直播控制台

  2. 在左侧导航栏,选择直播+ > 实时音视频 > 应用管理

  3. 应用管理页面,单击创建应用ed34559efbe60c8073c93d6038eaaeaa

  4. 填写自定义的实例名称,勾选服务协议后,单击立即购买

  5. 提示开通成功后,刷新应用管理页面,即可查看已创建的连麦应用。

    说明

    创建应用默认不产生费用,实际按照您具体云上用量后付费。更多信息,请参见实时音视频费用

配置旁路转推

说明

在直播连麦场景,您需要配置全局旁路转推(单流转推)至视频直播,并配置直播间观众的播放域名。连麦前,主播的流将会默认被转推至阿里云视频直播,并以直播的形式提供给直播间的观众观看。当开启连麦后,通过调用SDK提供的混流布局接口,将参与连麦的用户的流进行混流布局,并推送至视频直播给观众观看。

  1. 在左侧导航栏,选择直播+ > 实时音视频 > 应用管理

  2. 选择已创建的实时音视频应用,单击操作列管理

  3. 单击旁路转推,在全局旁路转推至阿里云直播区域开启旁路转推开关,并配置转推参数。

    • 播放域名:选择转推至标准直播后的播放域名,可以基于此域名播放直播流、配置转码、录制等。

      重要

      播放域名请勿开启实时直播(RTS 2.0)功能,开启后会造成旁路拉流失败。

    • AppName:转推后直播流地址中的AppName,默认为"live" ,支持您自定义AppName。

      说明

      若您需要为转推后的流绑定转码、录制、截图等模板,需要设置该AppName与模板中的AppName一致模板才会生效。

    • 全局自动SEI设置:将用户的基本信息如uid、混流布局参数等通过系统SEI的形式插入流中。例如直播连麦场景中,当混流转推布局发生变化时,对于麦下直播观众的APP可以实时解析SEI中的布局信息,以便调整交互样式 。具体请参见媒体增强信息(SEI)格式

      • 定时插入SEI:根据指定时间间隔,定时插入SEI帧,允许设置时间为1000ms~5000ms ;

      • 在I帧中插入SEI:在视频流在I帧中插入SEI。

域名HTTPS配置和HTTP头配置(可选)

如果您有Web端观众播放的需求,由于浏览器的安全策略限制,直播播放域名需要配置HTTPS安全加速以及允许跨域请求

允许跨域请求的配置参考配置HTTP消息头中的Access-Control-Allow-Origin 参数。

生成直播连麦的推拉流地址

重要
  • 您可以直接通过Native Demo或者Web Demo体验连麦互动。

  • 目前连麦互动不支持使用Obs推流工具推流,若您想通过推流地址进行推流,请在生成连麦地址之后,使用Windows Demo进行推流。

您可以通过控制台生成或通过自定义拼接主播和连麦观众的推拉流地址,及普通观众(非连麦观众)的直播播放地址。

方式一:控制台生成

如果您希望快速生成主播和连麦观众的推拉流地址,即普通观众(非连麦观众)的CDN播放地址进行体验,可通过控制台工具生成。具体操作,请参见连麦地址生成器

方式二:自定义拼接

通过控制台生成主播和连麦观众的推拉流地址URL中,Token为临时Token,一般用于测试使用。

如果需要正式使用,为了安全起见,请使用自定义拼接的推拉流地址。自定义拼接地址中Token是基于您的SdkAppID、 AppKey、房间ID、UserID和Timestamp通过SHA256加密算法计算得到,防止通过伪造Token盗用您的云服务流量。自定义拼接详细信息,请参见连麦互动场景主播端和连麦观众端推拉流地址普通观众的CDN播放地址

Demo体验

Native Demo

  1. 请参考SDK下载或扫描下方二维码,选择互动版,下载体验直播连麦Demo。

    • Android/iOS:

      image

    • Flutter:

      image

  2. 打开Native Demo,进入首页。单击连麦互动,进入体验连麦互动功能;单击PK互动,进入体验PK互动功能。

    image

  3. 第一次安装Demo,需要输入应用信息。

    1. 在视频直播控制台左侧导航栏,选择直播+ > 实时音视频 > 应用管理

    2. 选择已创建的实时音视频应用,单击操作列管理

    3. 将应用管理中的应用IDAppKey 、旁路转推中配置的播放域名复制并且填写在以下页面中。

      image

  4. 输入用户ID和房间号,开始体验连麦互动/PK互动功能。

    说明
    • 使用连麦互动功能时,主播跟观众的房间ID需要保持一致,但是用户ID需要保持不同。

    • 使用连麦互动功能时,若是观众角色,进入实时音视频页面后,需要填写主播ID,拉取主播的旁路CDN直播流。

    • 请确保设备网络连接正常。

    imageimage

    说明

    如果需要与Web端连麦,体验Native与Web互通效果,请单击连麦互动信息PK互动信息输入页右上角的参数配置,进入互动参数配置页,打开H5兼容模式/H5互通开关。

    imageimage

  5. 开播并进行连麦。

    默认主播和观众进入房间后是未连麦的,主播和观众分别单击开始连麦按钮,并输入对方的用户ID,即可完成连麦。效果如下:

    • 连麦互动页:连麦状态

      image

    • PK互动页:PK状态

      image

Web Demo

  1. 通过访问页面或扫描如下二维码体验Web端直播连麦Demo。

    image

  2. 进入Web Demo页面,将视频直播控制台应用管理中的应用IDAppKey 、旁路转推中配置的播放域名复制并且填写在以下页面中。再输入房间号用户ID用户角色后,开播并进行连麦。

    默认主播和观众进入房间后是未连麦的,主播和观众分别单击开始连麦按钮,并输入对方的用户ID,即可完成连麦。

    重要

    在体验Demo中 ,您需要将直播播放域名的鉴权进行关闭才能正常运行,具体请参见配置URL鉴权。但线上正式使用时强烈建议将URL鉴权打开。

    image

    效果如下:

    image

Windows Demo

重要

您需要准备一个连麦互动地址,连麦地址不同于普通推流地址,详情可参见连麦地址生成器

  1. 点击下载Windows Demo,更多信息请参见SDK下载

  2. 解压之后进入/bin/64bit文件夹。

  3. 点击obs64.exe开始运行。

  4. 在右下角控制区域点击设置

  5. 设置页面选择直播,配置信息如下:

    参数

    描述

    服务

    选择ALIRTC

    服务器

    输入已经生成的连麦互动地址,例如:artc://live.aliyun.com/push/100******?sdkAppId=580c9e85-176f-4a******&userId=10******&timestamp=17211***&token=b4718487960******。

    推流码

    推流码为空。

  6. 来源区域添加推流源。

  7. 点击开始直播即开始推流。