实时音视频
  • iOS
  • Android
  • macOS
  • Windows : C#
  • HarmonyOS
  • Linux
  • Web
  • 小程序
  • Flutter
  • Electron
  • Unreal Engine
  • Unity3D
  • uni-app
  • React Native
  • Cocos Creator
  • 产品简介
  • 下载
  • 快速开始
    • 跑通示例源码
    • 集成 SDK
    • 实现视频通话
  • 客户端 API
  • 服务端 API
  • 常见错误码
  • 常见问题
  • 文档中心
  • 实时音视频
  • 产品简介
  • 发布日志

发布日志

更新时间:2024-01-30 20:57

3.6.0 版本

发布日期:2023.06.12

改进优化

1. 优化代码结构,提高易用性



3.0.3 版本

发布日期:2022.12.02

新增功能

1. 支持分割和传输视频画面中的主体

注意:如需使用该功能,请联系 ZEGO 技术支持。

新增主体分割和传输功能。通过 AI 算法,将视频画面中的主体(多数情况下主体是人)从背景中分离出来,返回带透明通道的数据给 SDK 做编码处理。实现只传输视频中的主体而非原始矩形视频的效果。

当前仅支持通过内部采集的方式使用该能力。

2. 场景化 AI 降噪新增在音乐场景下降噪的能力

注意:如需使用该功能,请联系 ZEGO 技术支持。

场景化 AI 降噪功能,在之前针对所有非人声进行降噪的基础上,新增支持在音乐场景下的降噪能力,通过识别音乐,智能调整降噪效果还原音乐音质。SDK 会实时对麦克风输入内容进行音乐检测,在声卡、弹唱或近场音乐场景下,自动调整降噪等级,保证音乐的高保真音质。

3. 新增支持 SOCKS5 本地代理

若在内网或防火墙场景下,您可以通过代理服务器与公网交互,并通过 [SetEngineConfig] 设置代理服务器地址,保证 ZEGO 音视频云服务正常,目前仅支持 SOCKS5 协议。

4. 自定义视频采集功能支持 H.265 码流

注意:

  • 推荐每 2s 一个 GOP,每个 I 帧必须携带 SPS 和 PPS,且放在最前面。调用 [EnableCustomVideoCapture] 时,传递的参数类型必须为 [ZegoVideoBufferTypeEncodedData]。
  • 不支持输入 B 帧。

5. H.264 及 H.265 硬件编解码支持使用 AMD/NVIDIA/Intel 系列显卡

注意:若要开启该功能,需要联系 ZEGO 技术支持。

支持 AMD/NVIDIA 独立显卡和 Intel 核芯显卡,您可以通过 [SetEngineConfig] 修改默认显卡优先级。

6. 混流支持设置视频边框为圆角

在调用 [StartMixerTask] 接口混流时,开发者可以通过 [ZegoMixerInput] 类型参数,设置 [CornerRadius](视频画面圆角半径),将视频边框设置为圆角。[CornerRadius] 的单位为 px,取值不得超过视频画面宽高中较短者的一半。

7. 拉流接口增加 CDN Plus 拉流配置项

注意:若希望通过地区、用户等更多维度,从云端控制拉流方式,请联系 ZEGO 技术支持进行相关配置。

拉流接口新增 CDN_PLUS 的拉流资源模式(ZegoStreamResourceMode),开发者可按流维度自行开启使用CDN_PLUS 拉流。CDN Plus 拉流是比 CDN 拉流直播质量更高,但是价格接近 CDN 的一种性价比高的拉流方式。

8. 支持设置混流中单条输入流的图片信息

注意:图片地址长度不得超出1024 字节,否则出现错误码 1005034;图片格式应为 JPG 和 PNG 格式,否则出现错误码 1005035;图片不得超过 1M,否则出现错误码 1005036。

支持通过 [StartMixerTask] 接口的 [ZegoMixerImageInfo] 类型参数,设置图片地址,将单条输入流的内容设置为图片,用于替代视频,即当使用图片时不显示视频。该功能的使用场景为连麦时,视频用户可能需要暂时关闭摄像头而显示其图片,或者当视频用户和音频用户连麦,需要显示音频用户的图片。

9. 支持设置调用 MutePlayStreamVideo 后是否清除最后一帧

注意:如需使用该功能,请联系 ZEGO 技术支持。

开发者发现推流用户违规时,调用 [MutePlayStreamVideo] 接口暂停拉流用户拉取违规用户的视频流,要求违规用户整改,同时使用本功能,可避免因拉流用户的视频界面依然保留最后一帧导致的违规风险。

10. 支持线性增长的音量增益

注意:如需使用该功能,请联系 ZEGO 技术支持。

提供新的音量增益方式,开发者可以根据实际需求选择合适的音量增益方式。

11. 支持设置流级别的音视频自动审核

注意:如需使用该功能,请联系 ZEGO 技术支持开通后台服务。

在调用 [StartPublishingStream] 接口开始推流时,开发者可以设置 [ZegoStreamCensorshipMode] 参数,进行流级别的音视频自动审核,包含如涉黄、涉政等审核类型,以此降低开发者的接入难度和业务维护成本。

12. 直推 CDN 的流支持通过 L3 拉流

直推 CDN 时,在不改变推流方式的情况下,SDK 从客户的 CDN 源站拉流,通过 L3 将音视频内容分发给观众,通过 [ZegoResourceType] 控制源站资源。该功能常用于直播场景。

13. 新增 AI 降噪功能

注意:AI 降噪目前会对麦克风采集的音乐有较大损伤,包括人通过麦克风唱歌的声音。如需使用该功能,请联系 ZEGO 技术支持。

AI 降噪指的是 SDK 会对麦克风采集的声音进行降噪处理,在原有的稳态噪声正常处理的情况下,还会处理非稳态噪声,主要包括鼠标、键盘声、敲击、空调、厨房碗碟、嘈杂餐厅、环境风声、咳嗽、吹气 等非人声噪声。通过 [SetANSMode] 接口中的 [ZegoANSMode] 参数设置 AI 降噪模式,并且可以实时调整降噪模式。

该功能常用于通话、会议等没有背景音乐的场景,例如普通音质语聊房、语音会议、语音开黑、一对一视频通话。

14. CDN 直播时支持使用 QUIC 协议推拉流

QUIC 协议推拉流主要用于改善弱网环境下 CDN 直播质量不稳定的情况,但是改善有限,推荐使用低延时直播,享受高质量且低延时的直播服务。当前支持使用腾讯、网宿两家 CDN 直播产品的 QUIC 协议推流及拉流。

通过 [EnablePublishDirectToCDN] 接口中的 [ZegoCDNConfig] 参数配置推流协议和 QUIC 版本,若想进行 QUIC 协议的自定义 CDN 拉流,需要通过 [StartPlayingStream] 中的 [ZegoPlayerConfig] 参数配置拉流协议和 QUIC 版本。

15. 支持监听推拉流的地址和协议相关信息

发起推流后,可以通过 [OnPublisherStreamEvent] 回调实时监听推流状态,该回调会返回当前使用的推流地址、资源类型和协议相关信息。

发起拉流后,可以通过 [OnPlayerStreamEvent] 回调实时监听拉流状态,该回调会返回当前使用的拉流地址、资源类型和协议相关信息。

16. 拉流质量回调 [OnPlayerQualityUpdate] 中新增 MOS 音质评分

[OnPlayerQualityUpdate] 回调新增 [mos] 参数,表示对拉流音质的评分。开发者对音频质量比较关注时,可通过该参数了解当前音频的质量情况。

17. 支持基于 rtmp over quic 协议推流

注意:如需使用该功能,请联系 ZEGO 技术支持。

为了在弱网环境下让推流端可以推更高画质的视频流,SDK 支持基于 rtmp over quic 协议来推流,该功能常用于单主播直推 CDN、直播 PK 场景。

18. H.265 拉流支持自动降级

注意:如需使用该功能,请联系 ZEGO 技术支持。

2.15.0 及之前版本:SDK 在使用 [StartPlayingStream] 拉 H.265 编码的流时,如果拉流端出现因硬件性能较差导致解码帧率不足时,SDK 无法主动降级,需要用户先停止拉 H.265 编码的流,再转拉 H.264 编码的流。

2.16.0 及以上版本:新增 H.265 拉流自动降级策略,在使用 [StartPlayingStream] 拉 H.265 编码的流时,SDK 可以根据拉流质量情况,在拉流端硬件性能较差导致解码帧率不足的情况下,会自动降级拉 H.264 编码的流。

19. 本地媒体录制支持 utf8 格式的文件路径

在预览或推流成功之后,调用 [StartRecordingCapturedData] 接口将音视频数据录制到本地时,支持将录制文件保存到 utf8 格式的文件路径下(推荐开发者使用该格式)。

改进优化

1. 针对 1v1 纯 RTC 通话场景进行优化

注意:如需使用该功能,请联系 ZEGO 技术支持。

针对 1v1 通话场景进行了优化,适用在纯 RTC 场景下使用。

2. 优化空间音频功能

对空间音频能力进行了优化,用户可以区分前后音源,从而达到更好的沉浸感。

3. 优化极端弱网下的音视频体验

SDK 优化了内部策略,在音视频的场景下,支持最小下行 50 kbps 拉流不卡顿,保障更好的极端弱网下的体验。

4. 优化网络质量回调,感知远端用户异常状态

当远端用户异常时,[OnNetworkQuality] 每 2s 回调一次质量未知状态(ZegoStreamQualityLevelUnknown 状态),当用户该状态持续 8s 后,则认为远端用户已异常断开,此时回调质量异常状态(ZegoStreamQualityLevelDie 状态)。

5. 优化网络质量回调,网络质量反馈更灵敏

推拉流质量回调会每隔 3s 回调一次质量最差的结果,当周期内出现严重的抖动或丢包时,能够立刻反馈出流质量差。

6. 优化日志上报策略

优化日志上报策略,提高日志上传效率。

7. 优化 AGC 的谐波检测算法

AGC 新改进的谐波检测算法存在崩溃问题,现回退至老版本的谐波检测算法。

8. 优化开启强制登录鉴权时,Token 异常的相关错误码

新增 1002074、1002075、1002076、1002077、1002078、1002079、1002080 等错误码。开启强制登录鉴权后,如果 Token 错误时,会返回这些错误码,详情请参考 常见错误码 中的详细解释和处理建议。

9. Windows 支持 N 卡的 H.265 硬件编解码

注意:若要开启该功能,需要联系 ZEGO 技术支持。

10. 实时合唱人声伴奏对齐优化

优化了 KTV 实时合唱场景中,人声和伴奏对齐能力。避免当客户端同时推人声和伴奏两条流时,因为设备播放的延迟,导致人声和伴奏不对齐,造成的体验下降。

11. 统一 Express 实时音视频和实时语音 SDK 的接口

从 v2.20.0 版本起,实时音视频和实时语音之间不再有 API 的差异,即可以随时从实时音视频 SDK 切换到实时语音 SDK,反之亦然。两种 SDK 之间唯一的区别是对于实时语音 SDK 来说,部分跟视频相关的 API (例如视频编码参数设置、预览和拉流的 ZegoCanvas 参数等)设置后没有效果,但不会报错,注意此次改动可能会产生极少数不兼容问题。

12. 开发者传入不存在的 AppID 时报错的错误码从 1002099 优化为 1001004

13. 优化回声消除,解决 KTV 等场景的吞音现象

14. 新增 1009013 错误码

表示消息输入长度超出限制。出现此错误码时,请检查输入内容长度或联系 ZEGO 技术支持扩展消息内容长度。

15. 新增 1017009 错误码

在版权音乐初始化时,由于未设置 AppSign 或 Token,导致鉴权失败,会出现此错误码。此时,如果是使用 AppSign 鉴权,请在初始化 SDK 时传入 AppSign;如果是使用 Token 鉴权,在调用 [InitCopyrightedMusic] 接口前,请调用 [LoginRoom] 接口并传入 Token,以供鉴权。

16. 为了提高安全性,此版本将 curl 升级到 7.82.0

17. 混流文字水印支持设置字体边框及颜色

调用 StartMixerTask 接口,通过 [ZegoFontStyle] 中的 [Border] 属性可以设置字体是否有边框,通过 [BorderColor] 属性可以设置字体边框颜色。

18. 完善开始混流接口 [StartMixerTask] 返回的错误码

新增 1005000 错误码,表示未开通混流服务。出现此错误码时,请在 ZEGO 控制台 自助开通混流服务,或联系 ZEGO 技术支持开通。

19. 优化了鉴权方式

2.17.0 及以上版本,在创建引擎时将 AppSign 传空或不传,并且在登录房间时必须传入 Token,鉴权通过后即可使用实时音视频功能,具体请参考 使用 Token 鉴权。

2.17.0 以下版本,在创建引擎时传入 AppSign,鉴权通过后即可使用实时音视频功能。

问题修复

1. 修复了字符串类型的参数命名长度超长时可能导致崩溃的问题

2. 修复了其他已知问题

废弃删除

1. 废弃了 [ZegoScenario] 的三种旧版本场景

废弃 [ZegoScenario] 场景枚举中的 [General],[Communication], [Live] 三种场景。

2. 删除了旧接口,替换为新接口

删除 [OnDeviceError]、[EnableAudioDataCallback]、[SetDebugVerbose] 接口,替换为 [OnLocalDeviceExceptionOccurred]、[StartAudioDataObserver] 和 [StopAudioDataObserver]、[EnableDebugAssistant]。



2.15.0 版本

发布日期:2021.12.15

新增功能

1. 新增音效播放器功能

音效是指为了增强真实感或者烘托场景氛围播放的简短效果音,例如:在直播期间播放掌声、礼物音效、提示音等;在游戏中,播放子弹声、碰撞打击声。

新增 [ZegoAudioEffectPlayer] 类型,支持音效播放器功能。音效播放器支持音效播放(可以多音效重叠播放)、播放控制(如暂停播放、音量调节、设置播放进度)、预加载音效等功能。

2. 新增版权音乐功能

注意:如需使用该功能,请联系 ZEGO 技术支持。

支持通过版权音乐功能,获取版权歌曲或伴奏资源,并结合媒体播放器进行本地播放控制。可以用于在线 KTV 、语聊房等合唱或使用背景音乐的场景。

3. 新增多房间功能

同一个用户可以同时加入多个房间,并同时在多个房间内(目前默认最多同时加入 5 个房间)推流、拉流、发送实时消息和接收消息回调。本功能可以隔离多个房间的消息及回调,实现更灵活的连麦业务。ZEGO 推荐用于跨房间连麦和在线教育的超级小班场景。

需要在初始化 SDK 之前,调用 [SetRoomMode] 接口设置多房间模式,然后调用 [LoginRoom] 接口登录多房间。

4. 新增示例源码

新增 Example 示例源码,包含简单的接口调用示例。

改进优化

1. 去测试环境

为了降低开发者对环境的理解成本,ZEGO 已统一环境概念,从该版本开始,统一使用正式环境,更新了 [CreateEngine] 接口,支持配置 "ZegoEngineProfile" 参数。在 2.15.0 版本之前已接入过 SDK 的开发者,可以参考 测试环境废弃说明 进行 SDK 升级及代码调整。

2. 多媒体播放器功能扩展

多媒体播放器 [ZegoMediaPlayer] 新增如下接口:

  • LoadCopyrightedMusicResourceWithPosition:用于加载版权音乐
  • SetAudioTrackIndex:用于设置音轨接口
  • GetAudioTrackCount:用于获取音轨数量接口

问题修复

1. 修复了接口参数为中文字符串时出现乱码的问题

本篇目录