什么是秀场直播?可能有的人对此不甚了解,秀场直播指的是唱歌跳舞的直播,开直播的人叫主播,在直播间观看或听的人叫观众,关注了经常看主播直播的人叫粉丝。每个月为主播花钱的叫守护,观众送的虚拟礼物通过直播平台可以兑换现金,平台抽取大部分,小部分兑现给主播。

作为最早的网络直播模式,目前秀场类直播已经发展至稳定的成熟期,虽然直播内容形式单一、用户粘性弱,但据CNNIC前瞻产业研究院预估,2021年秀场直播的市场规模也在50亿美元上下。因此依然有不少企业、开发者愿意开发秀场类直播APP,但如何开发?

这涉及了专业的知识点,了解音视频领域的人都知晓,搭建一个秀场直播平台,可以选择直接接入主流直播SDK。即构的秀场直播平台搭建的主流直播sdk就不错,只需4行代码即可接入。

ZEGO即构科技是一家业内领先的实时音视频云服务商,公司于2015年6月在深圳由五位合伙人共同创立,最初的核心研发团队曾参与打造世界顶级的实时通信产品和服务,在音视频技术上,他们有超过20年的积累。据其官网信息显示,公司目前累计服务了超过一千家“平台即服务”(PaaS)客户和数千家SaaS平台客户,其中头部泛娱乐App产品中70%以上选择使用即构的PaaS服务,不少头部在线教育机构选择即构作为供应商,PaaS客户的年流失率一直保持在3%以下,主要客户包括:映客、花椒、微博、国金证券、大地保险、360、喜马拉雅、荔枝、酷狗、咪咕、好未来等。

即构秀场直播平台搭建的主流直播sdk,支持Java、React Native、JavaScript 、Swift、Electron、Flutter等多种语言框架,以下介绍iOS平台下秀场直播的实现流程。

1.架构设计

秀场直播场景的主要架构如下图所示:(以两主播连麦互动为例)

2.功能实现流程

1、主播、观众均通过业务信令服务连接,业务信令服务可以控制当前业务房间内的直播流程,同步并通知各端当前直播状态更新。

2、当为单主播模式时,主播直接向 CDN 推流,观众直接从 CDN 拉流。

3、当要进入连麦互动时,业务信令服务通知连麦者房间内的成员连麦者的信息。

4、连麦者双方接收到信息后,各自停止向 CDN 推流,同时开始推流到 ZEGO 服务器,并拉连麦对方的音视频流。

5、在推拉流的同时,需要启动 ZEGO 混流服务,将连麦者推流到 ZEGO 服务器的多路连麦流混合成一条,再转推到原来的 CDN 地址。(如果连麦者双方混流配置需求不同,则需要双方各启动一条混流,如需要本房间主播画面在左边,对方在右边)

6、观众不需要切换 CDN 拉流地址,即可看到连麦互动画面。

7、业务信令服务通知所有人连麦互动结束,主播停止推流到 ZEGO 服务器并停止 ZEGO 混流服务,重新向 CDN 推单流。

所以,API 大致使用流程如下:(单主播模式以 Express Video SDK 直推 CDN 为例,连麦互动以两位主播 PK 为例)

2.1 初始化 SDK

在使用 Express Video SDK 进行视频通话之前,需要初始化Express Video SDK。由于初始化操作 SDK 内部处理的操作较多,建议开发者在 App 启动的时候进行。

2.2 登录直播房间

主播开始直播或观众观看直播前,需要先登录到直播房间,在收到登录房间成功的回调之后可以直接调用 Express Video SDK的接口进行推拉流操作。

2.3 单主播直播

当为单主播模式时,主播直接向 CDN 推流,观众直接从 CDN 拉流。

2.3.1 主播开始预览并直推 CDN

主播直接向 CDN 推送自己的画面,需要配置直推 CDN 设置接口,然后开始预览并推流。

2.3.2 观众拉流

观众想接收主播的音视频,需指定 CDN 地址拉流(即观看直播)。

2.4 互动连麦

2.4.1 功能介绍

由于 CDN 推拉流延迟较高,所以为了保证连麦双方的最佳体验,需要连麦者向 ZEGO 服务器推拉流进行低延迟连麦。收到开始互动连麦消息后,主播停止向 CDN 推流,转而向 ZEGO 服务器推流,并且拉连麦者流,开启混流服务转推指定 CDN 地址。

2.4.2 停止直推 CDN 并向 ZEGO 服务器推流

主播停止向 CDN 推流,转而向 ZEGO 服务器推流

2.4.3 拉连麦者音视频流

主播需要从 ZEGO 服务器直接拉连麦者音视频流。

2.4.4 开启混流

开启混流后,Zego 服务器会将多路单独的音视频流混成一路音视频流,并转推到主播原 CDN 推流地址,这样观众即可不中断拉流就看到互动连麦画面。

2.5 互动连麦结束

互动连麦结束后,需要切换回单主播推流模式。

主播需要先停止混流、推流,然后再重新直推 CDN 即可。

限于篇幅,以上流程涉及到的相关源码可到即构开发者中心进行查看。