互动视频
  • iOS
  • Android : Java
  • macOS
  • Windows
  • Linux
  • Web
  • 小程序
  • Electron
  • 概述
  • 限制说明
  • SDK 下载
  • 快速开始
  • 常用功能
  • 推拉流进阶
  • 视频进阶
  • 音频进阶
  • 其他功能
  • 废弃接口
  • API 文档
  • 常见错误码
  • 常见问题
  • AI教育
  • KTV 合唱
  • 视频直播
  • 视频通话
  • 游戏直播
  • 直播答题
  • 娃娃机
  • 文档中心
  • 互动视频
  • SDK 下载
全功能版
LiveRoom SDK v6.29.0
本地下载

发布历史

2024-03-14 Version:6.29.0

新增功能

1. 外部采集支持低照度增强和色彩增强

注意:外部采集功能和视频前处理功能不能同时使用,否则可能会出现拉流画面异常。

支持在开启外部采集功能后,分别通过 setLowlightEnhancementenableColorEnhancement 接口,开启低照度增强和色彩增强,对采集画面进行调整,以满足业务需要。

相关 API 请参考 setLowlightEnhancementenableColorEnhancement

2. 支持 H.265 自动兼容策略

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

房间内有用户不支持 H.265 格式时,支持推流端回退到 H.264 格式重新推流。

改进优化

1. 优化色彩增强算法

优化色彩增强算法,在画面色彩饱和度较高的场景下,相较之前的版本表现更佳。

2. 针对性能较低的 Android 设备,优化应用处于后台时的语音流畅性、及回声消除效果

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

3. 针对 KTV 场景,优化蓝牙耳机的人声、伴奏对齐效果,提升 K 歌体验

问题修复

1. 修复长时间使用 SDK 未反初始化,导致接口调用耗时异常的问题

2. 修复硬编、硬解时兼容异常,偶现崩溃的问题

3. 修复已知的兼容异常、及空指针的问题

2024-01-16 Version:6.28.4

问题修复

1. 修复切换网络时,如果网络异常,极低概率下会出现 UI 卡顿的问题

2024-01-03 Version:6.28.2

问题修复

1. 修复个别 Android 设备播放采样率超过 48K 的音视频时,必现崩溃的问题

2023-12-27 Version:6.28.0

新增功能

1. 支持版权音乐插件

注意:

  1. 如需使用该功能,请联系 ZEGO 技术支持。
  2. 版权音乐插件包无法单独使用,必须与 Liveroom SDK 搭配使用。

支持版权音乐功能插件化,当开发者的业务场景仅需更新版权音乐相关的代码时,可以单独集成插件包,无需更新 Liveroom SDK,即可平滑迁移。

2. 支持对转推到 CDN 的音视频流补静音帧

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

支持对转推到 CDN 的音视频流补静音帧,可以用于避免因时间戳不同步、造成的卡顿或音画不同步等问题发生。

问题修复

1. 修复部分机型在开启超分能力后,在运动时画面出现条纹的问题

2023-11-29 Version:6.27.0

新增功能

1. 推流视频支持色彩增强

针对各种摄像头等设备采集到的画面色彩偏灰、或饱和度偏低的情况,支持在保护人体肤色的同时,增强画面色彩,使其更加鲜艳明亮,更符合人眼真实的视觉感受,详情请参考 推流视频增强

相关 API 请参考 enableColorEnhancement

2. 所有网络请求支持 IPv6 协议

3. 支持 MJPEG 格式的硬件解码加速

注意:该功能仅支持截图的前处理,不支持其他处理(如旋转、水印等)。

当采集设备输出的视频格式为 MJPEG 时,默认开启硬件解码加速能力,防止出现因设备性能不足而导致的帧率不足等问题。

该功能主要适用于在 4K 分辨率的采集设备上使用。

4. 自动混流支持设置水位

注意:

  1. 该功能默认不开启,即服务端使用默认的配置值。
  2. 该功能会增大延迟,请酌情使用。

自动混流接口支持设置水位,控制混流服务器拉流缓存的自适应调整的区间范围下限,以便在“混流耗时”和“推流端不稳定导致的画面卡顿”之间保持平衡。该功能设置后,仅对新的输入流生效,对于已经开始混流的输入流不生效。

例如实时合唱 KTV 场景中,推流端网络轻微波动可能会导致混流卡顿,此时观众观看时也会有较高概率出现卡顿。通过调节水位下限,可以优化观众端卡顿问题,但会增大延迟。

相关 API 请参考 ZegoAutoMixStreamConfig.minPlayStreamBufferLength

5. 混流支持输入直播协议流

新增支持将直播流作为输入流,进行混流处理;直播输入流的 URL 支持 RTMP 和 HTTP-FLV 两种协议。该功能适用于将主播连麦的RTC 画面流与云端体育直播流、游戏直播画面流等进行混合,实现游戏或体育直播解说的场景中。

6. 音效播放器支持分别设置推流音量、本地播放音量

音效播放器支持分别设置推流音量、本地播放音量,保证本端和远端的音量大小都处于合适的区间。

相关 API 请参考 ZegoAudioPlayer.setPublishVolumeZegoAudioPlayer.setPlayVolumeZegoAudioPlayer.setPublishVolumeAllZegoAudioPlayer.setPlayVolumeAll

改进优化

1. 优化服务端混流及单流转码能力

优化服务端混流及单流转码能力,提高编码效率,同等码率下提升 5% 以上的主客观画质。

2. 优化 AEC(回声消除)算法,实现更好的 AEC 效果

3. 优化网络连接策略,提升音视频通话体验

4. 优化前后台切换策略,解决某些特定场景或机型采集静音的问题

5. 优化多端登录逻辑

用户在 A 设备上登录成功后,A 设备断网;然后使用同一 userID 在 B 设备上登录成功。此时如果 A 设备网络恢复,重连会失败,并抛出 62050013 错误码,提示该 userID 已在其他设备登录。

问题修复

1. 修复某些情况下解码导致崩溃的问题

2023-11-09 Version:6.26.1

问题修复

1. 修复开启低照度增强后出现黑屏的问题

2023-10-13 Version:6.26.0

新增功能

1. 新增实时 AI 变声功能

注意:

  1. “AI 变声”功能为付费功能,如需申请体验或咨询正式收费标准,请联系 ZEGO 商务人员。
  2. 当前官网 SDK 不包含此功能,如有需要,请联系 ZEGO 技术支持特殊编包。

新增 AI 变声功能,实时通话中的“柯南变声领结”,完美重现目标角色的音色与韵律,同时保留用户的语速、情感、语调,随心所欲切换音色,超低延迟让用户畅享社交语聊、直播、游戏语音等场景,详情请参考 AI 变声

2. 主体分割的虚拟背景支持使用视频素材

注意:

  1. 当前官网 SDK 不包含此功能,如有需要,请联系 ZEGO 技术支持特殊编包。
  2. 虚拟背景的视频填充方式为居中及等比例缩放,视频过大时,超出部分会被裁减。

使用主体分割功能时,虚拟背景支持使用视频素材,视频素材的最终帧率会与编码帧率保持一致,且循环播放。视频素材的限制说明,请参考 主体分割

相关 API 请参考 enableVideoObjectSegmentation

3. 支持获取并上传音频的 Dump 文件

注意:由于音频 Dump 文件属于用户的隐私敏感数据,因此开发者实现该能力时,请务必认真阅读 《即构隐私政策》 中关于 “使用音频 Dump 功能” 的内容。此外,在收集音频 Dump 文件时,请在获得用户授权同意时,同步注明 LiveRoom SDK 收集目的。

支持将处理前后的音频数据保存下来并上传,用于定位音频相关问题、提高问题排查效率、缩短接入时间,详情请参考 如何获取、上传音频的 Dump 文件?

相关 API 请参考 startDumpDatastopDumpDatauploadDumpdataremoveDumpDatasetDumpDataCallbackonRequestDumpDataonStartDumpDataonStopDumpDataonUploadDumpData

4. 自定义视频采集支持透明通道传输

支持提取、编码和传输开发者自定义采集的 RGBA 通道中的 Alpha 通道数据,从而在拉流端渲染出透明背景的主体,实现更加沉浸、真实的视频场景。

相关 API 请参考 enableAlphaChannelVideoEncoder

改进优化

1. 优化低照度增强功能,自动模式下更加平滑

在低照度增强的自动模式下,亮度的动态调整将更加流畅平滑,提升用户视觉体验。

2. 优化网络测速的期望推、拉流码率上限

优化网络测速的期望推、拉流码率上限,提升至 15M。开发者可以在推拉流前,检查音视频质量与当前网络的匹配程度,以保证通话质量稳定。

相关 API 请参考 startUplinkSpeedTeststartDownlinkSpeedTest

3. 媒体播放器支持仅播放视频或音频,不额外消耗解码性能

注意:播放过程中,如果修改了媒体流类型,会在下一次播放时生效。

使用媒体播放器播放音视频文件时,支持通过 setPlayMediaStreamType 接口,设置为“仅播放音频” 或“仅播放视频”,不消耗音视频解码性能。

相关 API 请参考 setPlayMediaStreamType

问题修复

1. 修复拉流时,偶现无声音的问题

2. 修复多房间断网的异常情况下,多次调用 [logoutRoom]、[loginRoom] 接口,导致后续登录房间失败的问题

3. 修复房间重连失败的情况下,可能出现频繁重试的问题

2023-09-08 Version:6.25.0

新增功能

1. 支持分离“耳返数据”和“上行音频数据”

注意:该功能需要在调用 [initSDK] 接口初始化 SDK 之前设置。

支持分离“耳返数据”和“上行音频数据”,可用于 KTV 实时合唱“耳返数据”和“推流数据”内容不一致的场景中。

相关 API 请参考 setConfig

2. 外部渲染支持抛出 SurfaceTexture 类型数据,降低渲染延迟

3. 单流转码功能支持 RTC 拉流

注意:

  1. 如需使用该功能,请联系 ZEGO 技术支持。
  2. 转码会造成额外的延迟,不建议您在使用 RTC 拉流的麦上场景中使用该功能。

RTC 拉流时,支持通过预设的转码模板触发单流转码任务,输出不同分辨率的转码流,详情请参考 单流转码

该功能可用于直播等场景中,观众可以基于网络质量、终端设备等,选择不同分辨率的流进行观看,确保播放的流畅性。

4. 支持均衡型 AI 降噪模式

注意:当前官网 SDK 不包含此功能,如有需要,请联系 ZEGO 技术支持特殊编包。

支持均衡型 AI 降噪模式,与原有模式相比,在相同的人声保真效果前提下,噪音抑制效果明显提升,可以达到干净无噪音或不扰人的程度;但性能消耗稍微增加。适用于街道、马路、市场等较为嘈杂(信噪比低)的户外环境中,详情请参考 场景化 AI 降噪

问题修复

1. 修复调用 sendMediaSideInfo 接口发送音频次要消息,接收端 10s 左右才能收到消息的问题

2. 修复网宿 CDN 在直推情况下,停推 TCP 断连耗时固定为 500 ms 的问题

3. 修复音频外部采集模块切换音源时,会导致无声的问题

4. 修复通过 setWaterMarkImagePath 设置水印路径超过最大长度时,没有抛出错误信息的问题

5. 修复发送流新增时,极小概率出现失败的问题

6. 修复音效播放器偶现崩溃的问题

2023-08-16 Version:6.24.1

问题修复

1. 修复使用 Token 鉴权时,在 [initSDK] 之后、[uninitSDK] 之前变更了 userID,可能导致推拉流失败的问题

2023-08-09 Version:6.24.0

新增功能

1. 新增支持“智能云代理”模式

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

开发者设置“智能云代理”模式后,在 RTC 或 L3 拉流时,会优先使用直连网络模式进行尝试。如果直连网络不可用、且当前是蜂窝网络,则继续留在直连模式重试;如果直连网络不可用、且当前是非蜂窝网络,则切到云代理模式,详情请参考 云代理

2. 支持抛出编码和硬件解码的低帧率告警

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

新增支持抛出编码和硬件解码的低帧率告警回调,在 1v1 聊天、直播等场景中,开发者可基于该回调,实现调整推流分辨率、触发转码等操作。

相关 API 请参考 onVideoEncoderErroronVideoDecoderError

3. 支持在辅路推流时回调流控信息

在辅路推流时,支持通过 onTrafficControlCallback 回调流控信息。

相关 API 请参考 onTrafficControlCallback

改进优化

1. 优化低照度增强算法的噪点表现

2. 优化媒体播放器加载资源的 URL 长度,最大支持 2048 字节

3. 优化媒体播放器 SEI 信息与相应帧数据的回调同步,保证 SEI 和画面的一致性

问题修复

1. 修复带 B 帧的 H.265 RTMP 流出现硬解卡顿的问题

2. 修复无效麦克风引入的双声切换的问题

2023-07-13 Version:6.23.0

新增功能

1. 开启视频大小流编码后,除大流的视频参数外,新增支持设置小流的视频参数

注意:

  1. 使用此功能前,需要先调用 setVideoCodecId 接口,指定视频编码格式 codecID 为 “VIDEO_CODEC_H264_DUAL_STREAM(大小流编码)”。
  2. 设置大流、小流的分辨率的 “比例” 需要保持一致,否则调用接口会出错。

在指定编码格式为 “大小流编码” 的情况下,支持分别设置大流和小流的分辨率、帧率和码率,详情请参考 视频大小流和分层编码

相关 API 请参考 setVideoCodecId, setPublishDualStreamConfig

2. 游戏语音支持配置 3D 音效距离的衰减范围

游戏语音场景中,支持设置 3D 音效距离的衰减范围区间 [min, max]。距离小于 min 时,音量不会随着距离的增加而衰减;距离大于 max 时,将无法听到对方的声音。

相关 API 请参考 setAudioRecvRange

3. SDK 支持设置云代理

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

通过设置 SDK 的云代理接口,将 SDK 对应的所有流量通过云端的代理服务器进行中转,实现与 RTC 通信,详情请参考 云代理

相关 API 请参考 setCloudProxyConfig

改进优化

1. 优化 SDK 内部逻辑,减少 400KB ~ 600KB 的内存占用

2. 优化 SDK 视频采集策略,提升画质

3. 在断网导致的推拉流重试状态中,支持回调本地网络质量

相关 API 请参考 onNetworkQuality

4. 支持在调用 [unInit] 接口后,生成日志上传任务

相关 API 请参考 uploadLog

5. 修改重置拉流配置的时机,从 “停止拉流” 变更为 “开始拉流”

6. 优化 SDK 的内部逻辑,提升弱网环境下的通话体验

问题修复

1. 修复 MediaRecorder、AudioObserver 停止推流后,未恢复本地推流,继续采集的问题

2023-06-09 Version:6.22.0

新增功能

1. 新增支持背景虚化、虚拟背景功能

注意:当前官网 SDK 不包含此功能,如有需要,请联系 ZEGO 技术支持特殊编包。

在实景或绿幕场景中,开发者可以通过该功能对用户的背景进行虚化模糊处理,或替换为自定义图片背景,详情请参考 主体分割

该功能可用于视频会议、1v1 音视频通话等场景中,帮助用户更好的保护个人隐私,以及提升通话的趣味性。

相关 API 请参考 enableVideoObjectSegmentation

2. 媒体播放器倍速功能最大支持 4 倍速

媒体播放器倍速的上限提升到 4 倍速。例如,用户在播放音视频文件时,如果已设置为 2 倍速播放,长按屏幕时可以加速至 4 倍速。

相关 API 请参考 setPlaySpeed

改进优化

1. Android SDK 提供 AAR 包

为了方便开发者使用屏幕共享功能,从 6.22.0 版本开始,在本地下载的 SDK 中提供了 AAR 包,并在 Maven 在线集成方式的 AAR 包中携带了屏幕共享的 Service 声明,开发者无需手动在自己工程中声明,详情请参考 屏幕共享

2. 优化主体分割功能在麦克风与人体重叠时的表现

注意: 当前官网 SDK 不包含此功能,如有需要,请联系 ZEGO 技术支持特殊编包。

当麦克风与人体区域存在部分重叠时,可以保留重叠区域的麦克风形状,以维持完整的人体区域形状。

相关 API 请参考 enableVideoObjectSegmentation

问题修复

1. 修复使用媒体播放器时可能会导致内存泄露的问题

2023-05-11 Version:6.21.0

新增功能

1. 外部采集支持主动偏移 NTP 时间戳

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

使用外部采集功能时,支持通过实验性 API 接口主动偏移 NTP 时间戳。该功能可用于 KTV 的合唱、伴奏、歌词对齐等场景。

2. 多房间模式下支持快速切换房间

多房间模式下,支持通过 switchRoom 接口,快速便捷地实现切换房间的功能。

相关 API 请参考 switchRoom

3. 支持自主维护 AEC(回声消除)的参考信号

注意:

  1. 如需使用该功能,请联系 ZEGO 技术支持。
  2. 启动拉流以后,调用该接口才会生效。

支持开发者通过 onReferenceAudioFrame 回调接口,输入需要消除的声音(即参考信号),直接消除。

该功能可用于自定义采集渲染场景中。例如:用户外放背景音乐,同时上麦进行发言,其中背景音乐不是使用自定义渲染或外部渲染的声音,可通过该功能消除推流中包含的背景音乐回声。

相关 API 请参考 onReferenceAudioFrame

改进优化

1. 大幅度降低华为机型设备的视频硬解耗时时长

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

针对华为机型设备,SDK 支持通过相关配置,降低 80% 的视频硬解耗时时长。

问题修复

1. 修复媒体播放器在部分 m3u8 文件格式中,不能通过 seekTo 接口使播放进度跳转到跳转到 0 的问题

2. 修复重新推流后,拉流端视频卡顿的偶现问题

3. 修复登录时收不到登录成功相关回调的偶现问题

4. 修复 3D 音效开启异常的问题

5. 修复 Android 内存用量信息不更新的问题

2023-04-14 Version:6.20.0

新增功能

1. 新增地理围栏功能

注意:

  • 如需使用该功能,请联系 ZEGO 技术支持。
  • 请在创建引擎之前,配置地理围栏信息。

将音视频及信令数据访问限定在某一区域,用以满足地区数据隐私安全相关法规,即限定用户访问某一特定区域的音视频服务,详情请参考 地理围栏

相关 API 请参考 setGeoFence

2. 状态同步及万人范围音视频支持主动拉流

状态同步及万人范围音视频功能支持通过流 ID 主动拉流或自定义拉流。该功能可实现无论距离多远都保持拉流的玩法,适用于虚拟世界中存在大屏或主持人时,虚拟世界中任何一个地方的观众都可以通过拉流得到大屏或者主持人声音的场景。

3. 暴露音频前处理 AUX 对齐后的混音音频数据,并通过 onAlignedAudioAuxDataCallback 返回

相关 API 请参考 setAlignedAudioAuxDataCallbackenableAlignedAudioAuxData

4. 媒体播放器支持边下载、边回调数据解密、边播放的功能

针对在线播放器的版权音乐保护,媒体播放器支持边下载边回调未解密的二进制数据,由开发者解密后再传回媒体播放器播放,过程中不会产生文件或缓存文件。

相关 API 请参考 setBlockDataCallback

5. 支持按平台开关主体分割功能

注意:

  • 如需使用该功能,请联系 ZEGO 技术支持。
  • 通过实验性 API 形式接入的开发者,需要迁移为通过正式 API 接口接入主体分割功能。

相关 API 请参考 enableVideoObjectSegmentation

6. 支持动态切换流控策略

支持动态开关流量控制功能,同时支持设置流量控制属性等。

相关 API 请参考 enableTrafficControl, setMinVideoBitrateForTrafficControl, setMinVideoFpsForTrafficControl, setMinVideoResolutionForTrafficControl

改进优化

1. 外部采集设置填充模式接口支持 PIXEL_BUFFER_TYPE_SURFACE_TEXTURE 采集数据类型

2. 优化 SDK 内存占用

删除 SDK 内部一些没必要的内存申请,优化 SDK 内存使用率,相比上个版本,内存使用率减少了 10% 左右。

问题修复

1. 修复游戏语音在某些情况下收听异常的问题

2. 修复硬编在丢帧后不出帧的问题

3. 修复硬编复制纹理访问空指针的问题

2023-03-23 Version:6.19.1

问题修复

1. 修复在部分场景下,Android 硬件耳返失效的问题

2. 修复在部分场景下,H265 解码失效的问题

2023-03-10 Version:6.19.0

新增功能

1. 支持外放场景下的人声增强效果

在外放场景中,设备的麦克风与扬声器过近,容易导致人声模糊或沉闷。在该场景下,人声增强可以有效提升人声清晰度并改善沉闷感,因此在外放场景下,建议开启该功能。

为实现外放场景下的人声增强效果,可开启人声增强音效并设置增强等级,增强等级推荐配置为 4,可用于 KTV 外放场景下,精细控制人声效果。

相关 API 请参考 enableSpeechEnhance

2. 在自定义音频采集 和 SDK 内部渲染模式下,支持自适应设备采集渲染延迟和回声消除(AEC)功能

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

在自定义音频采集和 SDK 内部渲染模式下,支持混音自适应对齐和 AEC 功能,可使在实现 KTV 场景下的合唱时,达到更好的效果。

3. 媒体播放器支持获取容器的元数据信息

相关 API 请参考 getMetaDataValue

4. 新增音频文件录制功能

相关 API 请参考 startAudioRecordstopAudioRecord

5. 单流转码功能支持 L3 或 CDN 拉流

注意:通过 CDN 拉取转码流时,必须使用转推 CDN。如需使用该功能,请联系 ZEGO 技术支持。

单流转码,指在云端把每条原始流转换为不同编码格式、不同分辨率的转码流。拉流时传入转码模板 ID 拉取转码流。在直播等场景中,观众可以基于接入网络质量、终端设备等,自行选择不同分辨率的流进行观看,以保证播放的流畅性。

6. 混流任务支持输入超级白板信息

在混流功能支持将白板中的操作内容转成实时视频,且支持设置白板配置信息,例如,设置白板 ID、白板宽高比、是否支持加载动态 PPT 等。

相关 API 请参考 mixStreamEx

改进优化

1. 优化超分算法,大幅提升机型覆盖率

注意:enableVideoSuperResolution 修改了调用时机,需要在 initVideoSuperResolution 后才能调用,详情请参考 超分辨率

相关 API 请参考 enableVideoSuperResolutioninitVideoSuperResolution

2. 优化超分逻辑,新增初始化、反初始化接口

注意:enableVideoSuperResolution 修改了调用时机,需要在 initVideoSuperResolution 后才能调用,详情请参考 超分辨率

相关 API 请参考 initVideoSuperResolutionuninitVideoSuperResolutionenableVideoSuperResolution

问题修复

1. 修复插拔耳机后,播放器没有声音的问题

2023-02-23 Version:6.18.1

问题修复

1. 修复某些场景下,重新登录房间后,音频外部采集需重新设置才能生效的问题

2023-01-13 Version:6.18.0

新增功能

1. 支持视频大小流功能

通过视频大小流编码(H.264 DualStream)对视频进行码流分层时,相比较于分层视频编码(H.264 SVC),视频大小流编码(H.264 DualStream)支持使用硬件编码,即 ZegoVideoCodecAvc 新增 VIDEO_CODEC_H264_DUAL_STREAM 字段,详情请参考 设置视频编码方式

相关 API 请参考 VIDEO_CODEC_H264_DUAL_STREAM

2. 主体分割支持实景分割与绿幕分割,内部渲染支持 Alpha 通道

注意:本功能为内测功能,如需接入体验,请联系 ZEGO 商务人员。

  • Android、iOS、Windows、macOS(暂只支持 Apple 芯片)四端支持实景分割与绿幕分割。
  • 内部渲染支持 Alpha 通道,开发者不需要使用自定义渲染,即可实现主体与背景的混合。

改进优化

1. 自定义信令配置支持扩展到 4KB

注意:自定义信令配置默认大小为 1KB,如需扩展到 4KB,请联系 ZEGO 技术支持进行处理。

问题修复

1. 修复小概率异常断开情况,可能导致推流失败的问题

2. 修复网络时间模块重试失败的问题

2022-12-12 Version:6.17.1

问题修复

1. 修复低延迟模式下设备重启的问题

2022-12-09 Version:6.17.0

改进优化

1. 大幅度提升极端弱网地区的音视频连通率,并降低连通耗时

ZEGO 自研调度系统针对网络质量极差地区进行了深度优化。

问题修复

1. 修复发送房间 Logout 信令可能失败的问题

2. 修复了因摄像头权限占用问题导致的低概率黑屏的问题

3. 修复音效播放器偶现崩溃的问题

4. 修复视频外部采集在内存模式下,偶现的访问野指针崩溃的问题

2022-11-15 Version:6.16.2

问题修复

1. 修复多房间模式下,停止推流时,房间内其他人收不到流删除通知的问题

2. 修复 Android 系统下,硬件解码切换分辨率后,可能会崩溃的问题

2022-10-28 Version:6.16.0

新增功能

1. 新增视频超分辨率能力

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

新增 [enableVideoSuperResolution] 接口支持对某一条视频流进行超分辨率处理,从而得到更好的画质。超分辨率,简称超分,是在客户端对拉取的视频流的宽和高实时倍增处理的技术,例如,从 360p 超分为 720p,详情请参考 超分辨率 文档。

相关 API 请参考 enableVideoSuperResolutiononPlayVideoSuperResolutionUpdate

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

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

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

3. 支持获取当前设备指定视频编解码器的编解码能力支持情况

SDK 支持获取当前设备指定视频编解码器的编解码模式的支持情况,从而更好的帮助开发者选择使用的编码器及编码模式并获得更好的效果。

  • 通过 [isVideoEncoderSupported] 接口,可获取当前编码器的硬件或软件编码支持情况
  • 通过 [isVideoDecoderSupported] 接口。可获取当前解码器的硬件或软件解码支持情况。 以上两个接口均包含三个枚举值:支持硬件或软件,支持硬件,支持软件。例如以 Android 端为例,isVideoEncoderSupported(ZegoVideoCodecID.H265, ZegoVideoCodecBackend.HARDWARE),即表示检查当前设备是否支持 H265 的硬编,若支持,则返回 true。

相关 API 请参考 isVideoEncoderSupportedisVideoDecoderSupported

4. 媒体播放器支持控制指定音轨进行本地播放还是推流

注意:需在开始播放前调用 [setAudioTrackMode] ,且开启该模式会增加对硬件设备的资源消耗。

当开发者希望指定特定的音轨进行推流时,则可通过 [setAudioTrackMode] 设置媒体播放器的播放模式为多音轨模式,并通过 [setAudioPublishStream] 设置对应播放器需要推流的音轨。

相关 API 请参考 setAudioTrackModesetAudioPublishStream

5. 支持在 SPEAKER 模式下进行双声道采集

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

6. 新增获取 GPS 信息开关接口

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

在 App 有获取地理位置权限的情况下,开发者可以选择是否允许 ZEGO SDK 获取系统缓存的 GPS 信息,默认进行获取。当开发者希望关闭该功能时,需要联系 ZEGO 技术支持进行设置。

改进优化

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

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

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

2. 优化空间音频功能

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

3. 优化采集音量过大会造成破音的情况

优化 AGC 自动增益控制算法,当采集音量过大时,不会造成破音情况。

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

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

问题修复

1. 修复了 Mac M1 芯片电脑在部分系统版本下,Web 端开启硬件编码推流,并采用多 SPS(Sequence Paramater Set,又称序列参数集)、PPS(Picture Paramater Set,又称图像参数集)的输出形式 ,Native SDK 拉流时解码会出现花屏的问题

2. 修复了网络状态从有网络切换到无网络时,当前正在上传的日志有可能出现崩溃的问题

3. 修复了 GetCallbackController 非线程安全问题​

4. 修复 Android 系统下,反复启停摄像头造成的 SDK 崩溃的问题

5. 修复了 SDK 在没有 View 的情况下,没有触发 [onPlayerRenderVideoFirstFrame] 的问题

2022-09-09 Version:6.15.0

新增功能

1. ​移动端支持视频采集旋转功能

由于移动端摄像头具备角度、分辨率、旋转等特性,开发者需要做许多复杂的适配。
当前 SDK 对各种配置进行封装,提供简单的模式选择,包括自定义模式、固定比例模式、自适应模式及对齐模式,可有效降低开发者接入成本。
相关 API 请参考 setAppOrientationMode​​

2. 支持华为手机使用系统耳返的混响效果

​​​​注意:如需使用该功能,请联系 ZEGO 技术支持。
华为手机使用系统耳返的情况下,增加混响效果。由于系统的限制,只支持如下三种混响效果:KTV、Theatre(剧院)、Concert(音乐会),默认为 KTV。若选择三种效果之外的混响效果,依然默认为 KTV 效果。

改进优化

1. Android 端超分性能优化(高通平台)

​​​​注意:如需使用该功能,请联系 ZEGO 技术支持。
优化超分功能的表现,提升机型覆盖、优化资源占用和推理速度。

问题修复

  1. 修复多房间模式下,在网络切换(WiFi/蜂窝网络)期间调用 loginRoom 可能无回调的问题。
  2. 修复范围语音功能在退出小队后,在范围距离外还能听到原小队内的人的声音的问题。
  3. 修复 Android 5.1 及以下版本可能崩溃的问题。 ​
2022-08-09Version:6.14.0

新增功能

1. 支持 socks5 的本地代理

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

相关 API 请参考 setConfig

2. SDK 外部采集支持 H.265 码流

请注意:

  • 推荐每 2s 一个 GOP,每个 I 帧必须携带 SPS 和 PPS,且放在最前面。在通过 supportBufferType 接口告知 SDK 当前采集设备使用何种数据类型时,需返回 PIXEL_BUFFER_TYPE_ENCODED_FRAME
  • 外部采集不支持输入 B 帧。

相关 API 请参考 supportBufferType

3. 支持动态修改 AudioDeviceMode

新增 setAudioDeviceMode 接口进行动态修改设备的音频模式,该配置决定设备的音量模式、前处理模式以及 Mic 占用逻辑,您可以根据具体场景进行选择,详情请参考 如何设置音频设备模式 ZegoAudioDeviceMode?

相关 API 请参考 setAudioDeviceMode

改进优化

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

当远端用户异常时,onNetworkQuality 每 2s 回调一次质量未知状态(Unknown 状态),当用户该状态持续 8s 后,则认为远端用户已异常断开,此时回调质量极差状态(Die 状态)。

相关 API 请参考 onNetworkQuality

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

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

相关 API 请参考 onPlayQualityUpdateonPublishQualityUpdateonNetworkQuality

3. 优化日志上报策略

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

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

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

问题修复

  1. 修复网络模块极低概率崩溃的问题。
2022-07-14Version:6.13.1

问题修复

  1. 修复纯音频场景发送 SEI 失败的问题
2022-07-08Version:6.13.0

新增功能

1. 支持设置低照度增强

注意:应在调用 initSDK 接口初始化 SDK 后,再调用 setLowlightEnhancement 接口。

当推流端用户周围环境较暗、或摄像头设置的帧率较高,导致直播画面比较暗,无法正常显示或识别主体的情况下,可调用 setLowlightEnhancement 接口,设置低照度增强,提升视频画面亮度。低照度增强功能包含三种模式:1:不开启低照度增强(默认)、2:开启低照度增强、3:自动开关低照度增强。

开发者可以根据业务场景选择不同的低照度增强模式:当希望自行判断是否需要进行低照度增强时,可以通过切模式 1 和 2 来控制;当希望 SDK 自动增强时,可以使用模式 3,SDK 将自动判断用户所处的光照环境,开启或关闭低照度增强。

相关 API 请参考 setLowlightEnhancement

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

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

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

相关 API 请参考 startPlayingStream

改进优化

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

新增 62050119、62050120、62050121、62050122、62050123、62050124、62050125、62050126、62050127、62050128 等错误码。开启强制登录鉴权后,如果 Token 错误时,会返回这些错误码,详情请参考 常见错误码 中的详细解释和处理建议。

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

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

问题修复

  1. 修复一个 L3 拉流失败的问题

    修复 6.12.0 ~ 6.12.2 版本 SDK 采用 L3 拉流时,如果拉到的流是 6.7.0 及之前版本 SDK 推送的流,可能会失败的问题。

2022-06-20Version:6.12.2

问题修复

  1. 修复了在初始化 SDK 前设置音频设备模式不生效的问题
2022-06-18Version:6.12.1

问题修复

  1. 修复了一个概率性拉流失败的问题
2022-06-09Version:6.12.0

新增功能

1. 支持开启摄像头自适应帧率

注意:当通过 setVideoFPS 设置的帧率小于 enableCamAdaptiveFPS 期望帧率最小值时,将使用 setVideoFPS 设置的帧率值。由于不同的手机厂商的硬件和算法策略不同,该接口在不同的机型或同一机型的前后摄像头上,效果存在一定差异。

当推流端用户设置的帧率较高,而所处环境光照较低无法正常显示或识别主体的情况下,可以调用 enableCamAdaptiveFPS 接口,在一定范围内自动降低帧率来增加曝光时间,从而提升视频画面亮度。该功能常用于直播等对曝光要求较高的场景。enableCamAdaptiveFPS 接口需在初始化引擎之后,启动摄像头前调用。

相关 API 请参考 enableCamAdaptiveFPS

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

注意:图片格式应为 JPG 和 PNG 格式,否则出现错误码 82000141;图片不得超过 1M,否则出现错误码 82000142。

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

相关 API 请参考 mixStreamEx

3. 支持设置调用 activateAllVideoPlayStream 后是否清除最后一帧

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

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

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

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

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

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

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

在调用 startPublishingWithParams 接口开始推流时,开发者可以设置 “censorshipMode” 参数,进行流级别的音视频自动审核,自动鉴别涉黄涉政内容,以此降低开发者的接入难度和业务维护成本。

相关 API 请参考 startPublishingWithParams

改进优化

  1. 优化回声消除,解决 KTV 等场景的吞音现象
  2. Android 平台加载 so 库失败时可以抛出 UnsatisfiedLinkError 异常通知
2022-05-11Version:6.11.0

新增功能

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

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

相关 API 请参考 startPublishing

改进优化

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

问题修复

  1. 修复了调用网络测速接口后立刻调用开始推流接口时,收不到网络测速回调的问题
  2. 修复了 H.265 仅本地媒体录制时不生效的问题
  3. 修复了 Android 平台的网络变化监控模块存在的多线程安全问题
  4. 修复了特定 Android 机型和特定蓝牙耳机搭配使用的情况下,开启采集时导致通话音量由蓝牙变成扬声器外放的问题
2022-04-13 Version:6.10.1

问题修复

  1. 修复了日志上报时,日志文件收集异常的问题。
  2. 修复了部分手机的回声消除问题。
2022-04-09 Version:6.10.0

新增功能

1. 新增 AI 降噪功能

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

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

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

相关 API 请参考 setNoiseSuppressMode

2. 支持设置音效的播放速度

开始播放音效后,调用 setPlaySpeed 接口可以对音效设置四种播放速度(会同时设置本地播放速度和推流速度),分别为 0.5 倍速、原始速度、1.5 倍速和 2 倍速,默认为原始速度。

相关 API 请参考 setPlaySpeed

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

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

通过 setCustomCDNPublishTarget 接口配置推流协议和 QUIC 版本,若想进行 QUIC 协议的自定义 CDN 拉流,需要通过 startPlayingStream 接口中的 “ZegoAPICDNPlayUrlInfo“ 参数配置拉流协议和 QUIC 版本。并且可以通过 onStreamEvent 回调查看当前拉流的协议。

相关 API 请参考 setCustomCDNPublishTargetonStreamEvent

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

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

相关 API 请参考 onStreamEvent

改进优化

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

调用 mixStreamEx 接口,通过 “ZegoFontStyle” 中的 “border” 属性可以设置字体是否有边框,通过 “borderColor” 属性可以设置字体边框颜色,可以设置文字水印边框和边框颜色

相关 API 请参考 mixStreamEx

2. 完善开始混流接口 mixStreamEx 返回的错误码

新增 82000157 错误码,表示未开通混流服务。出现此错误码时,请在 ZEGO 控制台 自助开通混流服务(开通步骤请参考 项目管理 - 服务配置 中的“混流”),或联系 ZEGO 技术支持开通。

相关 API 请参考 mixStreamEx

问题修复

  1. 修复了某些平台使用 boringssl 加解密的问题。
  2. 修复了硬编失败不快速回滚软编的问题。
  3. 修复了部分手机硬解返回的分辨率不正确的问题。
2022-03-28 Version:6.9.3

问题修复

  1. 修复了部分 Android 机型在使用硬件解码拉流的情况下,[OnVideoSizeChanged] 回调的分辨率可能不准确的问题。
2022-03-22 Version:6.9.2

问题修复

  1. 修复本地媒体录制模块功能异常的问题。
2022-03-11 Version:6.9.1

问题修复

  1. 修复在 32 位机器下推实时音视频流失败的问题。
2022-03-09 Version:6.9.0

新增功能

1. 支持设置视频帧率和视频分辨率的最小值

新增 [setMinVideoFpsForTrafficControl] 和 [setMinVideoResolutionForTrafficControl] 接口,可以用于用户网络不佳且开启了流量控制时,通过接口设置最低视频帧率及分辨率,帮助用户综合控制视频的显示效果。

相关 API 请参考 setMinVideoFpsForTrafficControlsetMinVideoResolutionForTrafficControl

2. 支持稳态语音检测时设置检测周期参数

稳态语音默认检测周期为 3 秒,用户需要修改默认检测周期,可通过 [enableAudioPrepVADStableStateMonitor] 接口自定义检测周期参数。

相关 API 请参考 enableAudioPrepVADStableStateMonitor

改进优化

  1. 优化了鉴权方式

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

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

  1. 产物名称变更

    规范 SDK 名称大小写:原本的 so 名称为 libzegoliveroom.so,变更为 libZegoLiveRoom.so;原本的 jar 名称为 zegoliveroom.jar,变更为 ZegoLiveRoom.jar。

问题修复

  1. 修复已知问题
2022-02-10 Version:6.8.3

问题修复

  1. 修复了同时调用 loginRoom 和 startPublishing 接口时,对端有概率出现收不到流新增通知的问题
2022-01-26 Version:6.8.2

问题修复

  1. 修复了用户无法接收到登录房间前该房间内其他用户发送的房间附加消息的问题
2022-01-20 Version:6.8.1

问题修复

  1. 修复已知问题
2022-01-14 Version:6.8.0

新增功能

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

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

  • 6.7.0 及之前版本:SDK 在使用 [startPlayingStream] 拉 H.265 编码的流时,如果拉流端出现因硬件性能较差导致解码帧率不足时,SDK 无法主动降级,需要用户先停止拉 H.265 编码的流,再转拉 H.264 编码的流。
  • 6.8.0 及以上版本:新增 H.265 拉流自动降级策略,在使用 [startPlayingStream] 拉 H.265 编码的流时,SDK 可以根据拉流质量情况,在拉流端硬件性能较差导致解码帧率不足的情况下,会自动降级拉 H.264 编码的流。

相关 API 请参考 startPlayingStream

改进优化

  1. 8.0 以上版本的 Android 系统支持获取 CPU 的使用率
2021-12-09 Version:6.7.0

新增功能

1. 支持全方位虚拟立体声

新增支持全方位虚拟立体声,将单声道的声音通过算法处理,模拟成立体感的声音。该功能常用于 KTV 场景中,可以使唱歌的声音更加有立体感。
当调用 [enableVirtualStereo] 接口,将 angle 参数设置为 -1 时,表示立体声效果为全方位立体声。

相关 API 请参考 enableVirtualStereo

改进优化

  1. 混流输出支持进阶的编码参数配置
    混流输出视频配置 [ZegoMixStreamOutput] 新增 encodeProfile 和 encodeLatency 参数,分别用于设置混流输出视频编码规格和混流输出视频编码延时。

问题修复

  1. 恢复设备模块接口 resumeModule 从同步改为异步,避免卡死问题
2021-11-16 Version:6.6.0

新增功能

1. 新增版权音乐功能

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

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

2. 支持实时监听音频和视频的首帧回调

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

允许开发者自定义监听音频和视频帧到达的回调通知, 包括音频首帧到达回调、视频首帧到达回调、视频首帧渲染回调。

相关 API 请参考 callExperimentalAPI

3. 新增统一的摄像头对焦模式和曝光模式

新增统一的摄像头对焦模式和曝光模式。
摄像头对焦模式:
统一自动对焦:摄像头的焦距会不变,使用后摄像头观察物体,移动物体由远及近不会有清晰度变化。
统一持续自动对焦:摄像头的焦距会自适应,使用后摄像头观察物体,移动物体由远及近会有清晰度变化。
摄像头曝光模式:
统一自动曝光:移动手机,摄像头预览不会有明显的亮度变化。
统一持续自动曝光:移动手机,摄像头预览有明显的亮度变化。

4. 新增开启或关闭拉流对齐功能

该功能常用于 KTV 等需要混流对齐的场景,当拉流端播放时,通过 [setPlayStreamsAlignmentProperty] 接口控制播放的实时音视频流是否需要精准对齐。若需要,则拉取的所有流中包含精准对齐参数的会进行对齐;若不需要,则所有流都不对齐。

相关 API 请参考 setPlayStreamsAlignmentProperty

5. 新增音频设备模式

音频设备模式新增 GENERAL3 和 COMMUNICATION4 两种模式。
GENERAL3 模式表示关闭系统前处理,始终占用麦克风,全程使用媒体音量。COMMUNICATION4 模式表示开启系统前处理,上麦占用麦克风,下麦释放麦克风,全程使用通话音量。

相关 API 请参考 setAudioDeviceMode

6. 新增稳态语音检测功能

通过该功能可以判断一定时间内是否有人对着麦克风说话,用于检测采集后或音频前处理后的音频数据为人声还是噪声。

相关 API 请参考 setAudioVADStableStateCallbackenableCapturedAudioVADStableStateMonitorenableAudioPrepVADStableStateMonitoronCapturedAudioVADStateUpdateonAudioPrepVADStateUpdate

7. 服务端支持 ServerSecret 平滑迁移能力

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

支持生成 Token 的密钥,实现 ServerSecret 平滑迁移能力。通过后台配置同时启用两个 ServerSecret,当其中一个 ServerSecret 暴露的情况下,可以平滑迁移到另一个 ServerSecret。

8. 服务端 Token 能力升级

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

Token 支持加入黑名单:为防止旧 Token 释放后攻击新 Token,新增支持将 Token 加入黑名单。Token 黑名单,是指该 Token 在有效期内的 AppID 下无法使用。

Token 支持通过流 ID 鉴权:为防止通过鉴权后,使用相同 Token 推其他的流,新增支持生成绑定流 ID 的 Token。

9. 服务端支持批量禁止 RTC 推流和批量恢复 RTC 推流

为确保客户端下麦成功,服务端新增批量禁止 RTC 推流和批量恢复 RTC 推流能力。

调用批量禁止 RTC 推流接口,可以批量禁止指定流 ID 推送到 RTC 服务,禁止推流操作会向正在推流的客户端和正在拉流的客户端发送推流被禁止的通知。调用批量恢复 RTC 推流接口,可批量恢复被禁止推往 RTC 媒体服务的流 ID。

相关服务端 API 请参考 批量禁止 RTC 推流批量恢复 RTC 推流

改进优化

  1. 优化了本地和远端用户的上下行网络回调 [onNetworkQuality] 的处理逻辑
    g705ba516f7(2021-04-09 发布) 至 6.5.0 版本的处理逻辑为:

    1. 自身必须既推流又拉流,才会收到自身的网络质量回调。
    2. 当拉一条流时,推流端有拉流且推流端在自己所在房间内,才会收到该用户的网络质量。

    6.6.0 及以上版本的处理逻辑为:

    1. 自身只要推流或拉流,就会收到自身的网络质量回调。
    2. 当拉一条流时,推流端在自己所在房间内,就会收到该用户的网络质量。
  2. 默认最大推流通道数量由 2 路新增到 4 路
    6.6.0 之前版本默认最大推流通道数量为 2 路,如需支持更多则需要 ZEGO 技术支持。
    为了配合实时信令功能,该版本默认最大推流数新增至 4 路。

  3. 转推地址长度限制扩容
    混流转推地址长度限制由 512 字节扩展到 1024 字节。

  4. 优化了媒体播放器播放 AAC 格式的文件时,获取播放进度不准确的问题

  5. 官网的 SDK 包默认支持 VP8、MP3 编解码,从该版本开始,不再需要特殊编包

2021-10-26 Version:6.5.1

问题修复

  1. 修复文字水印为空导致 MixStream 混流报错的问题
2021-10-15 Version:6.5.0

新增功能

1. 新增电音音效

电音音效指的是可以让人说话、唱歌的声音,经过处理后带有电音的效果。该功能常用于 KTV、语聊房场景。

在 initSDK 初始化 SDK 之前,调用 setElectronicEffects 接口可以开启电音音效,并可根据需要设置不同模式的电音调式以及对应调式的起始音高。未调用此接口时,默认关闭电音音效。

开发者也可以通过 setVoicePreset 接口预设常见的电音音效,目前支持预设 C 大调电音音效、A 小调电音音效、和声小调电音音效。

2. 新增 Token 过期管理机制

使用此功能需要升级 SDK 并联系 ZEGO 技术支持配置。

不同的业务场景,对用户登录房间、推流等权限有时效限制,可以通过 Token 来实现。

当 Token 过期后,服务端会主动将用户的权限进行回收,客户端的用户会被踢出房间并停止推流。该机制可以使用户权限管理更安全,常用于 KTV、语聊房场景。

相关 API 请参考 setTokenonTokenWillExpired

3. 支持实时更新混流文字水印

直播使用混流时,可以在混流输出画面上实时更新水印,以达到实时更新混流的时候同步刷新水印。该功能常用于在线教育场景,例如上课时在混流画面上标注每条输入流对应的老师名字或者班级名字。

ZegoMixStreamConfig 的混流输入列表中新增 ZegoLabelInfo 字段,可设置混流输入视频画面上的相关文字水印信息,进行混流的每一条流,只支持一个水印。

相关 API 请参考 mixStreamEx

4. 混流支持设置视频渲染模式

在进行混流时,可以对每一条流进行渲染模式的设置。当混流输入流的分辨率比例与对应输入流在混流输出画面上的布局比例不一致时,可以按照不同的业务场景,选择不同的渲染模式。

ZegoMixStreamConfig 的混流输入列表中新增 renderMode 字段,可设置混流输入视频画面的渲染模式,支持“填充模式”和“适应模式”。

相关 API 请参考 mixStreamEx

改进优化

  1. 优化了混流精准对齐功能 推流端,配置混流时可以指定某些流进行精准对齐。
  2. 优化了混流精准对齐的接口调用逻辑 调用 startPublishing 接口且将 ZegoPublishStreamParams 中的 forceSynchronousNetworkTime 值设置为 1,则 SDK 内部会等到 NTP 网络时间同步完成后再推流,此时再调用 setStreamAlignmentProperty 接口开启混流精准对齐功能。
  3. 优化了录音棚、KTV、留声机的音效效果

问题修复

  1. 修复了 SDK 获取网络状态时触发的 Crash
  2. 修复了媒体播放器播放地址过长被截断的问题
2021-09-09 Version:6.3.0

新增功能

1. 支持 H.265 编解码

H.265 编解码完整方案上线,适用于单主播直播和多人互动直播场景。开发者可以在编码或混流时输出 H.265 格式的视频码流,H.265 在同等画质下相对于 H.264 节约了 30% 的流量。
相关 API 请参考 isVideoEncoderSupportedisVideoDecoderSupportedenableH265EncodeFallbackonVideoEncoderChanged

使用该功能前请先联系 ZEGO 技术支持。

2. 支持回调远端扬声器设备状态

与远端用户连麦成功后,当远端扬声器设备状态发生变更时,例如开/关扬声器,可以通过 onRemoteSpeakerStatusUpdate 回调监听。

3. 媒体播放器支持倍速播放

在加载资源完成后,调用 setPlaySpeed 接口可以设置媒体播放器的视频播放倍速,支持 0.5 ~ 2.0 倍,默认为 1.0,即正常速度。

4. 混流支持空间音频能力

使用混流功能时,支持通过 audioDirection 参数设置每路音频流的空间音频效果。

改进优化

  1. 优化耳返功能,使耳返的延迟缩短至 50+ ms

  2. 新增支持小米机型的耳返功能

  3. 扩大了广播消息和弹幕消息的容量,从此版本开始,支持发送长度更大的消息(默认限制为 1 KB)

    如有需要请联系 ZEGO 技术支持。

问题修复

  1. 修复偶现连麦看不到画面的问题
  2. 房间流新增失败时回调 2 次推流失败回调
2021-08-20 Version:6.1.2

问题修复

  1. 修复登录房间耗时可能较长的问题
2021-08-09Version:6.1.0

新增功能

1. 媒体播放器支持硬解

某些机型在使用软解时,手机可能存在发烫的情况,媒体播放器新增优先使用硬解的功能,可降低 CPU 消耗,为系统节约资源开销。

新增接口 requireHWDecoder

2. 支持统计从 CDN 拉流的视频卡顿率和音频卡顿率

联系 ZEGO 技术支持开通该配置,可在拉流质量回调中监听视频卡顿次数、累计视频卡顿次数、累计视频卡顿比例、累计视频卡顿时长和音频卡顿次数、累计音频卡顿次数、累计音频卡顿比例、累计音频卡顿时长。其中,累计卡顿不会去除对端由于设备关闭造成的卡顿。

相关接口 onPlayQualityUpdate

3. 声浪回调支持检测是否有人声

开发者在监听声浪回调时,往往只关注人声部分,SDK 在声浪回调中新增流中是否包含人声的检测功能。

新增接口 enableVAD,设置 true 开启检测,可在 onCaptureSoundLevelUpdate 回调中通过 vad 判断对应的流是否包含人声。

4. 调节采集音量时,支持系统耳返音量同步调整

在使用系统耳返时,调用 setCaptureVolume 接口采集音量,可同步调整系统耳返音量,让观众听到的声音与自身耳返声音保持在同一水平线。

5. 媒体播放器支持播放二进制文件

当开发者已经将播放数据写入内存后,可直接使用媒体播放器进行播放,无需再写成文件进行播放。

新增接口 startload

6. 拉流质量回调新增 MOS 音质评分

对音频质量比较关注时,可通过拉流质量回调新增的 MOS 音质评分字段了解当前音频的质量。

MOS 值 音质评价
大于 4.0
音质佳,清晰流畅。
3.5 ~ 4.0
音质较好,偶有音质损伤,但依然清晰。
3.0 ~ 3.5
音质一般,偶有卡顿,不是非常流畅,需要一点注意力才能听。
2.5 ~ 3.0
音质较差,卡顿频繁,需要集中精力才能听清。
2.0 ~ 2.5
音质很差,偶有杂音,部分语义丢失,难以交流。
小于 2.0
音质非常差,杂音频现,大量语义丢失,完全无法交流。
-1
未知。

onPlayQualityUpdate 回调新增 mos 参数。

改进优化

1. 关闭摄像头且在发送 SEI 的情况下,可通过联系 ZEGO 技术支持配置,不触发首帧渲染

2. 拉流路数配置优化,此版本 SDK 默认支持 50 路拉流,运行期会默认设定为 12 路拉流

开发者需要支持超过 12 路拉流时,请联系 ZEGO 技术支持设置。

3. 屏幕采集时对编码进行优化,降低码率波动

4. 明文日志中新增 CDN 拉流每个阶段耗时

5. 当指定日志路径无法写入时,将日志写在默认日志路径下

当用户在使用某些安装方式时,可能会无法自动生成日志文件夹,导致无法生成日志。SDK 优化日志写入方式,在发生此类异常时,日志可在默认路径下生成。

问题修复

  1. 修复特定条件下的崩溃问题

  2. 修复可能的内存泄漏问题

  3. 修复上传日志耗时久的问题

2021-07-09Version:g1c747fe8b2

新增功能

1. 支持获取 NTP 时间

在进行多端同步行为或耗时统计时,需要网络时间同步。SDK 新增获取 NTP 时间功能,可通过 “getNetworkTimeInfo” 接口获取 NTP 时间戳。

使用该功能前请先联系 ZEGO 技术支持。

2. 新增混流自动精准对齐功能

基于 ZEGO 服务器的 NTP 时间,在混流时自动对齐各路流的播放时间。

使用该功能需要先通过 enablePublishStreamAlignment 开启校准网络时间,再通过 streamAlignment 开启自动精准对齐。

使用该功能前请先联系 ZEGO 技术支持。

3. 媒体播放器支持文件自定义读取

新增 setMediaPlayerFileReader 接口,用于扩展文件读取操作,可在播放文件前进行自定义操作,比如使用自己的库对加密文件进行解密。

4. 支持摄像头关闭时推送图片

关闭摄像头时,支持持续推送 JPEG/JPG、BMP 和 HEIF 格式的静态图片。例如,主播退后台的时候,会主动关闭摄像头,此时观众侧需要展示主播暂时离开的图片。

新增 setDummyCaptureImagePath 接口,用于设置关闭摄像头时所推静态图片的路径。

5. 支持获取指定流 ID 的发布者信息

新增 getUserByStreamID 接口,可获取到指定流 ID 对应的发布者信息。

改进优化

  1. 优化媒体播放器,调用 seekTo 接口指定播放进度的误差缩短到 10ms

  2. 优化帧序列检测,不再过滤 B 帧

  3. 优化日志打印,删除一些无用日志

  4. 优化媒体播放器、音效播放器,支持读取带有 “file://” 前缀的文件路径

  5. 优化音频内部渲染,支持渲染单通道音频

问题修复

  1. 修复媒体播放器先最小化再最大化后画面异常的问题

  2. 修复打开文件时报错的问题

  3. 修复只推音频且发送 SEI 情景下录制发生异常的问题

  4. 修复停止拉流后最后一帧画面显示异常的问题

  5. 修复推流过程中插入耳机出现耳返异常的问题

2021-06-18Version:gb6c19ce606

新增功能

1. 支持登录房间和用户房间内推流鉴权

用户权限控制指的是用户登录房间,或是在房间内进行推/拉流等操作时,ZEGO 服务端根据用户登录时携带的 Token 参数,判断用户是否有对应的权限,避免因权限控制缺失或操作不当引发的风险问题。 目前仅支持用户登录房间和用户房间内推流两个权限的校验。

新增接口 setToken,新增回调 onTokenWillExpired

相关文档请参考 用户权限控制

  • onUserUpdate 回调新增了房间 ID 的字段,开发者在替换新版本 SDK 时需要考虑兼容问题。
  • onCustomTokenWillExpired 回调改为 onTokenWillExpired,开发者在替换新版本 SDK 时需要考虑兼容问题。

2. 优化多房间功能

同一个用户可以同时加入多个房间,并同时在多个房间内推流、拉流、发送实时消息和接收消息回调。

新增 setRoomMode 等接口。

相关文档请参考 多房间

2021-06-10Version:gcd4f671d18

新增功能

1. 兼容 Android 10 和 Android 11 对文件访问的限制

Android 10 引入 scoped storage 概念后,一般情况下,App 只能访问 SD 卡上属于 App 的私有数据,开发者可在 AndroidManifest.xml 中添加声明来关闭 scoped storage。

但 Android 11 及以后版本将忽略该声明,强制开启 scoped storage。开发者可使用 SDK 提供的接口,使 SDK 支持直接使用文件路径读写文件。

新增 getLogPathUrisetWaterMarkImagePathstartRecord 接口,媒体播放器新增 startload 接口,音效播放器新增 playEffectpreloadEffect 接口。

2. 高清预览模式下预览截图分辨率比例可与编码比例一致

在高清预览模式下,为了减少性能消耗,以往版本在摄像头采集后不会立即进行裁剪,导致高清预览模式下分辨率比例与编码比例不一致,最终导致此时的截图比例异常。从此版本开始,可以选择在采集后立即进行裁剪,保证比例一致。

setConfig 接口新增 "snapshot_preview_version=1" 配置,取值为 1 会根据编码分辨率做裁剪,取值为 0 则不会。

3. 支持指定推流通道使用硬编解

由于不同手机支持并发硬编解的数量不同,若该手机并发推流或拉流数超过限定硬编解数量,则会按先后顺序分配硬编解能力。为解决只能默认分配问题,新增自定义设置硬编解功能。

新增 requireHardwareEncoderByChannelrequireHardwareDecoderByStream 接口。

4. 媒体播放器新增对 MKV 格式的支持

改进优化

  1. 优化初始化 SDK 和登录房间耗时,首次初始化 SDK 耗时和首次登录房间耗时降低 50% 以上。

  2. 优化 AudioDeviceMode 切换时机,可以随时切换音频设备模式。当语聊房用户涉及开黑模式或音乐模式时,可在推流后切换音频设备模式,保证开黑模式下的回声消除效果,保持音乐模式下的高音质。

  3. 优化外部渲染逻辑,在进行上下翻转、水平翻转、旋转操作时,直接影响外部渲染数据变化。

  4. 在关闭接收音频数据后,再开启接收音频数据,通过 setConfig 配置后,可以收到首帧回调。

  5. 混流转单流转推 CDN 时,转推成功后,会自动补 I 帧,避免出现短暂黑屏的情况。

  6. 优化媒体播放器,seek 后进行暂停/恢复操作生效。

  7. 优化耳返功能,大幅度降低耳返延迟。

问题修复

  1. 修复偶现的停止拉流后最后一帧画面显示异常的问题。

  2. 修复设置开启外部渲染时找不到对应流通道的问题。

  3. 修复硬编码本地域名异常问题。

  4. 修复应用掉线时重复调用登录、推流、拉流接口不报异常的问题。

  5. 媒体播放器修复部分文件加载后没有回调的问题。

2021-05-10Version:g84e595a166

新增功能

1. 新增空间音频功能

空间音频能够感知空间内 360° 的声音位置。开发者可以通过空间音频功能在音视频房间内营造更逼真的“座位”效果,用户可以通过空间音频感知声音的来源方向,还原线下场景。适用于语聊房、剧本杀和线上会议等场景。

新增 enablePlayVirtualStereo 接口,用于设置特定 StreamID 的音源角度。

改进优化

  1. 优化流控策略,开启流控功能的码率、帧率和分辨率自适应,在上行网络可用带宽低至 150 kbps 时仍可保证正常推流

  2. 优化推拉质量回调中 quality 字段计算公式,能够更客观地反映推流客户端的网络情况

  3. 优化音频观察器的逻辑,功能的开关与视频采集设备解耦,即该功能的开关不会引起视频设备的开关

  4. 优化媒体播放器的 Seek 逻辑,Seek 成功后直接渲染对应时刻的音视频内容,忽略缓冲区的音视频数据

问题修复

  1. 修复了媒体播放器连续快速多次 Seek 导致卡死的问题

  2. 修复了更新房间内流附加信息失败的问题

2021-04-09 Version:g705ba516f7

新增功能

1. 新增混流场景下的焦点语音功能

在混流时,开发者通过设定拉流端要突出的目标流,实现了在多人同时说话的嘈杂环境下,突出特定用户的语音。例如在会议场景下,可以保障重点人物发言的声音。

在调用 mixStreamEx 接口开启混流时,将传入的 ZegoMixStreamInfo 混流配置参数中的 audioFocus 设置为 “true”,即可指定该流为焦点语音流。

新增 ZegoMixStreamInfo 结构体 audioFocus 成员。

2. 新增人声偏移功能

混音场景下,新增调节麦克风声音的偏移值。在老年 KTV 场景中,演唱者声音总是慢于伴奏,可通过人声偏移功能,让人声与伴奏的混音处于相同步调。

新增接口 setAudioCaptureShiftOnMix

3. 新增本端和远端的上下行网络质量回调

新增本端上下行网络质量回调,默认每两秒回调一次。新增远端用户的上下行网络回调,每个拉取的远端用户每两秒回调一次。可通过此功能分析链路上网络情况,第一时间了解本端和远端用户的网络状况。

新增接口 onNetworkQuality

4. 新增质量数据回调

新增下行码率,统计周期内下行的音视频平均码率。新增下行音频平均码率,统计周期内下行音频的平均码率。新增下行视频平均码率:统计周期内下行视频的平均码率。新增累计音频卡比例,统计本地用户拉取所有音频流卡顿占总有效时长的百分比。新增累计视频卡比例指标,统计本地用户拉取所有视频流卡顿占总有效时长的百分比。

ZegoPlayStats 新增参数 rxKBitRaterxAudioKBitRaterxVideoKBitRate,相关接口请参考 onPlayStatsUpdate

ZegoPlayStreamQuality 新增参数 audioCumulativeBreakRatevideoCumulativeBreakRate,相关接口请参考 onPlayQualityUpdate

5. 新增发布首帧音频回调和首帧视频回调

在成功发布首帧音频和首帧视频时,监听该接口可以触发回调。可通过该回调计算音频和视频发布耗时和成功率。

新增接口 onSendLocalAudioFirstFrameonSendLocalVideoFirstFrame

6. 音频录制中新增录制本地音频和拉流的音频选项

在音频录制中,本地不推流的情况下,支持录制本地采集、媒体播放器播放、远端拉流的声音。通常在 AI 课堂中,学生对 AI 视频学习并朗读,并需要录制朗读内容的场景下使用。

7. 直推 CDN 新增支持重试时刷新推流地址和鉴权参数

在直推 CDN 场景中,推流中断重试时,CDN 鉴权参数过期,无法立即返回错误。新增刷新重试时的推流地址和鉴权参数,可在鉴权参数过期前定时调用此接口刷新鉴权参数。

相关接口请参考 setPublishConfig

8. 新增音频观察器

在 SDK 采集到音频数据后,音频观察器可将音频数据通过回调直接传递给开发者。在需要接入语音识别的场景中,开发者可通过音频观察器获取到 SDK 采集的数据。

新增接口 startAudioObserverstopAudioObserversetAudioObserverCallback

改进优化

1. 技术优化,将流媒体与房间分离

房间作为可选编译选项,可以编译成纯流媒体 SDK 形式。

2. 建立设备黑名单

可避免某些手机开启系统耳返后,无法使用 OpenSL ES 采集,导致的异常。

3. 建立设备白名单

考虑到某些设备系统前处理能力不足,建立设备白名单,名单内设备只能使用 general 模式。

4. 优化登录房间接口,过滤用户名字段开头的空字符

5. 优化网络质量回调增加未知状态

在某些场景下,无法判定网络质量回调时,使用未知表示。

问题修复

  1. 修复在可靠消息发送空字符串后,再次发送可靠消息报错的问题
  2. 修复使用外部采集纹理模式出现异常的问题
  3. 修复其他已知问题
2021-03-18 Version:g2b29d9a508

问题修复

  1. 修复已知问题
2021-03-09 Version:g52d36e000f

新增功能

1. 新增编码优化功能

在使用 H.264 编码的屏幕共享场景中,提供编码优化的能力,提升屏幕共享的清晰度,在快速翻动滚动条的时,文字会更加清晰。

新增接口 enableScreenCaptureEncodeOptimization ,设置编码优化开关。

2. 媒体播放器、音效播放器新增设置文件播放次数功能

在使用媒体播放器、音效播放器时,可以给需要播放的资源设置循环播放次数。

新增接口 setLoopCount,进行设置循环次数。

3. 支持首次请求柔性时,配置域名为 HTTPS 的方式

新增 setConfig("transform_http_to_https_on_init=true") ,控制原本代码固定使用 HTTP 的请求是否改为 HTTPS,true 为改为 HTTPS,false 为不改为 HTTPS。

4. 拉流端提供关闭所有音频、视频的功能

当需要一次性关闭所有音频或视频时,可通过该功能实现。

新增接口 activateAllAudioPlayStreamactivateAllVideoPlayStream,设置是否接收音频、视频数据。

5. 新增控制选择摄像头帧率范围的配置

采集帧率在弱光环境下帧率会太低,SDK 优化后会往高帧率选择。新增配置控制摄像头选择帧率范围,可以选择低帧或高帧的效果。

新增 setConfig("camera_low_light_boost=true"),配置高低帧效果,true 为低帧率效果,false 为高帧率效果。

改进优化

  1. 支持 username 为空时登录房间

  2. 优化心跳触发用户列表拉取

  3. 优化流更新触发流列表拉取

  4. 优化心跳控制打散请求

  5. 日志默认打印 SDK 版本信息和日志输出的路径

  6. 支持任何时刻切换视频内外采集

  7. 媒体播放器支持播放 RTMP 协议流媒体

  8. 纯音频场景下,优化本地录制功能,在放弃麦克风使用时新增回调

  9. 停止推拉流后,支持 channel 中音量大小重置

  10. 新增适配 Android R

  11. 优化 DNS 解析逻辑

问题修复

  1. 修复打印 appID 溢出的问题

  2. 修复时间回退可能导致 SDK 认为心跳超时的异常问题

  3. 修复销毁 QUIC 连接时无响应的问题

  4. 修复 OpenH264 编码在 swf 无法正常播放问题

  5. 修复媒体播放器播放有跳帧的问题

  6. 修复播放器中途修改回调格式的问题

  7. 修复本地录制偶现失败的问题

  8. 修复 Log 可能无效的问题

  9. 修复多个媒体播放器同时播放卡住的问题

  10. 修复媒体播放器特定情况下播放失败的问题

  11. 修复高频调用 JNI 反射的崩溃问题

  12. 修复 RunSyncEx 修改栈变量导致的栈破坏的崩溃问题

  13. 修复 SurfaceTexture 在 detach 后回调访问空指针的崩溃问题

  14. 修复混响破音的问题

  15. 修复拉流画面有条纹并且画面最底部有绿边的问题

2021-02-04 Version:g1f9d0b0526

问题修复

1. 修复已知问题

2021-01-27 Version:g07c70342f1

新增功能

1. 新增棱镜相关质量上报

新增棱镜相关质量上报,方便开发者及时发现问题、定位问题、解决问题,更好、更全面地提升用户体验。

问题修复

1. 修复使用高级自定义混响功能出现崩溃的问题

2. 修复在推流端使用外部采集特定纹理(GL_TEXTURE_2D 类型)且硬编码模式下,拉流端可能出现黑屏、闪屏异常的问题

2021-01-15 Version:g69f049a347

问题修复

1. 修复已知问题

2021-01-12 Version:g48fff6736f

新增功能

1. 新增多人语音通话中焦点语音功能

多人语音场景中,本端可设置需要在拉流里音量突出的流 ID。可搭建一个与现实课堂极为接近的教课空间,无论学生齐声朗诵还是课题抢答等,在热烈的课堂氛围中也可保证老师与学生以自然的方式进行互动。

新增接口 setAudioMixMode,设置拉流中突出音量的音频流。

2. 新增多种音效效果

setVoicePreset 接口新增多种预设声音音效:清澈、高亢、嘹亮、饱满、假音、圆润、低沉、浑厚、女活力,增加实时语音趣味性。

setReverbPreset 接口新增多种预设混响音效:嘻哈、飘渺、3D人声、留声机,方便用户烘托氛围。

3. 视频内部采集支持设置旋转角度

推流端启用视频内部采集旋转功能,可设置视频输出的画面方向。在教育场景中,可调整使用高拍仪设备的拍摄角度,提升教师端与学生端画面视角观看一致的体验。

新增接口 setCaptureFrameRotation,设置逆时针旋转 0°(默认值)、90°、180°、270°,支持在推流过程中使用。

4. 拉流质量回调新增音频和视频卡顿统计指标

新增多个拉流质量回调指标:音频和视频卡顿累计次数、音频和视频卡顿累计时长、音频和视频解码累计时长。方便开发者了解拉流端在 RTC 通话场景中音频和视频的质量,通过数据洞悉业务表现。

ZegoPlayStreamQuality 新增 6 个卡顿统计指标枚举值:audioCumulativeBreakCountaudioCumulativeBreakTimeaudioCumulativeDecodeTimevideoCumulativeBreakCountvideoCumulativeBreakTimevideoCumulativeDecodeTime

5. 新增流控触发模式

1v1 场景下新增触发流量控制的功能,设置触发流控的条件后,远端网络拥塞时推流端可限制推流的码率。在 1v1 秀场直播场景中,网络好的主播进行直播时,可保障该主播的观众观看体验。

新增接口 setTrafficControlFocusOn,可设置 ZEGO_TRAFFIC_CONTROL_FOCUS_ON_REMOTE 将远端网络质量作为关注因素,最后通过接口 enableTrafficControl 控制是否因为远端网络状况差而启动流量控制。

6. 新增查询摄像头权限状态的功能

新增查询摄像头权限状态功能,方便开发者实现业务开启前的设备检查,确保视频通信业务顺利开展。

新增接口 getCameraPermissionStatus,检测摄像头权限状态。

7. 新增设置拉流缓存区间值功能

新增设置拉流缓存区间值功能,指定播放缓存自适应调整的区间范围,开发者可根据场景进行设置。

新增接口 setRecvBufferLevelLimit,设置拉流播放缓存自适应调整的区间范围。

改进优化

1. 优化远端用户退出房间后设备状态更新回调结果中流 ID 信息为空的现象,停止拉流后不回调远端设备状态变化事件

2. 优化推拉流质量回调的时间周期设置

3. 优化媒体播放器拖动播放位置后可能出现状态错乱的现象

问题修复

1. 修复在摄像头设备异常的情况下,应用在前台使用时可能出现多次重启摄像头的问题

2. 修复弱网环境下进行直播可能出现花屏的问题

3. 修复在特定场景中用户连接耳机时声音依旧从听筒中发出的问题

4. 修复麦克风设备频繁开关时对麦克风软件静音(EnableMic)造成影响的问题

废弃接口

1. 外部音频采集模块即将废弃 enableExternalAudioDevice 和 setAudioSrcForAuxiliaryPublishChannel 接口,推荐使用 setAudioSource 接口

2. 混流模块即将废弃 mixStream 和 setCallback 接口,推荐使用 mixStreamExsetMixStreamExCallback 接口

2020-12-31 Version:g51885ce1c9

问题修复

1. 修复已知问题

2020-12-22 Version:gf36b794707

问题修复

1. 修复已知的崩溃问题

2020-12-15 Version:gfc9e4cb695

新增功能

1. 新增端到端延迟质量回调功能

推流端启用延迟测量功能,通过拉流端回调监控端到端时延的状态,可用于在音视频通话、直播场景中观测端到端时延,助力服务质量评定。

推流端 enablePeerToPeerLatencyProbe 开启延迟测量功能,拉流端新增设置监听方法 setZegoPeerToPeerLatencyProbeCallback,实现端到端时延测算。

2. 媒体播放器支持播放文件的媒体次要信息回调

播放文件的媒体次要信息,可用于录制文件业务审查。

媒体播放器新增设置播放文件 SEI 信息回调方法 setMediaSideInfoCallback,回调数据信息和播放器序号。

3. 新增音视频通话的房间会话 ID 信息

多个用户在房间内进行音视频通信,每一次音视频通信都会有唯一的 RoomSessionID,标识房间内首个用户发起音视频通信到最后一个用户结束通信的持续通信。可用于通话质量评分、通话问题诊断等场景中。

新增回调接口 onRoomInfoUpdated 可获取当前通信的 RoomSessionID。

4. 外部采集新增设备状态变更事件的同步

在外部采集场景下,可通过 setStatusReason 接口将推流端设备状态同步到拉流端。

改进优化

1. 优化媒体播放器,可支持播放和加载时指定新开始的播放位置

2. 优化日志打印功能,支持明文日志输出到控制台以及写本地日志文件

3. 优化 AGC 模拟增益场景中,退出服务后无法恢复原始声音音量的现象

启用方式为 setConfig("recover_ori_device_volume=true"),默认值为 false。

4. 优化拉流端 Jitter 最大时长

提供 setConfig("play_buffer_max_cache_interval_ms=5000") 控制 Jitter 最大缓存时间上限,默认值为 5 秒。

问题修复

1. 修复拉流端首次拉流时无法接收到对端设备状态更新事件的问题

2. 修复从 CDN 拉流收不到媒体次要信息的问题

3. 修复某些弱网网络下用户登录房间一直失败的问题

4. 修复特定采样率转换失败导致用户声音无法被其他人听到的问题

5. 修复部分机型内存访问异常导致的崩溃问题

6. 修复音效播放器设置指定的播放进度时偶现爆音的问题

7. 修复媒体播放器播放部分视频文件出现的崩溃或者花屏的问题

废弃接口

1. 废弃 ReliableMessage 模块,推荐使用 ZegoRoomExtraInfo 模块

2. 即将废弃 setCamExposurePoint 接口,推荐使用 setCamExposurePointInPreview 接口

2020-11-25 Version:gdb1af73694

问题修复

1. 修复音频采集多路流场景下,主通道以外的音频通道采集失败的问题

2020-11-09 Version:g629accf06e

新增功能

1. 新增音视频帧时间戳差值参数

拉流质量回调中新增字段 avTimestampDiff(int 类型),用于快速诊断拉流过程中音画不同步的现象,开发者可依据此信息实现业务监控和预警。

2. 新增多种音效效果,增加实时语音趣味性

新增 setReverbPreset 预设混响效果接口,预设音乐厅、录音棚、地下室、KTV、流行、摇滚、演唱会等多种混响效果,方便用户烘托气氛。

新增 setAdvancedReverbParam 自定义混响接口,支持实现更专业的调音效果。

setVoicePreset 新增磁性男、清新女 2 种美声变音效果,增添用户的声音魅力。

改进优化

1. 优化房间用户更新回调 onUserUpdate 的逻辑

用户首次登录房间时,可回调房间内全量用户的列表;用户处于房间内时,可接收房间内更新的增量用户列表。

2. 优化 activateAudioPlayStream 和 activateVideoPlayStream 调用时机

activateAudioPlayStream 和 activateVideoPlayStream 接口在拉流前和拉流后设置均能生效。

3. 优化媒体播放器加载资源文件的地址类型

媒体播放器支持加载 host 为 IP 地址的资源文件。

4. 调整本地日志文件大小范围

通过 setLogDirAndSize 接口可设置本地日志文件大小在 1M-100M 之间,文件大小默认值为 5M。

5. 外部采集 texture2D 和 OES 支持角度和旋转矩阵的设置

6. 外部采集支持 OES 格式

7. 媒体播放器新增对 m3u8 格式的支持

问题修复

1. 修复 MediaRecorder 模块在反复快速初始化 SDK 过程中崩溃的问题

2. 修复重复登录同一个房间出现的转推失败,没有触发流创建的问题

3. 修复 APP 被挂起后,SDK 无法监听到网络状态变化,导致没有及时更新网络状态的问题

4. 修复外接 ASMR 设备之后才启动引擎,导致拉流端双声道无效的问题

5. 修复使用 FFmpeg 推流的场景下,客户端拉流端有音频但没有视频画面的问题

6. 修复 uploadlog 接口上报日志出现部分错误信息的问题

2020-10-15 Version:gfa5bc0e5b

新增功能

1. Android SDK 支持操作系统版本调整

新版本 Android SDK 支持的 API 级别要求不低于16,最低支持的操作系统版本从原来的 Android 4.0.3 提升到 Android 4.1。

2. 新增流删除原因

流删除增加类型 ZegoStreamInfo.StreamDeleteReason,说明当前流删除的原因,主要分为主动关闭和被动关闭两种情况,开发者可根据实际业务情况对流删除情况进行处理。

3. 新增变音效果

新增汽车人、AI 机器人、外国人、空灵 4 种变音效果,轻松创建特色音效,使用户的声音更加妙趣横生。在语音场景中,营造好友语音之间的搞怪气氛,增强娱乐性。

新增接口 setVoicePreset,提供 4 种枚举值指定设置。

4. 新增外部采集的码流控制

在外部采集时,新增流控信息的回调,开发者可根据码流的流控信息主动适配网络情况,提高抗弱网能力。

新增流控回调接口 setTrafficControlCallback,该接口仅在外部采集的使用场景下有效。

改进优化

1. 优化 SEI 发送逻辑,在不发送视频数据时,即设置 enableCamera = true && muteVideoPublish = true 的情况下,支持正常发送 SEI

2. 优化在登录房间成功前启动预览导致登录耗时过长的问题

3. 媒体播放器内部启用快速 seek 配置,优化媒体播放器加载 MP3 文件缓慢的现象

4. 升级第三方库,保障 SDK 安全质量水平,FFmpeg 升级到 4.2.2 版本

问题修复

1. 修复 Android 多次反初始化后,SDK 音频加解密功能失效的问题

2. 修复少部分用户出现视频编码码率骤降的问题

2020-09-09 Version:gacb976f32

新增功能

1. 新增外部视频采集支持旋转的功能

在推流端,采集预览支持逆时针旋转,提供 0(默认值),90,180,270角度,可根据实际场景调整移动端的横竖屏旋转效果。在拉流端,渲染时采用顺时针角度旋转。在教育场景中,老师使用录屏作为外部采集源会存在旋转使用的过程,旋转功能可帮助调整视频方向。

新增 setConfig("vcap_external_handle_rotation=false"),默认是true,表示在推流端处理旋转;如果配置false,则会把旋转值传到拉流端。用于调用外部采集接口时,通过 SetRotation() 设置图像旋转角度(CVPixelBuffer 模式)或者 VideoCaptureFormat 中设置图像旋转角度(内存模式)。

2. 新增系统声卡采集频谱的功能

音频频谱功能支持采集麦克风的人声数据和系统声卡的音频数据,并回传给开发者。在直播场景中,主播开系统伴奏放歌,其频谱动画效果可展示给主播自身和观众,增添更多互动玩法和趣味画面。

3. 新增房间附加消息 RoomExtraInfo 模块

房间附加消息 RoomExtraInfo 模块,将替代原有的可靠消息 ReliableMessage 模块。RoomExtraInfo 模块具有更高的稳定性和可靠性,保障机制会保证房间内所有人会收到消息更新。在教育场景中,一堂线上公开课,教师可以更新房间附加消息,通知房间内所有人课程的进行状态,如:开始上课/课间休息/课程结束等,学生在房间内可以稳定及时地收到该消息更新。

注意:两个模块不能同时使用,可靠消息 ReliableMessage 模块计划于12月的迭代版本中废弃。

新增 ZegoRoomExtraInfo 模块。

改进优化

1. 优化 SDK 中部分域名对 DNS 预解析过程

2. 优化多用户同时登录房间可靠消息同步问题

3. 优化在音乐场景下,乐器声和纯音乐的效果,声音更加清晰

问题修复

1. 修复房间和媒体流业务中,推拉流重试时间不准确的问题

2020-08-12 Version:g3575960b7

新增功能

1. 网络探测模块新增下行网络测速功能

用于下行网络测速,可有效帮助用户判断和预测下行网络质量是否良好(目前仅用于预测网络质量),如需要网络测速模块功能,请联系 ZEGO 技术支持处理。

新增 startDownlinkSpeedTeststopDownlinkSpeedTest 等接口。

2. 媒体播放器新增缓存到文件末尾的回调

便于掌握媒体播放器的缓存加载情况。在教育场景中,教学视频缓存到达末尾时可能需要提示用户即将播放下一教学视频/开始下一章节等。

在 event 回调中新增 onReadEoF 回调,当文件缓冲到达文件的末尾时抛出。

3. 新增切换房间功能

该方法可以实现快速切换房间功能,调用后停止上一个房间的推拉流并进入新房间,切换房间成功会收到新房间登录成功的回调。与之前通过调用登出原房间和加入新房间两个接口实现的方法相比,更易用也更高效。

新增 switchRoom 接口,用于从一个房间切换到另一个房间。

4. AudioDeviceMode 下新增 General2 模式

相比 General 模式,该模式下会保持对设备的占用,在切换房间时耗时更短。在狼人杀和剧本杀的场景下,使用该模式可以使用户切换房间后推流/拉流时快速发出声音/听到声音。 具体配置可联系 ZEGO 技术支持咨询。

5. 新增预览首帧回调

新增 onPreviewVideoFirstFrame 回调接口,在启动本地预览(startPreview)时,渲染出第一帧作为回调抛出。便于使用视频外部采集设备时,掌握开启本地预览的情况。

每个开启预览(startPreview)/结束预览(stopPreview)周期内只会抛出一次首帧回调。期间调用设置预览(setPreview)和开关摄像头(enableCam)不会触发此回调。

改进优化

1. 媒体播放器支持同时播放音视频文件的数量从4个提高到10个

优化重构 MediaPlayer 模块,SDK支持最多创建10个媒体播放器实例,同时播放音视频文件。

2. 优化初始化反和初始化的逻辑

原先 enableMicsetFrontCam 等接口在反初始化后再次初始化SDK时,在主副通道的逻辑不一致,偶现状态没有被重置的情况。优化逻辑后,反初始化SDK后再初始化,所有状态会重置。

3. 混流支持单独调整输入流的音量,默认为100

便于在多路混流时,单独调整某条流的声音音量,解决混流后因为音频来源本身的音量大小差距较大而导致混流后的音频音量不均衡的问题。修改范围为0-200

4. 增加60Hz高通滤波器的配置开关选项

默认打开,用于处理低于60Hz的低频杂音,可通过 setConfig("prep_high_pass_filter=false") 配置关闭。

问题修复

1. 修复初始化SDK后推流前调用耳返接口无效的问题

2. 修复多房间初始化SDK后设置userID,导致多房间登录失败的问题

3. 修复使用外部滤镜时,调用时序错误导致滤镜无效的问题

2020-07-10 Version:gbbac93b4e

新增功能

1、新增支持按通道设置推流延迟模式和推流音频声道数

在推两路流的场景下,两路流的音频编码格式可以按场景分别进行设置,比如秀场直播场景中,单向直播(普通延迟模式)切换成连麦PK(低延迟模式)时,可同时推两路流,避免在同一个推流通道中进行模式切换产生的停顿,提升用户体验。

新增SetLatencyModeByChannel:接口,支持按通道设置推流延迟模式。

新增SetAudioChannelCountByChannel: 接口,支持按通道设置推流音频声道数。

2、媒体本地录制新增 AAC 格式

该格式压缩率大,生成的录制文件较小,在线教育场景中,可能需要将音频数据上传至服务器进行分析,而同样的一段音频,编码成 AAC 格式的文件大小比 PCM 格式的文件更小,更易于上传。

ZegoMediaRecordFormat 新增 AAC 格式,用于录制 AAC 格式的纯音频。

改进优化

1、房间消息内容长度限制由 512 字节扩展为 1024 字节,包括房间消息和大房间消息,可用于发送更大长度的信息。

注意:如果此版本之前的 SDK 接收超过 512 字节的消息,会丢弃超过 512 字节的数据

问题修复

1、修复音频设备暂停且在后台的情况下插入耳机,回到前台,恢复音频模块后,声音从扬声器出来的问题

2、修改复音频模块中断、恢复时因时序可能不一致导致音频模块未启动的问题

3、修复使用媒体本地录制过程中偶现的崩溃问题

4、修复使用外部采集的内存模式时修改 rotation,会概率性无效的问题

2020-06-22 Version:g13dcf9bcd

问题修复

1. 修复因设备重构导致音频设备生命周期变短引入的偶现崩溃问题

2020-06-11 Version:g2e9dbf798

新增功能

1、新增拉流画面镜像功能,用户可在拉流后设置镜像,在乐器演奏、书法等需要实际动手,画面需要镜像且推流端为 WebRTC、拉流为原生端内部渲染的场景中可给开发者带来便利

新增enableViewMirror接口,用于设置拉流画面镜像。

2、媒体播放器新增设置缓存相关、设置加载资源超时时间功能,优化播放器体验

(1)新增 setOnlineResourceCachesetBufferThresholdgetOnlineResourceCacheStat 接口,分别用于设置缓存大小、设置缓冲时间、获取缓存状态,在播放在线资源时可提前缓冲部分。

(2)新增 setLoadResourceTimeout 接口,用于设置加载资源超时时间,业务层可感知访问超时,方便通知用户进行下一步操作。

改进优化

1、优化瞬态噪声抑制功能 从算法层面进行优化,提高瞬态噪声抑制效果。

2、重构获取硬件信息模块,优化拉多路流场景下的系统 CPU 性能

问题修复

1、修复媒体录制模块的异步回调崩溃问题

2、修复使用视频外部采集时偶现的崩溃问题

3、修复外部滤镜相关的 bug

4、修复使用外部渲染时偶现的 bug

新增

废弃

当前版本包含了待废弃,已删除的接口,接口详情请查看 废弃接口 2020/06/09 及 2020/09/09 部分内容。

2020-05-12Version:g68b0532ce

新增功能

1. 媒体播放器新增声道选择和变调控制功能

(1)新增setActiveAudioChannel 接口,可以调用接口设置参数进行声道切换,控制只播放左声道的音乐或左、右两个声道的音乐。在KTV 场景下,可以通过切换左右声道来控制只播放伴奏或播放伴奏和原唱。
(2)新增setAudioChannelKeyShift 接口,可以通过接口设置所需的变调效果,实现对音乐升调或降调。满足音乐爱好者的变调演唱需求。

2. 新增 UDP 探测和网络测速功能、网络探测功能

(1)在推流前可进行网络测速和 UDP 连通性测试,可有效帮助用户判断和预测上行网络质量是否良好、UDP 连通性是否正常。
新增 startSpeedTestsetQualityCallbackIntervalstopSpeedTest 等接口,用于网络测速;
新增 startConnectivityTeststopConnectivityTest 接口,用于 UDP 连通性测试。
如需要网络测速和 UDP 连通性测试模块功能,请联系 ZEGO 技术支持处理。

(2)如在推拉流过程中遇到问题,可调用接口进行网络探测,此时将检测所有协议的连通性及 TraceRoute。
新增 startNetworkTracestopNetworkTrace 接口,用于网络探测。

3. 新增智能消噪功能,可消除键盘、敲桌子等瞬态噪音

新增 enableTransientNoiseSuppress 接口,可消除敲键盘、敲桌子等瞬态噪音,帮助用户获得更好的音频体验。

4. 新增 AudioRoute (音频路由)事件变化通知回调

新增 onAudioRouteChange 回调,当有耳机插拔、扬声器和听筒切换等音频路由变化时业务层可感知到,方便通知用户设备相关的变化。

5. 新增网络状态回调

新增 onNetTypeChange 回调,可以根据回调的当前网络状态,提示用户网络状态的变化。

改进优化

1. 外部采集、外部渲染、外部滤镜支持在初始化 SDK 后,推/拉流、预览前设置。

在 SDK 生命周期内可以进行内/外部采集、内/外部渲染、内/外部滤镜的切换,使用上更加灵活。

2. 采集双声道的情况下支持音频3A处理,在 ASMR 等对声音较敏感的场景下给用户带来更好的听觉效果

3. 混流输入流路数限制扩展为16路,即将16路流混成1路流,方便在多路流的场景中使用,比如小班课等

(默认9路,如需要支持更多路数,可联系 ZEGO 技术支持处理)

4. 媒体播放器对于播放带有旋转信息的音视频文件,可自适应旋转为正确方向后进行播放

问题修复

1. 修复采集变声偶现的crash和破音问题

2. 修复硬解VP8的crash

3. 修复监听摄像头变化回调引起的crash

4. 修复外部滤镜偶现的画面撕裂问题

5. 修复部分机型初始化AudioRouteMonitor时崩溃的 bug

6. 修复外部滤镜Hybrid模式无法创建Surface的bug

新增

2020-04-24Version:gb8ff47533

问题修复

修复频繁 initSDK、uninitSDK,使用外部采集会概率失效的 bug

2020-04-09Version:g18e243156

新增功能

1. MediaRecorder 增加质量回调

媒体本地录制代理 IZegoMediaRecordCallback2 新增 onRecordStatusUpdate 回调。
离线录制时可以通过该回调获取分辨率、帧率等质量信息,及时做容错处理。

2. Android 编译支持使用 STL 动态库

支持动态链接 so 库,共享一个 STL 库,减少包大小。

3. 混音支持分别调节推流和本地播放的音量

改进优化

优化 Android 端的录屏功能

采集帧率保持和设置值一致,避免出现画面静止时采集帧率极低,导致拉流没有画面的问题;默认采集分辨率和屏幕分辨率一样,避免采集时出现黑边。

问题修复

1. 修复媒体次要信息在关闭视频采集后不发送的问题

修复调用 enableCamera 设置停止视频采集后,音视频形式传输的媒体次要信息无法发送的问题。

2. 修复域名解析失败时可能导致的 Crash

3. 修复 Android 平台视频外部渲染偶现 Crash

废弃预告

2020-03-09Version:g54f488a0c

新增功能

1. 转推支持 RTMPS 协议

该功能可将直播流转推到 Facebook ,助力客户生态引流。当前仅部署到海外集群。

2. 流媒体数据端到端加解密

通过推拉流之前设置的对称密钥,进一步强化媒体数据的安全性,密钥设置由外部模块完成,比如客户 App。仅支持 Native SDK 推拉流,不支持转发 CDN、WebRTC、混流客户端和录制客户端。

3. 外部采集支持本地预览

客户使用外部采集功能时无需再自行渲染,方便客户使用。当前仅支持基础功能的渲染,像添加镜像等高级功能暂不支持。

  • 新增 setConfig配置项,通过设置 ZegoLiveRoom.setConfig("vcap_external_support_preview=true") 开启此功能。

4. 媒体播放器新增功能

  • 新增 setPlayVolume 接口,设置媒体本地播放音量;
  • 新增 setPublishVolume 接口,设置媒体推流音量;
  • 新增 enableAccurateSeek 接口,是否开启精确 seek 功能,新增 setAccurateSeekTimeout 接口,设置精确Seek位置。
    媒体播放器 Seek 时默认 Seek 到指定位置的上个关键帧,会导致重复播放,该功能支持用户 Seek 到指指定位置播放,避免默认模式的重复播放。需要注意的是,为了避免花屏,该功能会从 Seek 位置的上一个关键帧解码到 Seek 位置,所以会增加一定的耗时。

5. 新增设置摄像头对焦和变焦的功能

电商直播场景中有一些卖翡翠、吊坠之类体积较小的商品,通过对焦和变焦的功能,客户可以清晰地展示商品的细节。

改进优化

1. 优化重复调用推流接口,然后不调用停止,继续推不同的streamid (同一个推流通道)时,房间还会存在上一条流信息的问题。

避免用户监听推流回调时还有不存在的 streamID,进而拉空流的问题。

2. SDK 推拉流质量回调新增当前 App 和系统所使用的 CPU 及内存信息。

完善推拉流回调的内容,客户通过该回调可以获取更多的信息。

问题修复

1. 修复 Android 平台编译时生成的 build_config.properties 文件中 feature 不全的 bug。

2. 修复 loginMulti 与 InintSDK 并行时有几率收不到回调的 bug。

3. 修复 重复调用 InintSDK UniniSDK 导致带多房间版本 SDK 的 crash 问题。

4. 修复 Android 端在反初始化 SDK 之后再次初始化 SDK 时,无法设置 media-recorder 的回调指针的问题。

5. 修复未调用登录接口时,停止辅路视频预览会导致主路预览也被停止的问题。

6. 修复部分 Android 设备上的偶现 crash。

API 整理

g54f488a0c 版本中对 API 进行了如下变动。

新增:

2020-02-09Version:ge443c0e04

新增功能

  1. 新增 setAudioPostpCallbackenableAudioPostp 接口,支持音频后处理功能。
  2. 支持停止预览及停止拉流后清除渲染最后一帧的功能
    通过 setConfig 配置,参数 ZegoConstants.Config.PREVIEW_CLEAR_LAST_FRAME + "=true",ZegoConstants.Config.PLAY_CLEAR_LAST_FRAME + "=true"。
  3. 新增 setNoiseSuppressMode 接口,支持设置降噪等级。
  4. 支持设置推流音频采样率
    通过 setConfig 配置,参数 audio_encoder_samplerate=samplerate,支持的 samplerate 值为 16000/32000/44100/48000。
  5. 音效播放器 ZegoAudioPlayer 新增以下功能
    1)新增 getCurrentDuration 接口,获取音效的当前进度。
    2)新增 getDuration 接口,获取音效的总时长。
    3)新增 seekTo 接口,设置进度。
  6. 支持拉多路流时的权重设置。
    新增 setPlayStreamFocus 接口,在网络环境不佳的情况下,尽量保证关注流的播放质量。
  7. 支持音频自动混流 ZegoAutoMixStream
    开启功能后自动输出为一路包含房间内所有的音频流,不用关心房间内流新增删除时的流操作。
  8. 支持双声道采集
    新增 enableCaptureStereo 用于设置单双声道切换。

改进优化

  1. 推/拉流质量回调添加音频、视频和总字节数的统计信息。
  2. 优化设置相机曝光点的日志打印频率,引擎调整为2s/次,SDK 不打印。
  3. SDK 删除媒体播放器 getDuration , getCurrentDuration 的日志打印。
  4. SDK 删除曝光设置 setCamExposurePoint, setCamFocusPoint 接口的日志打印。
  5. 优化自动曝光。
  6. 未启用内置扬声器时,增加检测是否需要切换为蓝牙设备播放。
  7. 修复解析 http-flv 第一个 Tag 时,放错 jitter 的缓存队列导致的 crash。
  8. 修复使用不同的 streamID 重复调用推流时房间还会存在上一条流信息的 bug。
  9. 修复在反初始化 SDK 之后再次初始化 SDK 时,无法设置 media-recorder 回调的问题。

问题修复

  1. 修复在没有重复发音频格式的情况下导致重推流音频缺少 config 的问题。
  2. 平台修复 Choreographer 的 fd 泄露。
  3. 修复部分机型回前台视频时钟不工作的问题。

API 整理

ge443c0e04 版本中对 API 进行了如下变动。

新增:

改动:

2019-12-09Version:gcbdd122c2

新增功能

  1. 支持 1V1 音视频通话场景的下行流控。
    enableTrafficControl 接口以前只支持推流时的上行流控,12月9号之后的版本将支持客户端推单流拉单流时的下行流控。
  2. 外部视频采集增加设置旋转角度接口。
    外部视频采集 ZegoVideoCaptureDevice.VideoCodecConfig 增加 rotation 参数,以设置旋转角度,通过 mClient.onEncodedFrameCaptured 传递给 ZEGO SDK,拉流时,视频画面是旋转角度的朝向。
  3. activateAudioPlayStream 和 activateVideoPlayStream 接口支持 rtmp 和 http-flv 协议。
    activateAudioPlayStreamactivateVideoPlayStream 以前仅限于从 ZEGO 服务器拉流时可以选择只拉音频/视频流,12月9号之后的版本此功能将适用于从 CDN 拉流。
  4. 音频设备模式添加 communication3 模式,支持下麦后释放麦克风设备。
    setAudioDeviceMode 设置音频模式增加 ZegoConstants.AudioDeviceMode.Communication3 参数,使用此参数可保证不推流的情况 ZEGO SDK 不会占用麦克风设备。

改进优化

  1. 改进平台网络类型判断,只判断网络类型,不依据连接状态。
  2. 修正了一些场景的错误码。

问题修复

  1. 修复硬编配置导致B帧或者初始化失败的 bug。
  2. 修复 AudioPlayer 反初始化时崩溃的问题。
  3. 修复判断流是否存在的逻辑错误问题。
  4. 修复变量重复定义可能导致未知行为的问题。
  5. 修复无法停止播放 wav 文件的问题。
  6. 修复 uninitSDK 可能 crash 的问题。
  7. 修复外部调用推送重复流名,有几率导致发送2次相同流名的流新增问题。
2019-11-09Version:gc3c7f5327

新增功能

  1. 新增音频播放器模块
    为开发者提供全新的音频播放器 ZegoAudioPlayer,专门针对于音频播放需求,单实例创建,特别适用于音效,背景音乐等多个音频文件同时播放的场景。
  2. 媒体播放器模块新增功能
    1)新增 clearView 接口,快速实现播放器的清屏能力。
    2)新增 setBackgroundColor 接口,支持设置播放器的背景颜色,定制化实现色彩缤纷的播放器,适用于少儿在线教育。
    3)新增 setViewMode 接口,设置播放控件的显示模式,支持开发者设置需要的播放器显示模式。
    4)新增 setAudioPlayCallback 回调接口,获取音频数据回调。
  3. 控件背景颜色设置功能
    1)新增设置预览控件背景色的接口 setPreviewViewBackgroundColor,支持开发者设置推流端预览控件的背景颜色。
    2)新增设置播放控件背景色的接口 setViewBackgroundColor,支持开发者设置拉流播放控件的背景颜色。
  4. 断线重连机制增加设置最大重试时间接口,setConfig("room_retry_time=xxx")和setConfig("av_retry_time=xxx"),开发者可以根据场景需要设置最大重试时间。
  5. 新增设置推流通道扩展参数接口 setChannelExtraParam,支持开发者将推流通道设置为 animation
  6. 新增音频推流静音接口 muteAudioPublish 和视频推流静音接口muteVideoPublish,支持设置推出去的视频流或者音频流为静音。

改进优化

  1. 优化了断线重连机制的逻辑,为业务提供更优质的重连服务。
  2. 优化了日志目录,清晰的区分本地缓存目录和日志目录。
  3. 优化 IZegoLivePlayerCallback2.onRemoteMicStatusUpdateIZegoLivePlayerCallback2.onRemoteCameraStatusUpdate 回调,新增 reason 参数。
  4. 优化 ZegoDeviceErrorCode,新增若干个错误码。
  5. 优化 IZegoRoomCallback.onKickout 回调接口,新增了字段 customReason
  6. 优化 Android平台 onAudioRecordCallback 在回调时切换线程。
  7. 优化 setConfig 接口,允许通过 setconfig 接口设置 max_channels

问题修复

  1. 修复快速初始化反初始化导致 SDK 崩溃的问题。
  2. 修复在部分 Android 平台上开启视频外部渲染时崩溃的问题。
  3. 修复连麦加速时没有拉流质量回调问题,限制最大重试时间最大值。
  4. 修复 Android 平台踢人回调问题。
  5. 修改监听耳机插拔的时机。
  6. 修复断网事件监听。
  7. 修复 wifi 切换 4G 网络时,流通知可能异常的问题。

API 整理

gc3c7f5327 版本中对 API 进行了如下变动。

新增:

改动:

2019-09-09Version:g3161cd976

新增功能

  1. 多房间功能

新增 ZegoMultiRoom 功能,支持用户进入多个房间进行拉流,帮助开发者实现更多特殊的互动视频场景,如教育超级小班,多房间监控等需要用户灵活加入多房间的场景。注意:SDK 默认不包含此功能,需要下载包含此功能的 SDK。

改进优化

  1. 日志即将写满回调
    IZegoLogInfoCallback 增加日志即将写满回调 onLogWillOverwrite

  2. 音效均衡器
    ZegoLiveRoom增加音效匀衡器设置接口 setAudioEqualizerGain,提供了频带设置和频带的增益值设置,帮助开发者实现更加优质的音质效果。

  3. 分层编码新增类型
    ZegoConstants.ZegoVideoCodecAvc 枚举新增 VIDEO_CODEC_VP8 类型。

  4. 媒体播放器新增回调数据格式
    新增 IZegoMediaPlayerVideoPlayWithIndexCallback2 视频播放回调,支持给出 YUV(I420,NV12,NV21) 格式视频帧数据。

  5. ZegoCamera新增设置曝光点
    ZegoCamera 新增 setCamExposurePoint 接口设置曝光点。

  6. 为保证 setPolishStep(float step)setPolishFactor(float factor, int channelIndex) API 参数一致性,新增 setPolishStep(float step, int channelIndex)setPolishFactor(float factor)

  7. 断线重连机制优化
    为修复已知的断线重连机制出现的问题,对断线重连机制进行全面的优化。

2019-08-09Version:gc68861be

新增功能

  1. 引擎支持处理 Android 端直播中的打断事件。 直播中 QQ 或者微信视频通话抢占摄像头,在视频通话结束后直播可以自恢复;直播中电话打断直播,在电话结束后可以恢复直播。

问题修复

  1. 对某些特定场景下推流失败的问题进行了优化。

API 整理

gc68861be 版本中对 API 进行了如下变动。

改动:

2019-07-09Version:ge9606fe0

新增功能

  1. 多播放器实例

    ZegoMediaPlayer 模块支持最多四个播放器实例,支持播放音乐文件,提供播放进度的通知等;便于预加载,有效降低切换内容的首帧时间。

改进优化

  1. 新增拉流回调 IZegoLivePlayerCallback2,其中包含以下5个回调:
  1. 推流回调 IZegoLivePublisherCallback 增加了 onCaptureAudioFirstFrame 回调,通知收到采集音频的首帧。

  2. 混流增加转推 CDN 状态的回调接口 IZegoMixStreamRelayCDNCallback

  3. 拉流质量回调 IZegoLivePlayerCallback.onPlayQualityUpdate 中的 ZegoPlayStreamQuality 增加了推流端到拉流端的延迟 peerToPeerDelay 和推流端到拉流端的丢包率 peerToPeerPktLostRate

API 整理

ge9606fe0 版本中对 API 进行了如下变动。

新增:

改动:

2019-06-10Version:g77803827

改进优化

  1. 全面更新 SDK 错误码,新版错误码更加统一和清晰,让开发人员排查问题更加快速便捷。
  2. setConfig 接口增加 play_nodata_abort 配置项,从即构服务器拉流没拉到数据时可以控制是否终止拉流。
  3. startPlayingStream 接口的 ZegoStreamExtraPlayInfo 参数增加字段 shouldSwitchServer,支持在连麦时根据此字段判断是否需要切换到即构服务器,开发者在采用附加信息中的拉流 URL 进行拉流的情况下,无需在处理连麦时先停止从 CDN 拉流,再重新从即构服务器拉流。
  4. 混流配置 ZegoMixStreamConfig 增加自定义字段 advancedConfig,支持在混流时传递定制化的混流配置信息到后台,比如指定的视频编码格式、SEI 发送方式。
  5. 新增 addPublishTargetdeletePublishTarget 接口,支持修改已设置的转推地址列表,可以动态增加或删除转推地址。

问题修复

  1. 修复从 RTC 拉流没拉到数据时会结束拉流的问题。
  2. 修复房间服务器重启导致的断线重连问题。

API 整理

g77803827 版本中对 API 进行了如下变动。

新增:

改动:

2019-05-09Version:gc410cfbe

新增功能

  1. 音频频域功率谱
    新增音频频域功率谱功能,频域功率谱展示了音频信号在各个频点上的能量,能根据其值绘制出音频的波形图,比音量的展示效果更优,更适用于主播电台,KTV合唱,语聊点播等场景。相关接口请查看 API 整理->新增接口

改进优化

  1. 修改 setMediaSideFlags 接口,媒体次要信息支持 SEI 方式发送。
  2. startPublishing 接口的流附加信息参数长度从 512 bytes 扩充到 1024 bytes,支持更多数据的发送。

问题修复

  1. 修复网络断网并正常恢复后房间重连的问题。
  2. 修复房间心跳超时没有回调 onDisconnect 的问题。
  3. 修复房间登录后没有收到登录回调时就立即登出房间造成房间状态错误的问题。

API 整理

gc410cfbe 版本中对 API 进行了如下变动。

新增:

改动:

2019-04-09Version:gf6f00774

新增功能

  1. 音频节约传输开关
    新增 enableVAD 接口用做语音活动检测的开关,在有音频的条件下检测到语音时才发送语音包,有效减少流量消耗,降低成本。

  2. 多播放器实例
    MediaPlayer 模块支持最多三个播放器实例,支持播放音乐文件等;便于预加载,有效降低切换内容的首帧时间。

  3. 登录房间加速
    登录房间新增由后台配置的加速模式,能够缩短登录房间的时间。

  4. 多种回声消除模式
    新增 setAECMode 接口支持设置舒适,适度和激进三种回声消除模式。

改进优化

  1. 新增音频设备模式 Communication2 模式,在开启系统回声消除时会始终占用麦克风设备。
  2. 新增 setMinVideoBitrateForTrafficControl 接口,在使用流量控制时能设置视频码率的最小值,当发送的码率小于这个值时将进行等待,而不是在视频不流畅的情况下继续直播。
  3. 增加 setReverbParam 接口,支持更多的音频混响参数设置,混响阻尼和余响。
  4. 新增 onCaptureVideoFirstFrame 回调,当采集到视频的首帧时收到该回调。
  5. 优化了弱网条件下的音视频传输质量。
  6. 增加 onAVEngineStart 回调,更新 onAVEngineStop 回调的时机,提供设备占用情况的信息通知,获取 SDK 何时在占用音视频设备。
  7. 修改 enableLoopback 采集监听的有效调用时机,在耳机插入时采集监听才生效,即讲话能听到自己的声音。
  8. 外部渲染回调 queueInputBuffer 增加 streamID 参数,当使用外部渲染推流数据时,能够支持同时推两路流。
  9. 混流配置ZegoMixStreamConfig新增选项 ,支持单流直接推流到CDN,或者混流成单流推流到CDN。
  10. 修改 enableTrafficControl 接口,流量控制属性参数新增音频流量控制选项。
  11. onPublishQualityUpdate 推流质量更新回调,增加了 ZegoPublishStreamQuality 类型参数,可获取更多推流质量信息,具体请点击接口查看。
  12. onPlayQualityUpdate 拉流质量更新回调,增加了 ZegoPlayStreamQuality 类型参数,可获取更多拉流质量信息,具体请点击接口查看。

问题修复

  1. 修复未登录房间或者登录房间未完成时调用 endJoinLive 等房间信令时崩溃的问题。
  2. 修复 iOS 版的媒体播放器无法回调 onPlayError 的问题。
  3. 修复 Android 版外部渲染接口连续两次调用 enableExternalRender 会导致回调被清空的问题。
  4. 修复 Android 版混音接口连续两次调用 enableAux 会导致混音音频数据输入回调被清空的问题。

API 整理

gf6f00774 版本中对 API 进行了如下变动。

新增:

改动:

2019-01-04Version:gcb20f711

新增功能

  1. 新增变声功能;
  2. 新增转推CDN状态回调接口;
  3. 新增 MediaPlayer 模块重复播放接口;
  4. 新增 MediaPlayer 模块截图接口;

问题修复

  1. 修复 Android 回到前台音频输出错误的问题;
  2. 修复若干BUG,提升稳定性。
2018-11-06Version:gb5998cbf

问题修复

  1. 修复若干BUG。
2018-10-30Version:g3021b99d

新增功能

  1. 支持第三方授权。
  2. 媒体播放器支持播放网络资源,支持同时播放视频并回调视频帧数据,支持选择播放的音轨。
  3. 混流支持多路输出、水印功能、输出编码码率控制模式。
  4. 新增启用预览和推流镜像接口。
  5. 本地录制支持 MP4 格式。

改进优化

  1. 优化网络连接模式,增加弱网环境下的推流能力。
  2. 优化分层编码接口。

问题修复

  1. 修复若干BUG,增强系统稳定性。
2018-07-13Version:gace83bc5

新增功能

  1. 外部渲染支持回调未解码 264 视频数据给用户
  2. 硬编硬解支持 kirin960
  3. 混流中支持下发各路流的音量信息
  4. 抖动缓冲优化,减少网络好转时延迟降低的时间
  5. 新增音、视频本地录制接口

问题修复

  1. 修复“MediaPlayer渲染时,解码画面宽、高和渲染宽、高不一致导致的重影问题”
  2. 外部采集、外部滤镜 jni 回调时检测到异常直接抛出 java 异常,避免用户无法查看自己 crash 的堆栈信息
2018-05-28Version:g7ea5ae9

新增功能

  1. 新增“audio-aux 模块,支持 onAuxCallback 中发送媒体次要信息”
  2. 新增“sound-level 模块,支持回调出房间内谁在说话”
  3. 新增“分层编码功能”
  4. 新增“视频外部渲染模块,支持回调未解码的264视频数据”
  5. setConfig 支持“开启/关闭 硬件加速白名单“
  6. 新增“setLoopbackVolume 接口”
  7. 新增”音频加密、解密接口“

问题修复

  1. 修复”sound-level 模块调用 stop 方法时发生 crash“
  2. 修复“外部滤镜创建失败后访问空指针的 crash“
  3. 修复“渲染 I422 的 crash”
2018-04-24Version:g76eafb9

新增功能

  1. 新增“音频外部采集、渲染接口”

问题修复

  1. 修复“x86 架构下,在 Android 23(含) 以上的系统中,text relocation 检测失败”
  2. 修复“开始拉流后,使用相同的 StreamID 重复拉流,SDK 内部会重新拉流的 Bug”,修改后的逻辑为“保持之前的拉流状态”

改进优化

  1. 开始一次推流后,如果没有向业务层通知过“推流成功“,则不会向业务层回调“推流重试事件”
  2. 开始一次拉流后,如果没有向业务层通知过“拉流成功”,则不会向业务层回调“拉流重试事件”
本篇目录