发布日志
3.21.0 版本
发布日期: 2025-06-12
新增功能
-
支持自定义 CDN 拉流超时等待时间
注意如需使用本功能,请联系 ZEGO 技术支持。
针对从 CDN 拉流超时等待过长,导致用户实际体验不佳的情况,SDK 对 CDN 拉流内部超时逻辑优化,降低超时等待时长。此外,SDK 支持开发者自定义拉流超时时间。
-
支持推流时设置直播标题
若要在直播列表等场景展示直播标题,SDK 支持开发者在主播调用 startPublishingStream 接口开始推流前,通过 ZegoPublisherConfig 中的 streamTitle 参数配置标题。
相关 API 请参考 startPublishingStream, ZegoPublisherConfig > streamTitle
-
媒体播放器新增有关资源文件权限的错误码
优化媒体播放器的回调通知逻辑,针对“播放资源无权限”的错误新增错误码 1008015,帮助开发者快速定位问题。
相关 API 请参考 onMediaPlayerStateUpdate
改进优化
-
更新 libvpx 版本
为提升 SDK 安全质量,第三方库 libvpx 已升级至 1.13.1 版本。
-
降低登录和推拉流等操作的耗时
优化 SDK 调度逻辑,降低登录、推拉流耗时,提升用户秒开体验。
-
优化低照度增强算法
优化低照度增强算法,使得明暗切换更平滑,并且规避过曝问题。
-
优化双声道音频编码
注意如需使用本功能,请联系 ZEGO 技术支持。
优化特定场景下双声道音频编码效率:在保证相同音质的前提下,降低音频码率,减轻用户带宽消耗,提升播放流畅度与体验。
-
优化房间流补充增强信息发送表现
当房间流补充增强信息发送失败时,SDK 会在流的生命周期内重试直至发送成功,提升房间流补充增强信息可靠性。
问题修复
- 修复用户在推流中,调用拉流接口传入转码模板无效的问题
3.20.0 版本
发布日期: 2025-03-21
新增功能
-
支持赛事解说场景的音画精准同步
注意如需使用该功能,请联系 ZEGO 技术支持。
为赛事解说场景新增接口,支持解说流与赛事流的音画精准同步对齐,为观众带来优质的观看体验。
-
新增用户维度的网络质量回调
新增 onRtcStats 回调,开发者可用于衡量用户维度的 RTC 网络质量,该接口将本端用户所有推、拉流的质量数据进行聚合统计并回调,包括:
- 上行 & 下行:占用带宽、RTT、丢包率。
- 端到端延迟。
相关 API 请参考 onRtcStats
改进优化
-
优化直推 CDN 时因弱网导致的本地录制卡顿现象
注意如需使用该功能,请联系 ZEGO 技术支持。
在直推 CDN 网络不稳定的情况下,保障本地录制的画面流畅,适用于对本地录像要求较高的在线教育以及会议等场景。
问题修复
- 修复已知问题,优化 SDK 性能
3.19.0 版本
发布日期: 2025-01-20
新增功能
-
独唱场景下支持动态响度均衡功能
开启动态响度均衡后,根据媒体播放器伴奏的实时表现,SDK 动态调整人声响度,使人声与伴奏响度时刻保持恰当比例,提升人声与伴奏融合度,观众体验更佳,适用于实时 KTV 的独唱场景。
相关 API 请参考 enableAuxBgmBalance
-
媒体播放器播放在线资源时,支持缓存资源文件
开发者可通过配置 ZegoMediaPlayerResource-onlineResourceCachePath 参数,设置缓存资源文件路径。此外可通过 ZegoMediaPlayerResource-maxCachePendingLength 参数设置从当前播放时间点,最多可预缓存的数据长度(单位 bytes)。从而使媒体播放器播放在线资源时,可以减少用户资源下载频次,提高资源复用率与用户体验。
注意生成缓存文件的同时,SDK 同时会生成一个 ".info "后缀的文件,用于记录缓存信息(如缓存的起始位置等)。用户使用该功能时,需要自行负责清理"缓存文件"及"缓存信息文件"。
相关 API 请参考 ZegoMediaPlayerResource > onlineResourceCachePath, ZegoMediaPlayerResource > maxCachePendingLength
-
自定义视频采集功能支持由开发者控制外部时间戳
使用自定义视频采集时,支持由开发者自行对齐音频帧和视频帧的外部时间戳,保证音画同步以及播放器正常工作。
相关 API 请参考 ZegoVideoEncodedFrameParam > isExternalClock
改进优化
-
优化 CDN 域名解析逻辑,避免阻塞线程
CDN 推拉流的域名解析逻辑,由同步改为异步操作,避免阻塞线程。
-
降低首帧延迟,提升用户秒开体验
针对首次运行 ZEGO Express SDK 的设备,可降低进房耗时、推拉流耗时,提升用户秒开体验。
-
PC 端回调接口支持非主线程回调
在 macOS 与 Windows 平台的 createEngine 接口中,新增 [callbackSwitchToMainThread] 参数,当其设置为 false 时,回调接口支持非主线程回调,适用于单元测试等无交互界面的测试场景。
相关 API 请参考 createEngine
3.18.1 版本
发布日期: 2024-12-16
问题修复
-
登录耗时优化
-
修复实验性 API 老版本兼容性的问题
-
修复媒体播放器低概率状态异常的问题
3.18.0 版本
发布日期: 2024-12-03
新增功能
-
新增 AI 回声消除(AEC)
注意如需使用该功能,请联系 ZEGO 技术支持。
AI AEC 支持智能识别并且消除回声。相较传统 AEC 算法,人声保真度效果提升明显,且没有额外的延迟与功耗增量。适用于实时 KTV 、高音质语聊与视频等场景。
相关 API 请参考 ZegoAECModeAI
-
支持将混流后的输出流加入到目标房间
混流功能支持将混流后的输出流,加入到指定房间,即支持设置输出流的目标房间信息 targetRoom。每条输出流只支持加入一个房间,且一旦添加,混流过程中不支持动态更新房间。如需使用服务端接口实现该功能,可参考 开始混流 文档。
相关 API 请参考 targetRoom
改进优化
-
AI 变声新增性能不足的回调
部分机型由于睿频等原因引起性能不足,可能导致 AI 变声中途失效。现新增性能不足的相关回调通知,以便开发者做后续业务处理。
相关 API 请参考 onEvent
-
减少推拉流耗时,提升 SDK 性能
问题修复
-
修复媒体播放器 URL 链接带空格时,加载失败的问题
-
修复媒体播放器开启本地缓存后,偶现播放崩溃的问题
3.17.0 版本
发布日期: 2024-09-27
新增功能
-
Flutter 框架支持 Linux 平台
支持 Debian 10 或以上版本、Ubuntu 20.04 LTS、22.04 LTS、24.04 LTS。
-
Linux 平台支持使用屏幕共享功能
注意:
-
仅支持带图形界面的 Linux 系统,包括统信 UOS 及中电麒麟操作系统。无图形界面的 Linux 系统不支持该能力。
-
如需在 Linux 系统实现屏幕共享功能,请联系 ZEGO 技术支持。
-
-
支持自定义观众上麦前和下麦后的拉流资源类型
支持分别设置观众在上麦前和下麦后的拉流资源类型,使拉流方式更灵活,可设置分别为:通过 RTC 拉流、超低延迟直播(L3)拉流或 CDN 拉流中任意一种拉流方式。例如,可用于实现直播连麦场景中,观众上麦前默认使用 L3 拉流,上麦互动时切换为通过 RTC 拉流,下麦后恢复为通过 L3 拉流。
相关 API 请参考 startPlayingStream, ZegoStreamResourceModeCustom, ZegoPlayerConfig > customResourceConfig
改进优化
-
登录房间时,userName 字段改为非必填字段
调用 loginRoom 接口登录房间时,
userName
原来为必填字段,本次优化为非必填的可选字段。相关 API 请参考 loginRoom
-
优化双声道变声效果,并提升音乐变调的音质
相关 API 请参考 setVoiceChangerParam
问题修复
-
修复无法解析 H.265 码流中,存在异常裁剪区域的问题
-
修复反初始化时,监控模块崩溃,导致主线程卡死的问题
-
修复版权音乐在开始打分时,可能出现崩溃的问题
-
调整生命周期,修复已知崩溃问题
-
修复媒体播放器已知的问题
3.16.0 版本
发布日期: 2024-07-26
新增功能
-
AI 降噪新增低延迟模式
注意:如需使用该功能,请联系 ZEGO 技术支持。
在 10ms 延迟下,依然保持纯净的降噪效果以及高保真的人声音质,适用于游戏语音、游戏开黑、实时合唱等对延迟较为敏感的场景,目前 AI 降噪已支持均衡模式、低延迟模式以及轻量模式,详情请参考 场景化 AI 降噪。
相关 API 请参考 setANSMode
-
通过超低延迟直播(L3)拉流时,支持自适应码率播放
注意:如需使用该功能,请联系 ZEGO 技术支持。
使用 ZEGO 超低延迟直播(L3)拉流时,支持根据用户的网络带宽自适应平滑切换不同码流,保障用户的流畅播放体验。
[ZegoPlayerConfig] 新增
adaptiveSwitch
和adaptiveTemplateIDList
参数,用于支持 OnlyL3 拉流模式下,基于网络环境的码率自适应切换。相关 API 请参考 startPlayingStream, adaptiveSwitch, adaptiveTemplateIDList
-
支持使用 CDN 拉流时进行平滑切换
注意:如需使用该功能,请联系 ZEGO 技术支持。
新增 [switchPlayingStream] 接口,用于开发者拉 CDN 流时,平滑切换至其他 CDN 流,即成功拉到新流后,才会停止拉旧流。
例如,当视频画面从小窗口切换为大窗口时,需将视频切换为码率和分辨率更高的流,此时将会在成功拉到新流后,才会停止拉旧流,以达到平滑切换的效果。
相关 API 请参考 switchPlayingStream
-
H.265 客户端编码自动兼容策略新增用户级的协商范围
注意:如需使用该功能,请联系 ZEGO 技术支持。
控制本端客户端编码兼容范围为房间内所有推流用户或所有用户,即当指定范围内存在用户不支持 H.265 时,本端客户端编码动态回退。
相关 API 请参考 loginRoom, startPublishingStream, ZegoPublisherConfig > codecNegotiationType, ZegoRoomConfig > capabilityNegotiationTypes
废弃删除
-
废弃拉流接口中关于 CDN Plus 的配置
下架畅直播概念,废弃 CDN Plus 直播相关接口。如需实现直播功能,推荐使用 ZEGO 自研 超低延迟直播产品,实现更高质量的直播体验。
相关 API 请参考 ZegoStreamResourceModeCDNPlus
3.15.1 版本
发布日期: 2024-06-05
问题修复
- 修复媒体播放器的已知问题
3.15.0 版本
发布日期: 2024-05-29
新增功能
-
支持针对媒体播放器输出的声音内容,开启变声效果
媒体播放器新增 [enableVoiceChanger] 接口 ,支持针对媒体播放器输出的声音内容开启变声效果,同时选择需要的变调音效。
相关 API 请参考 ZegoMediaPlayer > enableVoiceChanger
改进优化
-
优化 AI 场景化降噪中,“均衡模式”的降噪效果
优化 AI 场景化降噪中,“均衡模式”的降噪效果,在性能不变的情况下,人声清晰度、平稳度进一步提升,且噪音抑制更干净,详情请参考 场景化 AI 降噪。
问题修复
- 修复通过辅路推流的输入源,在使用主路推流的情况下,若停止音视频引擎,会出现概率性崩溃的问题
废弃删除
-
废弃媒体播放器 [setVoiceChangerParam] 接口
为提升在变声情况下的播放体验,废弃媒体播放器 [ZegoMediaPlayer.setVoiceChangerParam] 接口,请使用 [ZegoMediaPlayer.enableVoiceChanger] 代替。
相关 API 请参考 ZegoMediaPlayer > enableVoiceChanger
3.14.0 版本
发布日期: 2024-04-23
新增功能
-
新增“汽车人”、“没电了” 两种变声音效
ZegoVoiceChangerPreset 新增 “汽车人”、“没电了” 两种变声效果的枚举值,丰富变声效果。
相关 API 请参考 setVoiceChangerPreset
-
支持在图片资源校验失败时,依然正常发起混流任务
ZegoMixerTask 新增参数 mixImageCheckMode,用于控制背景图(backgroundImageURL)、输入流占位图(inputList.imageInfo.url)、水印图片(watermark.imageURL)等图片资源校验失败时,能否正常发起混流任务。
该功能默认不开启(mixImageCheckMode 默认取值为 0),表示严格执行图片校验,即必须满足参数原有的 “支持协议和格式”、“图片大小”、“图片资源请求成功” 等规则,才能正常发起混流任务。
ZEGO 服务端 API 混流接口此前已支持该功能,详情请参考 开始混流 的 CheckImageMode 参数。
相关 API 请参考 startMixerTask
问题修复
- 修复未定义全局变量的释放时机,导致进程退出异常的问题
3.13.2 版本
发布日期: 2024-03-29
问题修复
- 修复已知问题
3.13.0 版本
发布日期: 2024-03-14
新增功能
-
使用 QUIC 协议进行 CDN 推拉流时,支持 0-RTT 建立连接
注意:
-
该功能的安全性与传统方式相比稍低,请酌情使用。
-
使用该功能时,需要将 ZegoCDNConfig.protocol 设置为 “quic”。
[ZegoCDNConfig] 新增 quicConnectMode 属性,开发者在使用 QUIC 协议进行 CDN 推拉流时,可以设置为 QUIC 建连模式(即 quicConnectMode 取值为 1),0-RTT 建立连接,快速启用服务。目前已适配华为、网宿、腾讯等厂商的 CDN 直播产品。
该功能默认不开启(即 quicConnectMode 默认为 0,表示正常建立连接)。
相关 API 请参考 ZegoCDNConfig > quicConnectMode
-
支持设置转推 CDN 的超时时间,用于监控流是否存在
注意:该功能只在发起转推时生效,转推过程中如果出现断连,SDK 会保持重试逻辑,此时无该回调通知。
发起转推任务时,支持通过 [addPublishCdnUrl] 接口,设置转推 CDN 的超时时间,用于监控流是否存在。例如,开发者已经发起转推任务,但该条流还未开始推流,在超过设置的超时时间后,SDK 会返回一个流不存在的回调通知。
该回调只会通知给转推发起者、而不是推流发起者。如果转推发起者和推流发起者不是同一个用户,建议开发者从服务端发起转推、并接收该通知。
相关 API 请参考 addPublishCdnUrl
-
支持回调本地录制的质量数据
ZegoDataRecordProgress 新增 quality 属性,在本地录制过程中,通过该属性回调录制文件的帧率、码率等质量数据。
相关 API 请参考 onCapturedDataRecordProgressUpdate
-
自定义视频渲染支持独立通道控制
自定义视频渲染支持独立通道控制。例如,针对指定流 ID 只进行 SDK 内部渲染、但不执行自定义渲染。
相关 API 请参考 enableCapturedVideoCustomVideoRender, enableRemoteVideoCustomVideoRender
-
支持获取 SDK 前处理后的视频数据,向 SDK 传入不同的视频数据分别用于预览和推流
注意:该功能会增加性能消耗,请酌情使用。
支持在获取到 Express SDK 视频前处理过的数据后,再进行其他的视频前处理操作(例如美颜等,需要开发者自行实现)、或将处理过的视频数据直接用于预览或推流。
相关 API 请参考 sendCustomVideoProcessedRawData
-
支持 H.265 自动兼容策略
注意:如需使用该功能,请联系 ZEGO 技术支持。
房间内有用户不支持 H.265 格式时,支持推流端回退到 H.264 格式重新推流。
改进优化
-
优化媒体推流器的回调通知逻辑
优化媒体推流器的回调通知逻辑,增加对“不支持的音频采样率”(例如,不支持 24K 的采样率)的错误回调,帮助开发者快速定位问题。
相关 API 请参考 onMediaDataPublisherFileClose
问题修复
- 修复长时间使用 SDK 未反初始化,导致接口调用耗时异常的问题
3.12.4 版本
发布日期: 2024-01-16
问题修复
- 修复切换网络时,如果网络异常,极低概率下会出现 UI 卡顿的问题
3.12.2 版本
发布日期: 2024-01-03
问题修复
- 修复潜在问题
3.12.0 版本
发布日期: 2023-12-27
新增功能
-
支持版权音乐插件
注意:
-
如需使用该功能,请联系 ZEGO 技术支持。
-
版权音乐插件包无法单独使用,必须与 Express SDK 搭配使用。
支持版权音乐功能插件化,当开发者的业务场景仅需更新版权音乐相关的代码时,可以单独集成插件包,无需更新 Express SDK,即可平滑迁移。
-
支持从客户端获取房间内流列表
注意:该功能获取的结果为房间内实时流列表;如果房间服务断开连接,获取的结果可能不准确。
支持开发者从客户端获取房间内的流列表,可以用于处理业务侧的相关逻辑。
相关 API 请参考 getRoomStreamList
-
支持对转推到 CDN 的音视频流补静音帧
注意:如需使用该功能,请联系 ZEGO 技术支持。
支持对转推到 CDN 的音视频流补静音帧,可以用于避免因时间戳不同步、造成的卡顿或音画不同步等问题发生。
-
媒体播放器支持获取文件的实时帧率
支持获取当前播放的媒体文件的帧率统计信息,可以用于数据展示、异常监控等。
相关 API 请参考 getPlaybackStatistics
-
媒体播放器支持在本地缓存网络资源
支持在本地缓存网络资源,如果需要播放同一个网络资源时,将优先使用缓存数据,提升用户体验。
相关 API 请参考 enableLocalCache, onMediaPlayerLocalCache
3.11.0 版本
发布日期: 2023-11-29
新增功能
-
所有网络请求支持 IPv6 协议
-
房间实时消息支持发送透传消息
支持向指定的客户端或客户服务器发送房间实时消息;消息类型分为 “普通消息”、“有序消息”,其中后者保证严格按照顺序接收消息。该功能适用于主播需要管理房间内的麦位等场景中,例如:
-
通过主播客户端,向需要闭麦的用户发送消息,接到消息的客户端进行闭麦。
-
主播希望将某用户踢出房间时,通过主播客户端,向对方的客户服务器发送消息、并踢出该用户。
相关 API 请参考 sendTransparentMessage
-
-
支持 MJPEG 格式的硬件解码加速
注意:该功能仅支持截图的前处理,不支持其他处理(如旋转、水印等)。
当采集设备输出的视频格式为 MJPEG 时,默认开启硬件解码加速能力,防止出现因设备性能不足而导致的帧率不足等问题。
该功能主要适用于在 4K 分辨率的采集设备上使用。
-
自动混流支持设置水位
注意:
-
该功能默认不开启,即服务端使用默认的配置值。
-
该功能会增大延迟,请酌情使用。
自动混流接口支持设置水位,控制混流服务器拉流缓存的自适应调整的区间范围下限,以便在“混流耗时”和“推流端不稳定导致的画面卡顿”之间保持平衡。该功能设置后,仅对新的输入流生效,对于已经开始混流的输入流不生效。
例如实时合唱 KTV 场景中,推流端网络轻微波动可能会导致混流卡顿,此时观众观看时也会有较高概率出现卡顿。通过调节水位下限,可以优化观众端卡顿问题,但会增大延迟。
-
混流支持输入直播协议流
新增支持将直播流作为输入流,进行混流处理;直播输入流的 URL 支持 RTMP 和 HTTP-FLV 两种协议。该功能适用于将主播连麦的RTC 画面流与云端体育直播流、游戏直播画面流等进行混合,实现游戏或体育直播解说的场景中。
-
媒体播放器支持回调视频分辨率改变事件
媒体播放器支持在检测到视频分辨率发生变化时,抛出相关回调通知开发者。该功能适用于推流画面的分辨率存在多次变更,需要调整推流端编码分辨率、拉流端渲染视图大小进行匹配的场景中。
相关 API 请参考 onMediaPlayerVideoSizeChanged
-
音效播放器支持分别设置推流音量、本地播放音量
音效播放器支持分别设置推流音量、本地播放音量,保证本端和远端的音量大小都处于合适的区间。
相关 API 请参考 ZegoAudioEffectPlayer > setPublishVolume, ZegoAudioEffectPlayer > setPlayVolume, ZegoAudioEffectPlayer > setPublishVolumeAll, ZegoAudioEffectPlayer > setPlayVolumeAll
改进优化
-
优化服务端混流及单流转码能力
优化服务端混流及单流转码能力,提高编码效率,同等码率下提升 5% 以上的主客观画质。
-
优化 AEC(回声消除)算法,实现更好的 AEC 效果
-
优化网络连接策略,提升音视频通话体验
-
优化多端登录逻辑
用户在 A 设备上登录成功后,A 设备断网;然后使用同一 userID 在 B 设备上登录成功。此时如果 A 设备网络恢复,重连会失败,并抛出 1002086 错误码,提示该 userID 已在其他设备登录。
3.10.0 版本
发布日期: 2023-10-13
新增功能
-
媒体播放器支持伴奏音质增强
媒体播放器支持伴奏音质增强,提升伴奏的音质以及现场的氛围感,适用于语聊房、K 歌等场景中。
相关 API 请参考 enableLiveAudioEffect
-
支持获取并上传音频的 Dump 文件
注意:由于音频 Dump 文件属于用户的隐私敏感数据,因此开发者实现该能力时,请务必认真阅读 《即构隐私政策》 中关于 “使用音频 Dump 功能” 的内容。此外,在收集音频 Dump 文件时,请在获得用户授权同意时,同步注明 Express SDK 收集目的。
支持将处理前后的音频数据保存下来并上传,用于定位音频相关问题、提高问题排查效率、缩短接入时间,详情请参考 如何获取、上传音频的 Dump 文件?
相关 API 请参考 startDumpData, stopDumpData, uploadDumpData, removeDumpData, onRequestDumpData, onStartDumpData, onStopDumpData, onUploadDumpData
改进优化
-
优化网络测速的期望推、拉流码率上限
优化网络测速的期望推、拉流码率上限,提升至 15M。开发者可以在推拉流前,检查音视频质量与当前网络的匹配程度,以保证通话质量稳定。
相关 API 请参考 startNetworkSpeedTest
-
优化拉流时,接收远端用户音视频数据的 [muteAll] 接口逻辑
注意:新增接口 [muteAllPlayAudioStreams]、[muteAllPlayVideoStreams] 与旧接口 [muteAllPlayStreamAudio]、[muteAllPlayStreamVideo] 之间不能混用。
新增接口 [muteAllPlayAudioStreams]、[muteAllPlayVideoStreams] 接口,用于在拉流时控制是否接收所有远端用户的音视频数据;同时支持通过 [mutePlayStreamAudio]、[mutePlayStreamVideo] 接口,单独控制指定的流的接收状态。
旧接口 [muteAllPlayStreamAudio]、[muteAllPlayStreamVideo] 调用后,无法单独控制指定流的接收状态。
相关 API 请参考 muteAllPlayAudioStreams, muteAllPlayVideoStreams, mutePlayStreamAudio, mutePlayStreamVideo
-
媒体播放器支持仅播放视频或音频,不额外消耗解码性能
注意:播放过程中,如果修改了媒体流类型,会在下一次播放时生效。
使用媒体播放器播放音视频文件时,支持通过 [setPlayMediaStreamType] 接口,设置为“仅播放音频” 或“仅播放视频”,不消耗音视频解码性能。
相关 API 请参考 setPlayMediaStreamType
问题修复
-
修复拉流时,偶现无声音的问题
-
修复多房间断网的异常情况下,多次调用 [logoutRoom]、[loginRoom] 接口,导致后续登录房间失败的问题
-
修复房间重连失败的情况下,可能出现频繁重试的问题
3.9.0 版本
发布日期: 2023-09-08
新增功能
-
新增附带时间戳的 SEI 回调
相关 API 请参考 onPlayerRecvMediaSideInfo
-
单流转码功能支持 RTC 拉流
注意:
-
如需使用该功能,请联系 ZEGO 技术支持。
-
转码会造成额外的延迟,不建议您在使用 RTC 拉流的麦上场景中使用该功能。
RTC 拉流时,支持通过预设的转码模板触发单流转码任务,输出不同分辨率的转码流,详情请参考 单流转码。
该功能可用于直播等场景中,观众可以基于网络质量、终端设备等,选择不同分辨率的流进行观看,确保播放的流畅性。
相关 API 请参考 ZegoPlayerConfig > codecTemplateID
-
支持抛出 [setDummyCaptureImagePath] 异常回调
相关 API 请参考 onPublisherDummyCaptureImagePathError
-
直推 CDN 支持在推流过程中更新 CDN 地址
相关 API 请参考 enablePublishDirectToCdn
-
支持均衡型 AI 降噪模式
注意:当前官网 SDK 不包含此功能,如有需要,请联系 ZEGO 技术支持特殊编包。
支持均衡型 AI 降噪模式,与原有模式相比,在相同的人声保真效果前提下,噪音抑制效果明显提升,可以达到干净无噪音或不扰人的程度;但性能消耗稍微增加。适用于街道、马路、市场等较为嘈杂(信噪比低)的户外环境中,详情请参考 场景化 AI 降噪。
相关 API 请参考 ZegoANSModeAIBalanced
改进优化
-
优化 [setLogConfig] 接口
扩大 [setLogConfig] 接口的生命周期为 App 生命周期,且优先级高于 [setEngineConfig] 接口中的配置。
相关 API 请参考 setLogConfig, setEngineConfig
-
优化 App 休眠时的重试规则
优化 App 休眠时的重试规则,登录房间和推拉流过程中,“App 休眠时间”也计入“最大允许重试时间”。
问题修复
-
修复音频外部采集模块切换音源时,会导致无声的问题
-
修复通过 [setPublishWatermark] 设置水印路径超过最大长度时,没有抛出错误信息的问题
-
修复发送流新增时,极小概率出现失败的问题
-
修复音效播放器偶现崩溃的问题
-
修复调用 [sendAudioSideInfo] 接口发送音频次要消息,接收端 10s 左右才能收到消息的问题
-
修复网宿 CDN 在直推情况下,停推 TCP 断连耗时固定为 500 ms 的问题
3.8.1 版本
发布日期: 2023-08-16
问题修复
- 修复使用 Token 鉴权时,在 [createEngine] 之后、[destroyEngine] 之前变更了 userID,可能导致推拉流失败的问题
3.8.0 版本
发布日期: 2023-08-09
新增功能
-
新增支持“智能云代理”模式
注意:如需使用该功能,请联系 ZEGO 技术支持。
开发者设置“智能云代理”模式后,在 RTC 或 L3 拉流时,会优先使用直连网络模式进行尝试。如果直连网络不可用、且当前是蜂窝网络,则继续留在直连模式重试;如果直连网络不可用、且当前是非蜂窝网络,则切到云代理模式,详情请参考 云代理。
-
支持抛出编码和硬件解码的低帧率告警
注意:如需使用该功能,请联系 ZEGO 技术支持。
新增支持抛出编码和硬件解码的低帧率告警回调,在 1v1 聊天、直播等场景中,开发者可基于该回调,实现调整推流分辨率、触发转码等操作。
相关 API 请参考 onPlayerLowFpsWarning, onPublisherLowFpsWarning
-
新增同步抛出视频网络首帧的回调
新增从非 UI 线程抛出视频网络首帧的回调 [onPlayerSyncRecvVideoFirstFrame],该回调不受 UI 卡顿的影响,能够更准确的统计视频首帧数据。
相关 API 请参考 onPlayerSyncRecvVideoFirstFrame
-
媒体播放器支持设置网络资源的 Http Headers
媒体播放器支持设置网络资源的 Http Headers,开发者可基于该配置,自定义限定网络资源的访问方式,加强资源的安全防护。
相关 API 请参考 setHttpHeader
-
支持获取音频设备列表
相关 API 请参考 getAudioDeviceList, useAudioDevice
改进优化
-
优化媒体播放器加载资源的 URL 长度,最大支持 2048 字节
-
优化媒体播放器 SEI 信息与相应帧数据的回调同步,保证 SEI 和画面的一致性
废弃删除
-
修改了媒体推流器 IZegoMediaDataPublisher 类的 setMediaDataPublisherEventHandler 接口名称
在 3.8.0 版本,对媒体推流器 [IZegoMediaDataPublisher] 类的一个 API 接口命名进行变更:将原来的成员函数 [setMediaDataPublisherEventHandler] 更名为 [setEventHandler],接口名称修改后可能存在兼容性问题,详情请参考 3.8.0 及以上版本升级指南。
3.7.0 版本
发布日期: 2023-07-13
新增功能
-
开启视频大小流编码后,除大流的视频参数外,新增支持设置小流的视频参数
注意:
-
使用此功能前,需要先调用 [setVideoConfig] 接口,指定视频编码格式 codecID 为 “ZegoVideoCodecIDH264DualStream(大小流编码)”。
-
设置大流、小流的分辨率的 “比例” 需要保持一致,否则调用接口会出错。
在指定编码格式为 “大小流编码” 的情况下,支持分别设置大流和小流的分辨率、帧率和码率,详情请参考 视频大小流和分层编码。
相关 API 请参考 ZegoExpressEngine > setVideoConfig, setPublishDualStreamConfig
-
万人范围音视频、游戏语音支持配置 3D 音效距离的衰减范围
在万人范围音视频、游戏语音场景中,支持设置 3D 音效距离的衰减范围区间 [min, max]。距离小于 min 时,音量不会随着距离的增加而衰减;距离大于 max 时,将无法听到对方的声音。
相关 API 请参考 setReceiveRange, setAudioReceiveRange
-
新增错误码提示
新增语音检测(1018xxxxx)、万人范围音视频(1019xxxxx)、屏幕采集(1020xxxxx)三个模块的错误码,详情请参考 常见错误码。
改进优化
-
优化 SDK 内部逻辑,减少 400KB ~ 600KB 的内存占用
-
优化 SDK 视频采集策略,提升画质
-
在断网导致的推拉流重试状态中,支持回调本地网络质量
相关 API 请参考 onNetworkQuality
-
支持在调用 [destroyEngine] 接口后,生成日志上传任务
相关 API 请参考 submitLog
-
优化 SDK 的内部逻辑,提升弱网环境下的通话体验
问题修复
-
修复 MediaRecorder、AudioObserver 停止推流后,未恢复本地推流,继续采集的问题
-
修复 NetMonitor 模块多线程死锁的问题
3.6.0 版本
发布日期: 2023-06-09
新增功能
-
新增 Enhanced KTV 混响效果
新增增强型 KTV 混响效果,实现更集中、亮度更好的 KTV 人声效果。与之前的 KTV 混响音效相比,Enhanced KTV 混响效果缩短了混响时长,提高了干湿比。
原有的 KTV 混响音效仅适用于人声瑕疵较为明显的用户,增强型 KTV 混响效果适用于大多数专业用户和普通用户。
相关 API 请参考 setReverbPreset
-
游戏语音功能支持媒体播放器&音效播放器使用 3D 音效
开发者可以通过设置媒体播放器、音效播放器的位置和朝向,实现本地音频、在线音频资源的 3D 音效。该功能可用于在虚拟场景中设置物品的音效、以及指定位置的背景音乐等。
相关 API 请参考 ZegoMediaPlayer > updatePosition, ZegoAudioEffectPlayer > updatePosition
-
媒体播放器支持获取媒体流视频信息
针对媒体播放器正在播放的视频文件,开发者可以主动获取视频的分辨率、帧率等信息。
相关 API 请参考 getMediaInfo
-
媒体播放器倍速功能最大支持 4 倍速
媒体播放器倍速的上限提升到 4 倍速。例如,用户在播放音视频文件时,如果已设置为 2 倍速播放,长按屏幕时可以加速至 4 倍速。
相关 API 请参考 ZegoMediaPlayer > setPlaySpeed
-
媒体推流器新增支持 AAC 编码格式的音频文件
相关 API 请参考 addMediaFilePath
问题修复
- 修复使用媒体播放器时可能会导致内存泄露的问题
3.5.0 版本
发布日期: 2023-05-11
新增功能
-
新增音视频推流的首帧回调
在进行音视频推流时,通过 [onPublisherSendAudioFirstFrame]、[onPublisherSendVideoFirstFrame] 回调,监听“首帧音频”或“首帧视频”的发布时机。该功能可用于统计音视频推流的耗时、或更新 UI 表现等。
相关 API 请参考 onPublisherSendAudioFirstFrame, onPublisherSendVideoFirstFrame
-
媒体播放器支持音视频渲染完成后的首帧回调
在通过媒体播放器进行音视频渲染时,通过 [onMediaPlayerFirstFrameEvent] 回调,监听渲染完成后的“首帧音频”或“首帧视频”的发布时机。该功能可用于音视频渲染的耗时、或更新 UI 表现等。
相关 API 请参考 onMediaPlayerFirstFrameEvent
-
外部采集支持主动偏移 NTP 时间戳
注意:如需使用该功能,请联系 ZEGO 技术支持。
使用外部采集功能时,支持通过实验性 API 接口主动偏移 NTP 时间戳。该功能可用于 KTV 的合唱、伴奏、歌词对齐等场景。
-
媒体推流器新增支持推流配置
注意:该接口需要在 [createEngine] 之后调用,重复调用该接口会返回之前已创建的实例。
支持通过 [createMediaDataPublisher] 接口,分别配置媒体推流器的推流通道、媒体内容等信息。
相关 API 请参考 createMediaDataPublisher
-
多房间模式下支持快速切换房间
多房间模式下,支持通过 [switchRoom] 接口,快速便捷地实现切换房间的功能。
相关 API 请参考 switchRoom
-
支持自主维护 AEC(回声消除)的参考信号
注意:
-
如需使用该功能,请联系 ZEGO 技术支持。
-
启动拉流以后,调用该接口才会生效。
支持开发者通过 [sendReferenceAudioPCMData] 接口,输入需要消除的声音(即参考信号),直接消除。
该功能可用于自定义采集渲染场景中。例如:用户外放背景音乐,同时上麦进行发言,其中背景音乐不是使用自定义渲染或外部渲染的声音,可通过该功能消除推流中包含的背景音乐回声。
相关 API 请参考 sendReferenceAudioPCMData
问题修复
-
修复媒体播放器在部分 m3u8 文件格式中,不能通过 seekTo 接口使播放进度跳转到 0 的问题
-
修复重新推流后,拉流端视频卡顿的偶现问题
3.4.0 版本
发布日期: 2023-04-14
新增功能
-
状态同步及万人范围音视频支持主动拉流
状态同步及万人范围音视频功能支持通过流 ID 主动拉流或自定义拉流。该功能可实现无论距离多远都保持拉流的玩法,适用于虚拟世界中存在大屏或主播时,虚拟世界中任何一个地方的观众都可以通过拉流得到大屏或者主播声音的场景。
-
媒体播放器支持边下载、边回调数据解密、边播放的功能
针对在线播放器的版权音乐保护,媒体播放器支持边下载边回调未解密的二进制数据,由开发者解密后再传回媒体播放器播放,过程中不会产生文件或缓存文件。
相关 API 请参考 setBlockDataHandler
-
支持动态切换流控策略
支持动态开关流量控制功能,同时支持设置流量控制属性等。
相关 API 请参考 enableTrafficControl, setMinVideoBitrateForTrafficControl, setMinVideoFpsForTrafficControl, setMinVideoResolutionForTrafficControl
改进优化
-
优化 SDK 内存占用
删除 SDK 内部一些没必要的内存申请,优化 SDK 内存使用率,相比上个版本,内存使用率减少了 10% 左右。
废弃删除
-
废弃 [onPlayerRecvSEI] 回调
注意:接口替换可能存在兼容性问题,请您注意查看 [onPlayerRecvSEI] 回调的废弃说明。
为规避数据同步异常的情况,将在 3.4.0 及以上版本,废弃 [onPlayerRecvSEI] 回调,若需收取远端流的 SEI 内容,请使用 [onPlayerSyncRecvSEI] 回调替代。
相关 API 请参考 onPlayerSyncRecvSEI, onPlayerRecvSEI
3.3.0 版本
发布日期: 2023-03-10
新增功能
-
支持外放场景下的人声增强效果
在外放场景中,设备的麦克风与扬声器过近,容易导致人声模糊或沉闷。在该场景下,人声增强可以有效提升人声清晰度并改善沉闷感,因此在外放场景下,建议开启该功能。
为实现外放场景下的人声增强效果,可开启人声增强音效并设置增强等级,增强等级推荐配置为 4,可用于 KTV 外放场景下,精细控制人声效果。
相关 API 请参考 enableSpeechEnhance
-
单流转码功能支持 L3 或 CDN 拉流
注意:通过 CDN 拉取转码流时,必须使用转推 CDN。如需使用该功能,请联系 ZEGO 技术支持。
单流转码,指在云端把每条原始流转换为不同编码格式、不同分辨率的转码流。拉流时需传入转码模板 ID 拉取转码流。在直播等场景中,观众可以基于接入网络质量、终端设备等,自行选择不同分辨率的流进行观看,以保证播放的流畅性。
-
同一个混流任务支持输出多个分辨率的视频流
注意:
-
目前 1 个混流任务最多支持输出 4 路不同分辨率的视频流,且目前仅支持服务端混流。
-
如需使用该功能,请联系 ZEGO 技术支持。
同一个混流任务支持输出多个分辨率的视频流,可用于实现混流场景下的转码需求。
-
混流任务支持输入超级白板信息
混流功能支持将白板中的操作内容转成实时视频,且支持设置白板配置信息,例如,设置白板 ID、白板宽高比、是否支持加载动态 PPT 等。
-
场景化音视频配置新增 [StandardVoiceCall] 标准语音通话场景
场景化音视频配置新增 [StandardVoiceCall] 标准语音通话场景,适用于 1v1 纯语音通话场景,详情请参考 场景化音视频配置。
相关 API 请参考 setRoomScenario
改进优化
-
优化 KTV 场景的回声消除(AEC)效果
针对 KTV 场景的 AEC 优化,实现了:
-
大幅度提高外放场景下的人声音质,使人声更保真。
2.消除回声的同时,有效避免偶现的吞字或人声起伏的现象。
3.2.1 版本
发布日期: 2023-02-23
问题修复
- 修复某些场景下,重新登录房间后,自定义音频采集及音频采集源需重新设置才能生效的问题
3.2.0 版本
发布日期: 2023-01-13
改进优化
-
自定义信令配置支持扩展到 4KB
注意:自定义信令配置默认大小为 1KB,如需扩展到 4KB,请联系 ZEGO 技术支持进行处理。
问题修复
- 修复网络时间模块重试失败的问题
3.1.0 版本
发布日期: 2022-12-09
新增功能
-
“多人实时状态同步”功能支持物品状态同步与物品锁能力
注意:如需使用该功能,请联系 ZEGO 技术支持。
通过该能力可快速实现移动及放置物品、抢占物品等互动玩法。以“抢椅子”玩法为例:
-
首先您需要提前通过 [createItem] 接口创建您视野范围内的“椅子”。
-
当您靠近“椅子”时,通过 [bindItem] 抢占“椅子”,获得其使用权。
-
假设您只允许 1 个用户抢占”椅子“,在您通过 [unbindItem] 释放权限前,其他用户都将无法抢占。
-
当您“坐在椅子上”时,可以通过 [updateItemStatus] 及 [updateItemCommand] 更新“椅子”的状态/指令,通知其他用户“您正坐在椅子上”。
相关 API 请参考 createItem, bindItem, unbindItem, updateItemStatus, updateItemCommand
-
“万人范围音视频”及“多人实时状态同步”功能支持使用场景模板
注意:如需使用该功能,请联系 ZEGO 技术支持。
虚拟场景中,由于每个场景的地图大小、音视频互动玩法及规模不同,需要针对每个场景进行自定义配置。3.1.0 版本后,“万人范围音视频”及“多人实时状态同步”支持通过 SDK 接口,并使用模板 ID 指定场景。模板 ID 对应的配置项只能通过服务器 API 进行配置,详情请参考 服务端 API - 场景模版配置。
相关 API 请参考 templateID
-
“万人范围音视频”及“多人实时状态同步”功能支持使用 Token 基础鉴权
注意:如需使用该功能,请联系 ZEGO 技术支持。
用户在登录场景时,可以带上 Token 参数,以验证合法性。
相关 API 请参考 ZegoSceneParam > token, ZegoRangeScene > renewToken
-
支持多源采集能力
面向在线 KTV、一起看电影、看比赛等、视频会议、在线教育等音视频源丰富多样的互动场景,多源采集提供了灵活易用的音视频采集源与通道管理能力,大量减少开发者的开发及维护成本。
多源采集能力对屏幕共享、混音等常见能力的实现路径,进行缩短优化及归一化设计,从 3.1.0 版本后,您可以不用再通过自定义采集实现上述复杂的能力,详情请参考 多源采集 。
主要能力特性如下:
-
推流通道支持设置或切换多种音视频源。
-
支持屏幕共享、混音等常见能力。
-
SDK 支持设置云代理
注意:如需使用该功能,请联系 ZEGO 技术支持。
通过设置 SDK 的云代理接口,将 SDK 对应的所有流量通过云端的代理服务器进行中转,实现与 RTC 通信,详情请参考 云代理 。
相关 API 请参考 setCloudProxyConfig
改进优化
-
大幅度提升极端弱网地区的音视频连通率,并降低连通耗时
ZEGO 自研调度系统针对网络质量极差地区进行了深度优化。
问题修复
- 修复发送房间 [Logout] 信令可能失败的问题
3.0.2 版本
发布日期: 2022-11-15
问题修复
- 修复多房间模式下,停止推流时,房间内其他人收不到流删除通知的问题
3.0.0 版本
发布日期: 2022-10-28
本次更新包含不兼容改动,详情请参考 v3.0.0 升级指南。
新增功能
-
新增房间维度的场景 Scenario
为方便开发者快速接入,降低开发者接入门槛,SDK 提供多种预设场景。开发者可根据所需场景,选择对应的房间模式 [ZegoScenario],SDK 将自动应用适合该场景的音视频编解码器、音视频参数、流控策略等配置,从而快速实现该场景下的最佳效果。
当前支持场景包括秀场直播、KTV、标准 1v1 音视频通话、高画质 1v1 音视频通话、标准语聊房、高音质语聊房,详情请参考 场景化音视频配置。
相关 API 请参考 setRoomScenario
-
新增获取 GPS 信息开关接口
注意:该功能默认开启,如需关闭该功能,请联系 ZEGO 技术支持。
在 App 有获取地理位置权限的情况下,开发者可以选择是否允许 ZEGO SDK 获取系统缓存的 GPS 信息,默认进行获取。当开发者希望关闭该功能时,需要联系 ZEGO 技术支持进行设置。
-
新增基于摄像头打开后的视频首帧回调
支持每次开启远端摄像头后,SDK 拉流并渲染完第一帧远端摄像头视频数据后进行回调,开发者可利用该回调统计首帧耗时,或更新播放流的 UI 组件。
相关 API 请参考 onPlayerRenderCameraVideoFirstFrame
改进优化
-
针对 1v1 纯 RTC 通话场景进行优化
注意:如需使用该功能,请联系 ZEGO 技术支持。
针对 1v1 通话场景进行了优化,适用在纯 RTC 场景下使用。
-
优化空间音频功能
对空间音频能力进行了优化,用户可以区分前后音源,从而达到更好的沉浸感。
-
优化极端弱网下的音视频体验
SDK 优化了内部策略,在音视频的场景下,支持最小下行 50 kbps 拉流不卡顿,保障更好的极端弱网下的体验。
问题修复
-
修复了 Mac M1 芯片电脑在部分系统版本下,Web 端开启硬件编码推流,并采用多 SPS(Sequence Paramater Set,又称序列参数集)、PPS(Picture Paramater Set,又称图像参数集)的输出形式 ,Native SDK 拉流会出现解码花屏的问题
-
修复了网络状态从有网络切换到无网络时,当前正在上传的日志有可能出现崩溃的问题
-
修复了 GetCallbackController 非线程安全问题
废弃删除
-
废弃了 [ZegoScenario] 的三种旧版本场景
废弃 [ZegoScenario] 场景枚举中的 [General],[Communication], [Live] 三种场景,详情请参考 场景化音视频配置。
-
删除了 [setDebugVerbose]、[setPlayStreamVideoLayer]、[enableAudioDataCallback] 等接口,详情请参考 v3.0.0升级指南。
2.23.0 版本
发布日期: 2022-09-09
新增功能
-
媒体播放器支持播放在线资源并推流
媒体播放器在播放本地文件之外,还支持播放在线资源并将媒体播放器中的流推到远端 ,详情请参考 媒体播放器。
可用于如下场景:
-
可用于播放测试音频,验证音频播放设备是否工作正常。
-
播放背景音乐,让远端听到背景音乐。
-
播放视频文件,结合自定义视频采集功能将媒体资源的视频数据推送出去。
问题修复
-
修复多房间模式下,在网络切换(Wi-Fi 或蜂窝网络)期间调用 [loginRoom] 可能无回调的问题
-
修复范围语音功能在退出小队后,在范围距离外还能听到原小队内的人的声音的问题
2.22.0 版本
发布日期: 2022-08-09
新增功能
-
新增支持 SOCKS5 本地代理
若在内网或防火墙场景下,您可以通过代理服务器与公网交互,并通过 [setEngineConfig] 设置代理服务器地址,保证 ZEGO 音视频云服务正常,目前仅支持 SOCKS5 协议,详情请参考 本地代理。
相关 API 请参考 setEngineConfig
-
自定义视频采集功能支持 H.265 码流
注意:1. 推荐每 2s 一个 GOP,每个 I 帧必须携带 SPS 和 PPS,且放在最前面。调用 [enableCustomVideoCapture] 时,传递的参数类型必须为 [ZegoVideoBufferTypeEncodedData]。2. 不支持输入 B 帧。
相关 API 请参考 enableCustomVideoCapture
-
支持查询并使用指定的摄像头进行视频采集
支持通过 [getVideoDeviceList] 接口查询视频设备列表,并可以通过 [useVideoDevice] 接口指定设备进行采集。
-
支持查询当前 SDK 具备的功能特性
由于 SDK 支持特性裁包,部分特性可能已被裁剪;可以使用此函数快速判断当前 SDK 是否支持指定的功能特性。
相关 API 请参考 isFeatureSupported
改进优化
-
优化网络质量回调,感知远端用户异常状态
当远端用户异常时,[onNetworkQuality] 每 2s 回调一次质量未知状态(ZegoStreamQualityLevelUnknown 状态),当用户该状态持续 8s 后,则认为远端用户已异常断开,此时回调质量异常状态(ZegoStreamQualityLevelDie 状态)。
相关 API 请参考 onNetworkQuality
-
优化网络质量回调,网络质量反馈更灵敏
推拉流质量回调会每隔 3s 回调一次质量最差的结果,当周期内出现严重的抖动或丢包时,能够立刻反馈出流质量差。
相关 API 请参考 onPlayerQualityUpdate, onPublisherQualityUpdate, onNetworkQuality
-
优化日志上报策略
优化日志上报策略,提高日志上传效率。
-
优化 AGC 的谐波检测算法
AGC 新改进的谐波检测算法存在崩溃问题,现回退至老版本的谐波检测算法。
问题修复
-
修复使用 armhf 架构拉流时 SDK 崩溃的问题
-
修复网络模块极低概率崩溃的问题
2.21.1 版本
发布日期: 2022-07-14
问题修复
- 修复纯音频场景发送 SEI 失败的问题
2.21.0 版本
发布日期: 2022-07-08
新增功能
-
范围语音支持自定义距离更新频率
SDK 默认的距离更新频率由 1s 改为 100ms,能够基本满足大部分开发者使用范围语音时的平滑衰减效果,优化了使用范围语音时声音衰减的体验,可以实现更平滑、自然的衰减效果。
若希望与实际的业务效果进行更优的匹配,可调用 [setPositionUpdateFrequency] 接口自行进行修改频率。
相关 API 请参考 ZegoRangeAudio > setPositionUpdateFrequency
-
混流支持设置视频边框为圆角
在调用 [startMixerTask] 接口混流时,开发者可以通过 [ZegoMixerInput] 类型参数,设置 [cornerRadius](视频画面圆角半径),将视频边框设置为圆角。[cornerRadius] 的单位为 px,取值不得超过视频画面宽高中较短者的一半。
相关 API 请参考 startMixerTask
-
拉流接口增加 CDN Plus 拉流配置项
注意:若希望通过地区、用户等更多维度,从云端控制拉流方式,请联系 ZEGO 技术支持进行相关配置。
拉流接口新增 CDN_PLUS 的拉流资源模式(ZegoStreamResourceMode),开发者可按流维度自行开启使用CDN_PLUS 拉流。CDN Plus 拉流是比 CDN 拉流直播质量更高,但是价格接近 CDN 的一种性价比高的拉流方式,详情请参考 CDN Plus 拉流。
相关 API 请参考 startPlayingStream
改进优化
-
优化开启强制登录鉴权时,Token 异常的相关错误码
新增 1002074、1002075、1002076、1002077、1002078、1002079、1002080 等错误码。开启强制登录鉴权后,如果 Token 错误时,会返回这些错误码,详情请参考 常见错误码 中的详细解释和处理建议。
-
Linux SDK 新增支持标准 armel 架构(arm-linux-gnueabi)
问题修复
-
修复当关闭自定义视频前处理功能时,会触发多次 [onStop] 回调的问题
相关 API 请参考 enableCustomVideoProcessing
-
修复一个 L3 拉流失败的问题
修复 2.20.0 ~ 2.20.2 版本 SDK 采用 L3 拉流时,如果拉到的流是 2.15.0 及之前版本 SDK 推送的流,可能会失败的问题。
2.20.2 版本
发布日期: 2022-06-20
问题修复
- 修复了在初始化 SDK 前设置音频设备模式不生效的问题
2.20.1 版本
发布日期: 2022-06-18
问题修复
- 修复了一个概率性拉流失败的问题
2.20.0 版本
发布日期: 2022-06-09
新增功能
-
媒体播放器支持设置声道
在调用 [createEngine] 接口初始化引擎以及 [createMediaPlayer] 接口创建媒体播放器后,可以调用 [setActiveAudioChannel] 接口设置左声道、右声道或全部声道。初始化时,媒体播放器默认为全部声道。
相关 API 请参考 setActiveAudioChannel
-
媒体播放器支持结束播放时清除最后一帧画面
注意:必须等待媒体播放器结束播放后,接口调用才能生效。
调用 [createEngine] 接口初始化引擎,调用 [createMediaPlayer] 接口创建媒体播放器,可以调用 [clearView] 清除遗留的最后一帧画面。
相关 API 请参考 ZegoMediaPlayer > clearView
-
支持设置调用 mutePlayStreamVideo 后是否清除最后一帧
注意:如需使用该功能,请联系 ZEGO 技术支持。
开发者发现推流用户违规时,调用 [mutePlayStreamVideo] 接口暂停拉流用户拉取违规用户的视频流,要求违规用户整改。同时使用本功能,可避免因拉流用户的视频界面依然保留最后一帧导致的违规风险。
-
支持线性增长的音量增益
注意:如需使用该功能,请联系 ZEGO 技术支持。
提供新的音量增益方式,开发者可以根据实际需求选择合适的音量增益方式。
-
支持设置流级别的音视频自动审核
注意:如需使用该功能,请联系 ZEGO 技术支持开通后台服务。
在调用 [startPublishingStream] 接口开始推流时,开发者可以设置 [ZegoStreamCensorshipMode] 参数,进行流级别的音视频自动审核,包含如涉黄、涉政等审核类型,以此降低开发者的接入难度和业务维护成本。
相关 API 请参考 startPublishingStream
改进优化
-
统一 Express 实时音视频和实时语音 SDK 的接口
从 v2.20.0 版本起,实时音视频和实时语音之间不再有 API 的差异,即可以随时从实时音视频 SDK 切换到实时语音 SDK,反之亦然。两种 SDK 之间唯一的区别是对于实时语音 SDK 来说,部分跟视频相关的 API (比如视频编码参数设置、预览和拉流的 ZegoCanvas 参数等)设置后没有效果,但不会报错。注意此次改动可能会产生极少数不兼容问题,具体请参考 FAQ 文档 升级 Express v2.20.0 或以上版本后编译报错?。
-
开发者传入不存在的 AppID 时报错的错误码从 1002099 优化为 1001004
-
Linux SDK 新增支持 armhf (arm-linux-gnueabihf) 和 aarch64 (aarch64-linux-gnu) 两个架构
-
优化回声消除,解决 KTV 等场景的吞音现象
-
新增 1009013 错误码
表示消息输入长度超出限制。出现此错误码时,请检查输入内容长度或联系 ZEGO 技术支持扩展消息内容长度。
-
新增 1017009 错误码
在版权音乐初始化时,由于未设置 AppSign 或 Token,导致鉴权失败,会出现此错误码。此时,如果是使用 AppSign 鉴权,请在初始化 SDK 时传入 AppSign;如果是使用 Token 鉴权,在调用 [initCopyrightedMusic] 接口前,请调用 [loginRoom] 接口并传入 Token,以供鉴权。
相关 API 请参考 initCopyrightedMusic, loginRoom
问题修复
- 修复了自定义采集 AAC 音频格式的报错问题
2.19.0 版本
发布日期: 2022-05-11
新增功能
-
直推 CDN 的流支持通过 L3 拉流
直推 CDN 时,在不改变推流方式的情况下,SDK 从客户的 CDN 源站拉流,通过 L3 将音视频内容分发给观众,通过 [ZegoResourceType] 控制源站资源。该功能常用于直播场景。
相关 API 请参考 startPlayingStream
-
音视频场景下支持 SEI 数据随音频帧同步
注意:目前只支持 RTC 场景,直推 CDN 和转推 CDN 场景下无效。
从 2.19.0 版本开始,支持在音视频场景下将 SEI(媒体补充增强信息)与音频帧同步发送。该功能常用于 SEI 与音频强相关的视频场景,例如实时 KTV。
在 2.19.0 之前版本中,SEI 数据是跟随视频帧数据一起发送,一般情况下视频帧率远低于音频帧率,导致混流对齐、伴奏对齐场景下等 SEI 精度/频率不足。
相关 API 请参考 onPlayerRecvAudioSideInfo, sendAudioSideInfo
改进优化
- 为了提高安全性,此版本将 curl 升级到 7.82.0
问题修复
-
修复了调用网络测速接口后立刻调用开始推流接口时,收不到网络测速回调的问题
-
修复了 H.265 在只进行本地媒体录制时(未推流)不生效的问题
-
修复了当开启自定义视频采集功能时 [onEncodedDataTrafficControl] 不回调的问题