实时音视频
  • iOS
  • Android
  • macOS
  • Windows
  • HarmonyOS
  • Linux
  • Web : JavaScript
  • 小程序
  • Flutter
  • Electron
  • Unity3D
  • uni-app
  • React Native
  • Cocos Creator
  • 产品简介
  • 下载
  • 体验 App
  • 快速开始
    • 跑通示例源码
    • 集成 SDK
    • 实现视频通话
    • 场景化音视频配置
  • 基础功能
  • 进阶功能
  • 最佳实践
  • 常见错误码
  • 服务端 API
  • 客户端 API
  • 常见问题

场景化音视频配置

更新时间:2022-12-09 16:52

功能简介

为方便开发者快速接入,降低开发者接入门槛,SDK 通过大量线上数据验证,沉淀出多种场景化配置方案。开发者可根据所需场景,选择对应的房间模式,SDK 将自动应用适合该场景的音视频编解码器、音视频参数、流控策略等配置,从而快速实现该场景下的最佳效果。当前支持场景包括秀场直播、KTV、标准 1v1 音视频通话、高画质 1v1 音视频通话、标准语聊房、高音质语聊房。

调用方式

创建并初始化一个 ZegoExpressEngine 的实例, options 参数中的 scenario 字段需要指定一个场景,您可以根据实际音视频业务场景来选择。

const zg = new ZegoExpressEngine(appid, server, { scenario: 4 })

目前 SDK 支持下列场景:

同一个房间内的用户,建议使用同一种房间场景,以获得最佳效果。

场景(支持版本:2.21.0 及以上) 场景值 场景描述 关键配置说明
Broadcast
8
直播场景,适用于秀场、游戏、电商、教育大班课等一对多直播的场景,对音画质量、流畅度、兼容性进行了优化。
注意:即便是直播场景,SDK 也没有业务上的 “角色” 之分(例如主播、观众),房间内的所有用户均可推拉流。
  • 分辨率:540p。
  • 帧率:20 fps。
  • 音频编码器兼容:与 iOS SDK、Android SDK、Windows SDK 或 macOS SDK 互通时,需要服务端转码。
StandardVideoCall
4
标准音视频通话场景,适用于 1 V 1 视频或语音通话场景。
  • 分辨率:360p。
  • 帧率:15 fps。
  • 音频编码器兼容:仅可用于 RTC 推流,转推 CDN 时需要服务端转码。
HighQualityVideoCall
5
高品质音视频通话场景,与 StandardVideoCall 场景类似,但该场景默认采用了比 StandardVideoCall 场景更高的视频帧率、码率、分辨率 ,适用于对画质要求较高的视频通话场景。
  • 分辨率:540p。
  • 帧率:25 fps。
StandardChatroom
6
标准语聊房场景,适用于多人纯语音通话。(节省流量)
注意:此场景默认不开启摄像头。
-
Default
3
默认(通用)场景,若上述场景枚举均不符合开发者的实际应用场景,可以使用此默认场景。
  • 分辨率:480p。
  • 帧率:15 fps。

若指定场景后,开发者有对 SDK 音视频配置精细化控制的需求,可通过其他 API 进行配置,优先级高于场景化配置。

可进行精细化配置的 API 接口

若您需要有多种音视频业务场景,例如,同时有 1v1 音视频通话场景和秀场直播场景。您可以在不创建新的引擎实例的前提下,在退出房间后,通过调用 setRoomScenario 切换场景,然后再登录其他房间。

// 退出房间后可修改初始化传入的场景值
zg.setRoomScenario(5);
  • 登录房间后,不再允许修改房间场景。如需进行场景切换,需先退出房间,若登录了多个房间,则需要退出所有房间后才能进行场景切换。若在已登录房间的情况下调用 setRoomScenario ,该次调用无效,返回 false,控制台打印错误码 1000067。
  • setRoomScenario 修改场景成功后,并不会对修改场景前 createStream 已创建的流有影响,只会对于修改场景后再通过 createStream 创建的流产生影响。
  • 在退出房间后,一旦通过 setRoomScenario 进行切换场景,此前通过上方 API 所有进行过的相关音视频的精细化配置,都会被重置为新场景的默认值,因此建议先设置场景后,再通过其他 API 调整音视频配置。
  • 若先进行场景化配置,再通过 createStream 进行相关音视频的精细化配置,则新的参数配置,会覆盖场景化设置中的音视频相关配置。
  • 若有其他场景的设置需求或配置疑问,请联系 ZEGO 技术支持。
本篇目录
1 功能简介
2 调用方式