直播连麦是实时音视频的经典场景,本文为您演示快速搭建一个直播连麦场景的完整流程。
前提条件
您已经准备好推流域名和播流域名。
为了快速体验视频直播基本功能,建议直播中心选择海外且加速区域采用海外及港澳台加速,此时域名无需备案。
如果推流域名和播流域名是同一个一级域名下的两个二级域名,则只需要将一级域名进行备案。
开通服务
登录阿里云视频直播平台,单击管理控制台,进入控制台。
单击开通服务,进入视频直播购买页。
在视频直播购买页,选择计费方式按使用流量计费或按带宽峰值计费,勾选我已阅读并同意视频直播服务协议并单击立即开通,控制台即可使用。
步骤一 添加推流域名和播流域名
使用视频直播服务前,您需要分别添加推流域名和播流域名。
步骤二 配置CNAME启用直播加速
启用视频直播加速服务,需要将您的域名(推流域名和播流域名)指向阿里云视频直播分配的CNAME地址。此处以DNS服务商为阿里云(原万网)为例介绍配置CNAME的方法。
由于阿里云CDN校验域名的DNS解析记录的服务器部署在中国内地。如果您对域名做了分区域DNS解析配置,例如仅对域名的中国内地以外区域(中国香港、中国澳门、中国台湾、其他国家和地区)配置了阿里云CDN的CNAME地址,校验服务器将无法解析到该CNAME地址,且在CDN控制台该域名的CNAME状态会显示为待配置,这种情况不影响CDN的加速服务。
阿里云CDN、全站加速DCDN、直播以及点播产品的CNAME域名仅可以作为阿里云CDN的调度解析使用,对于恶意使用CNAME域名的行为,阿里云有权清退对应的域名和账号。
登录云解析DNS控制台。
在左侧导航栏选择域名解析,进入域名解析页面。
单击待设置的域名操作列的解析设置。
单击添加记录,配置信息如下所示:
参数
描述
记录类型
选择CNAME,将域名指向另外一个域名。
主机记录
输入域名的前缀,常见前缀和对应的示例域名如下表所示。
解析请求来源
选择默认值。
记录值
输入记录的CNAME值。
TTL
选择默认值。
前缀
示例域名
说明
demo
demo.aliyundoc.com
解析子域名。
@
aliyundoc.com
解析主域名。
*
*.aliyundoc.com
泛解析。
单击确认,完成CNAME配置。
验证生效:
步骤三 关联推流域名和播流域名
目前视频直播采用边缘推流方式,您需要关联推流域名和播流域名,才能进行直播的推流和播流。
在左侧导航栏单击推/播流域名管理,选择您添加的播流域名,单击操作列的域名配置,进入 页面。
单击基础信息页签。
单击推流信息页签。
单击添加推流信息或推流域名后的编辑图标,选择需要关联的推流域名。
创建实时音视频应用
配置旁路转推
在直播连麦场景,您需要配置全局旁路转推(单流转推)至视频直播,并配置直播间观众的播放域名。连麦前,主播的流将会默认被转推至阿里云视频直播,并以直播的形式提供给直播间的观众观看。当开启连麦后,通过调用SDK提供的混流布局接口,将参与连麦的用户的流进行混流布局,并推送至视频直播给观众观看。
在左侧导航栏,选择
。选择已创建的实时音视频应用,单击操作列管理。
单击旁路转推,在全局旁路转推至阿里云直播区域,开启旁路转推开关,并配置转推参数。
播放域名:选择转推至标准直播后的播放域名,可以基于此域名播放直播流、配置转码、录制等。
重要播放域名请勿开启实时直播(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
请参考SDK下载或扫描下方二维码,选择互动版,下载体验直播连麦Demo。
Android/iOS:
Flutter:
打开Native Demo,进入首页。单击连麦互动,进入体验连麦互动功能;单击PK互动,进入体验PK互动功能。
第一次安装Demo,需要输入应用信息。
在视频直播控制台左侧导航栏,选择
。选择已创建的实时音视频应用,单击操作列管理。
将应用管理中的应用ID 、AppKey 、旁路转推中配置的播放域名复制并且填写在以下页面中。
输入用户ID和房间号,开始体验连麦互动/PK互动功能。
说明使用连麦互动功能时,主播跟观众的房间ID需要保持一致,但是用户ID需要保持不同。
使用连麦互动功能时,若是观众角色,进入实时音视频页面后,需要填写主播ID,拉取主播的旁路CDN直播流。
请确保设备网络连接正常。
说明如果需要与Web端连麦,体验Native与Web互通效果,请单击连麦互动信息或PK互动信息输入页右上角的参数配置,进入互动参数配置页,打开H5兼容模式/H5互通开关。
开播并进行连麦。
默认主播和观众进入房间后是未连麦的,主播和观众分别单击开始连麦按钮,并输入对方的用户ID,即可完成连麦。效果如下:
连麦互动页:连麦状态
PK互动页:PK状态
Web Demo
Windows Demo
您需要准备一个连麦互动地址,连麦地址不同于普通推流地址,详情可参见连麦地址生成器。