互动视频
  • 平台类型
  • 框架 / 引擎
  • iOS
  • Android
  • macOS
  • Windows
  • Linux
  • Web
  • 小程序
基础版
LiveRoom SDK
本地下载
基础版+媒体播放器
LiveRoom SDK
本地下载

发布历史

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. 媒体播放器新增对 m3u8 格式的支持

问题修复

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

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

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

4. 修复多次切换前后台,导致在前台的时候系统中摄像头回调事件被打断的问题

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

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

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

2020-10-15 Version:gfa5bc0e5b

新增功能

1. 新增流删除原因

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

2. 新增变音效果

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

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

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

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

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

改进优化

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

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

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

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

问题修复

1. 修复 iOS 渲染初始化时概率出现的崩溃问题

2. 修复 iOS 端拉流时视频画面出现短时间的黑色背景问题

3. 修复 iOS 端媒体播放器指针释放异常的问题

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

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. 修复 iOS 音频外部采集时可能出现的未正常工作状态

2. 修复 iOS 中音频硬件资源使用异常的问题

3. 修复 iOS 缩放的使用场景下,设备 CPU 占用高的问题

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

2020-08-12 Version:g3575960b7

新增功能

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

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

新增 startDownlinkSpeedTeststopDownlinkSpeedTest 等接口,用于拉流前进行下行网络测速。

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

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

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

3. 新增切换房间功能

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

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

4. AudioDeviceMode 下新增 General2模式

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

5. 新增预览首帧回调

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

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

改进优化

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

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

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

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

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

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

4. 优化了使用AirPlay投屏的体验

通过配置 SetConfig("air_play_route_to_speaker") ,可在使用AirPlay投屏时,使得声音依旧从手机扬声器播放,解决投屏场景下声音回采的问题。

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

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

问题修复

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

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

3. 修复推流的画面卡住时,拉流端切换横竖屏后画面会被拉伸的问题

2020-07-10 Version:gbbac93b4e

新增功能

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

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

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

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

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

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

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

改进优化

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

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

问题修复

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

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

2020-06-22 Version:g13dcf9bcd

问题修复

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

2020-06-11 Version:g2e9dbf798

新增功能

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

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

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

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

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

3、新增设置对焦模式和曝光模式的功能,与之前版本相比,新增类似系统相机的自动对焦、自动曝光等模式的功能,供开发者选择使用

新增 setCamFocusMode:channelIndex:setCamExposureMode:channelIndex: 接口,分别用于设置对焦模式和曝光模式。

改进优化

1、优化瞬态噪声抑制功能

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

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

问题修复

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

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

新增

废弃

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

2020-5-14Version:ge049c35d5

问题修复

1. 修复系统版本为 10.15 的 Macbook Pro(15-inch)上,插入 USB 和摄像头无法识别的 bug。

2020-05-12Version:g68b0532ce

新增功能

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

(1)新增 setActiveAudioChannel:(ZegoMediaPlayerAudioChannel)channel 接口,可以调用接口设置参数进行声道切换,控制只播放左声道的音乐或左、右两个声道的音乐。在KTV 场景下,可以通过切换左右声道来控制只播放伴奏或播放伴奏和原唱。

(2)新增setAudioChannel:keyShift: 接口,可以通过接口设置所需的变调效果,实现对音乐升调或降调。满足音乐爱好者的变调演唱需求。

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

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

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

3. macOS 新增枚举摄像头采集支持的分辨率功能

新增 getVideoDevCapabilityList:(NSString *)deviceId 接口,可以通过调用接口获取到摄像头所支持采集的分辨率,进而设置正确的分辨率。

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

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

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

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

6. iOS新增网络状态回调

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

改进优化

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

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

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

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

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

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

问题修复

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

2. iOS修复脸部弱光环境会引起采集帧率降低的问题

2. iOS修复外部渲染引起的crash

3. macOS修复 osx 10.11 无法打开摄像头的bug

新增

废弃预告

2020-04-24Version:gb8ff47533

问题修复

1. 修复 iOS/Mac 平台下频繁 initSDK、uninitSDK,使用外部采集会概率失效的 bug

2. 修复在弱光环境下,采集帧率会降低的 bug

2020-04-09Version:g18e243156

新增功能

1. macOS 外部滤镜支持 I420/NV12 格式

外部滤镜视频缓冲区类型 ZegoVideoBufferType 中新增 I420 格式 ZegoVideoBufferTypeAsyncI420PixelBuffer、NV12 格式 ZegoVideoBufferTypeAsyncNV12PixelBuffer 枚举项。

2. iOS/macOS 外部渲染支持透传 CVPixelBuffer 类型

用于优化 iOS 低端机型在高分辨率下的硬解性能。
外部渲染功能类 ZegoExternalVideoRender 中添加设置用于接收 CVPixelBuffer 类型数据的外部渲染协议 ZegoVideoRenderCVPixelBufferDelegate 及对应代理设置接口 -setZegoVideoRenderCVPixelBufferDelegate:

3. MediaRecorder 增加质量回调

媒体本地录制代理 ZegoMediaRecordDelegate 新增 -onRecordStatusUpdateFromChannel:storagePath:duration:fileSize:quality: 回调。
离线录制时可以通过该回调获取分辨率、帧率等质量信息,及时做容错处理。

4. iOS 新增设置曝光补偿功能

采集设备类 ZegoCamera 新增 +setCamExposureCompensation:channelIndex: 接口,用于设置曝光补偿度。
曝光补偿参数可以调节采集画面的亮度,结合对焦功能可实现类似系统相机在对焦时进行曝光补偿度调整的功能。

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

改进优化

优化 iOS 音频模块的中断处理逻辑。

问题修复

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

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

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

废弃预告

2020-03-09Version:g54f488a0c

新增功能

1. 转推支持 RTMPS 协议

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

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

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

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

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

  • 新增 setConfig 配置项,通过设置 setConfig:vcap_external_support_preview=true 开启此功能。

4. 媒体播放器音量新增功能

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

5. iOS ReplayKit 增加接口 handleVideoInputSampleBuffer:timeStamp:,支持由外部传入sample buffer的时间戳

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

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

7. 外部滤镜新增 CMSampleBufferRef 类型数据的支持

2020年3月9号之前,ZEGO SDK外部滤镜返回的数据类型是 CVpixelBufferRef。而 CVpixelBufferRef 是 CMSampleBufferRef 的一部分,客户可根据 CMSampleBufferRef 类型中的 exif 信息,去实现更多的功能,比如 exif 里的亮度信息去实现用户环境的亮度监测。

改进优化

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

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

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

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

3. iOS 的外部采集渲染模块新增 ZegoAPIAudioFrame 类的获取数据和属性接口。

优化音频渲染的用法,客户更方便使用该功能。

问题修复

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

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

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

API 整理

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

新增:

2020-02-09Version:ge443c0e04

新增功能

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

改进优化

  1. 推/拉流质量回调添加音频、视频和总字节数的统计信息。
  2. 优化设置相机曝光点的日志打印频率,引擎调整为2s/次,SDK 不打印。
  3. SDK 删除媒体播放器 getDuration , getCurrentDuration 的日志打印。
  4. SDK 删除曝光设置 setCamExposurePoint:channelIndex: 的日志打印。
  5. 优化自动曝光。

问题修复

  1. 修复在没有重复发音频格式的情况下导致重推流音频缺少 config 的问题。
  2. 修复 App 状态为 UIApplicationStateInactive 时,强行渲染导致的 crash。
  3. 修复某些蓝牙耳机无法工作的问题。
  4. 修复解析 http-flv 第一个 Tag 时,放错 jitter 的缓存队列导致的 crash。
  5. 修复使用不同的 streamID 重复调用推流时房间还会存在上一条流信息的 bug。

API 整理

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

新增:

改动:

2019-12-09Version:gcbdd122c2

新增功能

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

改进优化

  1. 优化摄像头曝光逻辑,支持使用当前曝光值或者自动调节曝光。
  2. 修正了一些场景的错误码。

问题修复

  1. 修复媒体播放器打开硬解不出帧的 bug。
  2. 修复 AudioPlayer 反初始化时崩溃的问题。
  3. 修复 kickOut 接口兼容性问题。
  4. 修复判断流是否存在的逻辑错误问题。
  5. 修复变量重复定义可能导致未知行为的问题。
  6. 修复无法停止播放 wav 文件的问题。
  7. 修复 uninitSDK 可能 crash 的问题。
  8. 修复外部调用推送重复流名,有几率导致发送2次相同流名的流新增问题。
2019-11-09Version:gc3c7f5327

新增功能

1.新增音频播放器模块
为开发者提供全新的音频播放器 ZegoAudioPlayer,专门针对于音频播放需求,单实例创建,特别适用于音效,背景音乐等多个音频文件同时播放的场景。

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

改进优化

  1. 优化了断线重连机制的逻辑,为业务提供更优质的重连服务。
  2. 优化了日志目录,清晰的区分本地缓存目录和日志目录。
  3. 优化 - onRemoteMicStatusUpdate:ofStream:reason:- onRemoteCameraStatusUpdate:ofStream:reason: 回调,新增 reason 参数。
  4. 优化 ZegoDeviceErrorCode,新增若干个错误码。
  5. 优化 - onKickOut:roomID:customReason: 回调接口,新增了字段 customReason
  6. 优化 + setConfig: 接口,允许通过 setconfig 接口设置 max_channels

问题修复

  1. 修复快速初始化反初始化导致 SDK 崩溃的问题。
  2. 修复连麦加速时没有拉流质量回调问题,限制最大重试时间最大值。
  3. 修改监听耳机插拔的时机。
  4. 修复断网事件监听。
  5. 修复 wifi 切换 4G 网络时,流通知可能异常的问题。

API 整理

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

新增:

改动:

2019-09-09Version:g3161cd976

新增功能

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

改进优化

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

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

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

4.媒体播放器新增设置硬件解码
ZegoMediaPlayer 增加设置硬件编码 requireHWDecoder 接口。

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

6.外部滤镜增加 NV12 类型

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

2019-08-09Version:gc68861be

问题修复

  1. 对某些特定场景下推流失败的问题进行了优化。
2019-07-09Version:ge9606fe0

新增功能

  1. 多播放器实例

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

改进优化

  1. 拉流代理 ZegoLivePlayerDelegate 中增加了5个回调:
  • onRenderRemoteVideoFirstFrame: 在拉流成功后,通知所拉视频流的首帧视频已完成渲染,方便了解视频流首帧的渲染情况和渲染的时长。
  • onRemoteCameraStatusUpdate:ofStream: 通知所拉流即推流端的摄像头开/关状态,适用于了解远端是否主动开关摄像头,能够区分远端无视频画面是关闭了摄像头导致还是网络异常等情况导致。
  • onRemoteMicStatusUpdate:ofStream: 通知所拉流即推流端的麦克风开/关状态,适用于了解远端是否主动开关麦克风,能够区分远端无音频声音是关闭了麦克风导致还是网络异常等情况导致。
  • onRecvRemoteAudioFirstFrame: 通知接收到所拉流的首帧音频,方便获取获取首帧音频的时长,了解音频流首次打开的延迟情况。
  • onRecvRemoteVideoFirstFrame: 通知接收到所拉流的首帧视频,方便获取获取首帧视频的时长,了解视频流首次打开的延迟情况。
  1. 推流代理 ZegoLivePublisherDelegate 中增加了 onCaptureAudioFirstFrame 回调,通知收到采集音频的首帧,方便了解音频首帧的采集情况和采集时长。

  2. 混流代理 ZegoMixStreamExDelegate 中增加了 onMixStreamRelayCDNStateUpdate:mixStreamID: 回调,通知混流转推 CDN 的状态。

  3. 拉流质量回调 onPlayQualityUpate:quality: 中的 ZegoApiPlayQuality 增加了推流端到拉流端的延迟 rtt 和推流端到拉流端的丢包率 pktLostRate。方便客户端直接获取端到端的延迟和丢包情况,便于在网络不佳的时候提示用户当前网络的直播情况,从而引导用户切换网络或者重新进入直播。

API 整理

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

新增:

改动:

2019-06-10Version:g77803827

改进优化

  1. 全面更新 SDK 错误码,新版错误码更加统一和清晰,让开发人员排查问题更加快速便捷。
  2. setConfig 接口增加 play_nodata_abort 配置项,从即构服务器拉流没拉到数据时可以控制是否终止拉流。
  3. startPlayingStream 接口的 ZegoAPIStreamExtraPlayInfo 参数增加字段 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. 新增 setLogSize 接口,支持设置日志文件的大小。
  3. 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. 混流配置ZegoMixStreamConfig新增选项 ,支持单流直接推流到CDN,或者混流成单流推流到CDN。
  9. 修改 enableTrafficControl 接口,流量控制属性参数新增音频流量控制选项。
  10. onPublishQualityUpdate 推流质量更新回调,增加了 ZegoApiPublishQuality 类型参数,可获取更多推流质量信息,具体请点击接口查看。
  11. onPlayQualityUpdate 拉流质量更新回调,增加了 ZegoApiPlayQuality 类型参数,可获取更多拉流质量信息,具体请点击接口查看。

问题修复

  1. 修复未登录房间或者登录房间未完成时调用 endJoinLive 等房间信令时崩溃的问题。
  2. 修复 iOS 版的媒体播放器无法回调 onPlayError 的问题。

API 整理

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

新增:

改动:

2019-01-04Version:gcb20f711

新增功能

  1. 新增变声功能;
  2. 新增转推CDN状态回调接口;
  3. 新增 MediaPlayer 模块重复播放接口;
  4. 新增 MediaPlayer 模块截图接口;
  5. 新增 iOS 推流过程中摄像头支持动态朝向。

问题修复

  1. 修复若干BUG,提升稳定性。
2018-11-06Version:gb5998cbf

问题修复

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

新增功能

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

改进优化

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

问题修复

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

新增功能

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

问题修复

  1. 修复“MediaPlayer 渲染时,解码画面宽、高和渲染宽、高不一致导致的重影问题”
  2. 修复“iOS8 摄像头卡死阻塞 sdk 的 bug”

改进优化

  1. setPreviewView:setPreviewView:channelIndexstartPlayingStream:inViewstartPlayingStream:inView:paramsstartPlayingStream:inView:extraInfo等 API 不再支持 AutoResizing 布局的 UIView,使用 AutoResizing 布局的 UIView 将不能渲染,可以使用 AutoLayout 布局替代。这次修改主要是为了修复 cocos2dx 的兼容问题。
2018-05-28Version:g7ea5ae9

新增功能

  1. 新增“audio-aux 模块,支持 onAuxCallback 中发送媒体次要信息”
  2. 新增“sound-level 模块,支持回调出房间内谁在说话”
  3. 新增“分层编码功能”
  4. 新增”音频加密、解密接口“

问题修复

  1. 修复“无法正确检测硬编码流的 poc 导致的拉流卡顿”
  2. 修复“渲染和 cocos2dx 冲突导致的闪烁”
2018-04-24Version:g76eafb9

新增功能

  1. setConfig 接口新增设置 “support_general_mode_below_ios9” (iOS9 及以下连麦时支持 general mode(非强制 voip ))

问题修复

  1. 修复“硬编 crash”
  2. 修复“屏幕分享功能,声音时有时无不同步的问题“
  3. 修复“开始拉流后,使用相同的 StreamID 重复拉流,SDK 内部会重新拉流的 Bug”,修改后的逻辑为“保持之前的拉流状态”

改进优化

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