低延迟直播
  • 平台类型
  • 框架 / 引擎
  • iOS
  • Android
  • macOS
  • Windows
  • Linux
  • Web
  • 小程序
标准
Express-Video SDK
本地下载
说明
包含白板功能
Express-Video SDK
本地下载
说明
2021.04.29 Version: 2.7.0

新增功能

1. 增加试验性 API 功能

ZEGO 通过此 API 提供 RTC 业务中的部分技术预览或特别定制功能,需要获取该功能的使用方法或其详情可咨询 ZEGO 技术支持。

相关 API 请参考 callExperimentalAPI

问题修复

1. 修复了某些机型下 load so 失败的问题

2021.04.15 Version: 2.6.0

新增功能

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

在混流时,开发者通过设定拉流端需要突出的目标流,实现在多人同时说话的嘈杂环境下,突出特定用户的语音。例如在会议场景下,可以保障重点人物发言的声音。在调用 [startMixerTask] 接口开启混流时,首先将传入的 [ZegoMixerAudioConfig] 混流音频配置参数中的 "mixMode" 设置为 "focused",同时在需要突出发言的流中,配置 [ZegoMixerInput] 的 "isAudioFocus" 为 "true",即可指定该流为焦点语音流。

相关 API 请参考 startMixerTask

问题修复

1. 修复已知的问题

2021.04.01 Version: 2.5.0

新增功能

1. 媒体播放器支持设置网络资源最大的缓存配置并获取实时网络资源缓存情况

开发者可根据实际需要在加载资源前,通过 [setNetWorkResourceMaxCache] 接口设置媒体播放器网络资源的最大缓存时长和最大缓存数据大小(两者不能同时为 0),可通过 [getNetWorkResourceCache] 接口获取当前网络资源缓存队列中缓存数据可播放的时长和大小。

相关 API 请参考 ZegoMediaPlayer > setNetWorkResourceMaxCache, ZegoMediaPlayer > getNetWorkResourceCache

2. 支持设置媒体播放器重新恢复播放需要达到的缓存阈值

当网络状态较差且媒体播放器将缓存的网络资源都播放完时,就会停止播放。只有当缓存的网络资源大于 SDK 设置的阈值时(默认值为 5000 ms,有效值为大于等于 1000 ms),媒体播放器才会在原来暂停的位置自动恢复播放。

相关 API 请参考 ZegoMediaPlayer > setNetWorkBufferThreshold

2021.03.18 Version: 2.4.0

新增功能

1. 媒体播放器新增截图功能

对媒体播放器当前播放的画面进行截图。

相关 API 请参考 ZegoMediaPlayer > takeSnapshot

2. 支持设置和获取音频质量配置

可根据需要设置和获取音频编码类型、码率,音频声道的组合值。

相关 API 请参考 setAudioConfig, getAudioConfig

3. 支持设置触发流量控制的关注因素

当通过 [enableTrafficControl] 接口开启了指定推流通道的流量控制后,可通过 [setTrafficControlFocusOn] 接口控制是否因为远端网络状况差而启动流量控制。

相关 API 请参考 setTrafficControlFocusOn

4. 新增本地预览首帧渲染回调

第一帧视频数据被渲染完之后会收到此回调。

相关 API 请参考 onPublisherRenderVideoFirstFrame

5. 媒体播放器新增精确 seek 功能

相关 API 请参考 ZegoMediaPlayer > enableAccurateSeek

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

当拉流时需要一次性关闭所有远端用户的音频或视频流时,可通过该功能实现。

相关 API 请参考 muteAllPlayStreamAudio, muteAllPlayStreamVideo

改进优化

1. 优化了因房间登录失败时,推拉流状态回调的错误码描述

问题修复

1. 修复了登录房间失败时,有概率出现内部线程卡住的问题

2021.03.05 Version: 2.3.1

问题修复

1. 修复已知的问题

2021.03.04 Version: 2.3.0

新增功能

1. 新增 [setLogConfig] 接口,用于设置日志属性

当开发者需要自定义日志文件大小和路径时,可调用 [setLogConfig] 接口来完成配置,且必须在调用 [createEngine] 之前设置才能生效。若在 [createEngine] 之后设置,则在 [destroyEngine] 后的下一次 [createEngine] 时生效。一旦调用了 [setLogConfig] 接口,在 [destroyEngine] 之前,即 engine 的整个生命周期里,旧的通过 [setEngineConfig] 设置日志大小和路径的方式将无效。建议一旦使用该接口,就始终只通过其完成设置日志路径和大小的需求。

相关 API 请参考 setLogConfig

2. 新增 [setApiCalledCallback] 接口,用于设置调用方法执行结果的回调

设置 [setApiCalledCallback] 后,可以通过 [onApiCalledResult] 回调获取到 ZEGO SDK 方法执行结果的详细信息。

相关 API 请参考 setApiCalledCallback

3. 新增 [setPlayStreamVideoType] 接口,用于设置播放视频流类型

当推流方通过 [setVideoConfig] 设置了 “codecID” 为 “SVC” 时(在拉流前后均可设置),拉流方可以动态设置选用不同的流类型(小分辨率为标准图层的二分之一)。 在网络较弱或者渲染的 UI 窗体较小的情况下,可以选择使用拉取小分辨率的视频来达到节省带宽的目的。

相关 API 请参考 setPlayStreamVideoType

4. 新增 [setAudioRouteToSpeaker] 接口,用于设置音频路由到扬声器

通过 [setAudioRouteToSpeaker] 可以设置音频路由到扬声器,当选择不使用内置扬声器播放声音时,即设为 “false” 时,SDK 会根据系统调度选择当前优先级最高的音频输出设备播放声音。

相关 API 请参考 setAudioRouteToSpeaker

5. 新增 [setAllPlayStreamVolume] 接口,用于设置所有拉流声音大小

本端用户可控制所有音频流的播放音量。

相关 API 请参考 setAllPlayStreamVolume

6. 新增 [startNetworkProbe] 接口,用于开始网络探测。新增 [stopNetworkProbe] 接口,用于结束网络探测

在推拉流之前通过网络探测定位一些可能存在的网络问题。

相关 API 请参考 startNetworkProbe, stopNetworkProbe

改进优化

1. 增加明文日志打印,方便开发者自行排查接口调用异常问题

2. 废弃 “ZegoEngineConfig” 类的 “logConfig” 属性,增加 [setLogConfig] 接口用于实现原来的功能

相关 API 请参考 setLogConfig

3. 废弃 [setDebugVerbose] 接口,请使用 [setEngineConfig] 函数设置高级属性 "advancedConfig" 来实现原来的功能

通过设置 "advancedConfig" 的 "key" 为 "language","value" 为 "chinese" 或者 "english" 来切换中英文。通过设置 “key” 为 “set_verbose”,“value” 为 “true” 或 “false” 来开关控制台打印功能。

相关 API 请参考 setEngineConfig

4. 废弃 [setBuiltInSpeakerOn] 接口,请使用 [setAudioRouteToSpeaker] 来实现原来的功能

相关 API 请参考 setAudioRouteToSpeaker

问题修复

1. 修复了 audio device mode 切换异常的问题

2021.02.04 Version: 2.2.1

问题修复

1. 修复了可能无法删除推流水印的问题

相关 API 请参考 setPublishWaterma

2. 修复了在极端情况下发送自定义视频采集数据时,可能导致崩溃的问题

3. 修复了音频自定义采集向 SDK 塞数据时开发者音频通道不合理传参导致的崩溃问题

相关 API 请参考 sendCustomAudioCaptureAACData, sendCustomAudioCapturePCMData

4. 修复了抛解码的码流时在某些设备可能会出现渲染画面任意旋转的问题

相关 API 请参考 onRemoteVideoFrameEncodedData

2021.01.28 Version: 2.2.0

新增功能

1. 新增自定义视频前处理功能

当开发者需要对采集视频进行前处理,如使用第三方美颜 SDK 时,则可以使用自定义视频前处理功能,很方便地对接视频前处理操作。相比于自定义视频采集功能,此功能无需开发者管理设备输入源,仅需对 SDK 抛出来的原始数据进行操作,然后发回 SDK 侧即可。

相关 API 请参考 enableCustomVideoProcessing

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

多个用户在房间内进行音视频通信,每一次音视频通信都会有唯一的 RoomSessionID (当用户收到 [onRoomStateUpdate] 回调时,可通过回调中的 [extendedData] 参数获取 RoomSessionID),标识房间内首个用户发起音视频通信到最后一个用户结束通信的持续通信。可用于通话质量评分、通话问题诊断等场景中。

相关 API 请参考 onRoomStateUpdate

3. 媒体播放器新增 SEI 回调

使用媒体播放器播放媒体文件,当媒体播放器解析到媒体文件中含有 SEI 时,将触发 [onMediaPlayerRecvSEI] 回调。

相关 API 请参考 ZegoMediaPlayer > onMediaPlayerRecvSEI

4. 发起混流任务时支持设定高级配置

“[ZegoMixerTask] 中添加 [advancedConfig] 以支持混流高级配置。如需使用,请联系 ZEGO 技术支持。”

相关 API 请参考 startMixerTask

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

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

改进优化

1. 当登录房间、推流、拉流出现未知错误码 100XX99 时,[extendedData] 字段会抛出原始服务器码,便于开发者反馈详细问题

2021.01.21 Version: 2.1.1

问题修复

1. 修复音效播放器加载音效资源,回调加载时机可能不准的问题

2. 修复高频反复调用 [startPlayingStream], [stopPlayingStream] 时可能出现的崩溃问题

2021.01.14 Version: 2.1.0

新增功能

1. 新增支持交付 XCFramework 产物,适配 Xcode 12.3

请从开发者中心 下载 SDK 包 选择下载 XCFramework。

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

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

相关 API 请参考 setPlayStreamBufferIntervalRange

问题修复

1. 修复已知问题

2021.01.07 Version: 2.0.1

问题修复

1. 修复已知问题

2020.12.31 Version: 2.0.0

新增功能

1. 新增低延迟直播功能

低延迟直播专注于提供稳定可靠的直播服务,相比于标准视频直播产品,音画延迟更低,同步性更强,弱网抗性更好,能为用户带来毫秒级的直播体验。通常用于教育大班课、秀场直播、电商直播、一起看、在线拍卖等场景。详情请参考:低延迟直播

相关 API 请参考 startPlayingStream

2. 新增对 H.265 (HEVC) 编码的支持

新增对 H.265 编码的支持,在同等分辨率、帧率的情况下可以降低码率。

相关 API 请参考 setVideoConfig

问题修复

1. 修复了媒体播放器 [seekTo] 回调触发时,内部对象已被重置引发的崩溃问题。

废弃删除

1. 删除 [ZegoEngineConfig] 中的 [customVideoCaptureMainConfig] 和 [customVideoCaptureAuxConfig],请使用 [ZegoExpressEngine] 的 [enableCustomVideoCapture] 接口代替

旧接口跟随了 [setEngineConfig] 接口的生命周期,不够灵活。在允许了引擎启动前设置 [自定义视频采集] 之后,Express SDK 新增了独立的 [enableCustomVideoCapture] 接口用于设置自定义视频采集,详情请参考 接口变更说明

相关 API 请参考 enableCustomVideoCapture

2. 删除 [ZegoEngineConfig] 中的 [customVideoRenderConfig],请使用 [ZegoExpressEngine] 的 [enableCustomVideoRender] 接口代替

旧接口跟随了 [setEngineConfig] 接口的生命周期,不够灵活。在允许了引擎启动前设置 [自定义视频渲染] 之后,Express SDK 新增了独立的 [enableCustomVideoRender] 接口用于设置自定义视频渲染,详情请参考 接口变更说明

相关 API 请参考 enableCustomVideoRender

3. 删除 [destroyEngine()] 接口,请使用 [destroyEngine(callback)] 代替

新增了一个带 [callback] 参数的销毁引擎接口,若开发者有切换多个音视频 SDK 的需求,则可以通过收到回调时认为 ZEGO SDK 对设备硬件资源的占用已释放完成。若无监听必要,对 [callback] 参数传 null 即可,详情请参考 接口变更说明

相关 API 请参考 destroyEngine

4. 删除 [onRemoteAudioData] 回调,请使用 [onPlaybackAudioData] 代替

旧回调命名与实际功能不符,因此删除改名,详情请参考 接口变更说明

相关 API 请参考 onPlaybackAudioData

5. 删除 [muteAudioOutput] 接口,请使用 [muteSpeaker] 代替

旧接口命名风格和语义不清晰,[muteSpeaker] 使用 Speaker 的定义与 Microphone 对应,详情请参考 接口变更说明

相关 API 请参考 muteSpeaker

6. 删除 [ZegoMediaPlayer] 类中的 [createMediaPlayer] 接口,请使用 [ZegoExpressEngine] 类中的 [createMediaPlayer] 代替

媒体播放器的生命周期跟随引擎,故变更为 ZegoExpressEngine 类的同名实例方法,详情请参考 接口变更说明

相关 API 请参考 createMediaPlayer

7. 删除 [ZegoMediaPlayer] 中的 [volume] 和 [getVolume],请使用 [setPublishVolume]、[getPublishVolume]、[setPlayVolume]、[getPlayVolume] 代替

引擎提供了分别获取播放器推流音量和本地播放音量的功能,故废弃原来的统一获取接口,详情请参考 接口变更说明

相关 API 请参考 ZegoMediaPlayer > setPublishVolume, ZegoMediaPlayer > getPublishVolume, ZegoMediaPlayer > setPlayVolume, ZegoMediaPlayer > getPlayVolume