! 新版开发者中心已正式上线,旧文档将于6月30日下架,不再维护 立即体验
互动视频

概述

下载pdf
更新时间:2020-03-16 10:15

视频直播场景的典型使用案例是主播和观众以一对一、一对多、或多对多的关系,进行视频直播,例如秀场直播等。

此应用场景展示了三种直播方式:

  • 单主播直播:房间内只有一个主播进行直播,房间内的其余用户都只能观看到该主播的音画。
  • 多主播直播:房间内有多个主播进行直播(比如主播和副主播),房间内的其余用户可以看到多个主播的音画。
  • 混流直播:房间内可以有一个或多个主播直播,通过混流将多个直播流合成一条音视频流,观众端拉取一条音视频流就能看到所有的直播画面,对用户设备的性能和网络带宽要求低,降低了开发实现上的复杂性。

ZEGO 提供了对视频直播场景的支持,建议开发者按照下述步骤,逐渐熟悉并掌握视频直播技术的使用与开发

视频 视频 视频

1 体验 App 下载地址

安装 LiveDemo5 后,可自行体验其功能,包括单主播,连麦,混流等功能。

下载地址请参考:

若需参考直播源码,请查看 Demo 运行指引,互动视频示例 Demo 源码更容易参考。

2 功能列表

主要功能 功能描述
登录房间 使用主播或观众的身份登录房间,用来标识后续是进行直播还是只观看。
推流 主播可以直播自己的音画。
拉流 观众可以观看主播的音画。
连麦 观众可以向主播申请连麦成为主播,主播也可以邀请观众成为主播。

请注意,开发者如果想使用 ZegoLiveRoom SDK 实现更高级的功能,例如混音、音频录制、外部采集、外部渲染、外部滤镜等,请直接参考 ZegoLiveRoom SDK 的视频进阶、音频进阶功能

3 直播架构图

3.1 连麦系统架构图

3.2 混流系统架构图

3.3 实现结构图

单主播、多主播、混流模式的实现区别如下:

  1. 单主播模式:publishFlag = ZegoConstants.PublishFlag.SingleAnchor,推流端推流到 CDN,拉流端从 CDN 拉流。
  2. 多主播模式:publishFlag = ZegoConstants.PublishFlag.JoinPublish,推流端推流到 ZEGO 媒体服务器,拉流端从 CDN 拉多路单流。
  3. 混流模式:publishFlag = ZegoConstants.PublishFlag.MixStream,推流端推流到 ZEGO 媒体服务器,拉流端有两个选择:可以从 CDN 拉多路单流,也可以从 CDN 拉一路混流。

数据流结构图如下: