跳到主要内容

版本说明

5.7.3

发布日期:2024/10/18

功能优化

  • 自定义加解密接口 IRCEncryptorHooks 删除了 decodeencode 回调,新增 encodeAudioencodeVideodecodeAudiodecodeVideo 四个回调。

5.7.1

发布日期:2024/06/05

功能优化

  • 优化了 SDK 内部部分逻辑。

5.7.0

发布日期:2024/05/07

  • 新增了支持房间音视频流数据的自定义加解密功能,使用说明参考:自定义加密
  • 新增了 joinRTCRoomWithOptions 接口,现有接口 joinRTCRoom 声明废弃。
  • 优化了关键接口参数校验流程,避免参数类型错误导致的接口调用异常。
  • 修复了 ice 连接中断后可能启动多个定时器进行重试,进而导致的频繁调用 /exchange 接口问题。
  • 修复了 IM 连接中断后,会立即被踢出房间问题;受影响 SDK 版本包括 5.6.16 至 5.6.21。
  • 修复了被踢出房间后,SDK 内部房间心跳未及时终止问题,留存较多无效日志。

5.6.21

发布日期:2024/04/01

  • 修复 5.6.20 版本 SDK 引入的加入房间失败(错误码:53009)问题

5.6.20

发布日期:2024/03/29

  • 优化屏幕共享流结束流程,屏幕共享流结束后,不再需要业务层调用 unpublish 接口
  • 修复 npm 包内 JS 文件存在高版本 es 标准语法导致部分较低版本构建工具报错问题
  • 兼容 Safari 17 浏览器下 RTCPeerConnection 质量数据统计报告
  • 修复质量数据报告中无 rtt 数据问题
  • 修复部分日志打印错误问题

5.6.19

发布日期:2024/01/30

  • 修复 mediaServer 数据中心漂移问题
  • 重构 3A 功能模块。RTCLib 提供内置的针对麦克风采集音频的软 3A 处理方案,以优化部分场景下的音频采集质量。

5.6.18

发布日期:2023/12/28

  • 修复房间内观众获取带下划线的 userId 错误的问题。
  • 修复播放接口业务传参序列化日志记录时报错的问题。

5.6.17

发布日期:2023/10/08

  • 修复 iOS 14.x 上第二次进行媒体交互不成功的问题。

5.6.16

发布日期:2023/09/13

功能优化

  • 房间事件监听器(IRoomEventListener)的 onKickOff 方法返回的踢出房间原因枚举 RCKickReason 增加了三个枚举值:
    • IM_DISCONNECTED:3(IM 断开连接)
    • IM_LOGOUT: 4(IM 主动断开连接)
    • OTHER_CLIENT_IM_CONNECTED: 5(用户在其他设备连接 IM,被挤下线)

5.6.15

发布日期:2023/07/20

功能优化

  • 质量数据的上行数据 IRCTrackStat 增加了往返时延(rtt)字段。

5.6.14

发布日期:2023/07/04

  • 修复 Chromium 86 版本(360 极速浏览器等)中,媒体 readyState 状态异常导致的播放问题。

5.6.13

发布日期:2023/06/08

  • 修复偶现的业务层监听事件被多次触发的问题

5.6.12

发布日志:2023/05/31

  • RCRemoteAudioTrack 远端音频流增加 getVolume() 方法以获取播放时设定的音量值
  • 修复播放音频时,volume 音量参数失效问题
  • 修复修改未发布的本地资源 muted 状态无结果返回问题

5.6.11

发布日期:2023/05/11

功能优化

  • 优化内部代码结构,以降低代码复杂度,提升功能稳定性
  • 优化对 Proxy 类型数据的支持,以提升 Vue 3 用户的开发体验

问题修复

  • 修复 SDP 协议中 maxaveragebitrate 带宽赋值错误
  • 修复修改本地流状态,接口始终返回 RCRTCCode.SUCCESS 问题
  • 修复 Chrome 112 及以上版本浏览器中质量数据统计失效问题

5.6.9

发布日期:2023/02/13

问题修复

  • 浏览器 version 取不到值时,webRTC 使用 unified-plan 协议,具体表现为:支持在 chrome 浏览器模拟移动设备中调试音视频功能
  • Promise.any 兼容低版本浏览器
  • 修复上报合流音源报错问题
  • 修复合流加水印参数少校验边界问题

5.6.8

发布日期:2023/01/06

新增功能

  1. 通过 createMicrophoneAudioTrackcreateMicrophoneAndCameraTracks 接口获取音频时,增加 noiseSuppressionechoCancellationautoGainControl 配置,以控制硬 3A 开启或关闭。
  2. 升级主播 upgradeToAnchorRoom 返回房间内其他人和资源、cdn 开关状态:userIds、tracks、CDNEnable,房间内已有的人员、资源、CDN 状态不再从 room 监听处抛出

5.6.7

发布日期:2022/12/27

功能优化

  • 优化 SDK 回调业务层代码时,业务层代码报错的日志信息,保留业务错误堆栈以便于业务层排查问题。

5.6.6

发布日期:2022/12/20

新增功能

  • 支持采集与发布竖版视频资源,订阅方无需特别处理。

5.6.5

问题修复

  1. 修复低版本浏览器下(使用 plan-b 协议)中发布屏幕共享视频异常问题

5.6.4

发布日期:2022/11/30

问题修复

  1. 优化内部音视频质量数据缓存机制,并修复音量上报通知与实际听感延迟问题
  2. 修复发布资源时,IM 连接中断引发异常,导致后续发布接口无响应问题

5.6.3

发布日期:2022/11/22

新增功能

  • 直播场景增加音频合流的音源识别功能,room.registerReportListener 增加 onReportLiveAudioStates 监听,接收直播房间内音频合流的音源信息,包含音源的所属人、id 标识、音量值。

问题修复

  • 优化网络异常情况下,资源中断的恢复处理
  • 退出房间后,不再处理 signal 下发的通知
  • 优化队列阻塞时,重复拉房间数据问题

5.6.2

发布日期:2022/11/10

问题修复

  • 修复取消订阅后,还有停留在最后一帧的画面的问题

5.6.1

发布日期:2022/11/08

使用 RTCLib 5.6.1 及以上版本,需要将 IM 升级到 5.6.0 及以上的版本。

新增功能

  • WebRTC 状态数据(R1 ~ R4)上报,由 Websocket 更换为 http3

  • 发布资源时增加信令重试并添加 joinRTCRoom(roomId, [,signalRetryTime]) 连接信令服务器的超时时间

    • 描述:一般信令失败后直接返回给用户失败状态码,设置之后 signalRetryTime。在用户指定时间内如果信令交互失败,则会进行重试。

内部重构

  • 增加拉取模式,信令推拉模式结合,增强房间信令健壮性.
  • 离线踢出房间 offlineKickTime 增加限制,默认60秒,最小15秒

内部优化

  • 北极星 http 获取导航信息增加缓存
  • 媒体服务 Http 请求增加 gzip 压缩,以减少传输内容增加网络响应速度。

缺陷修复

  • 获取标签页带有音视频的时候,会创建自定义视频流失败。
  • 修复 Chrome 107 Cannot read properties of undefined (reading 'timestamp')

5.5.6

发布日期:2022/11/01

功能优化

  • CDN 自动模式下,合并《资源扩散》和《CDN 扩散》这两条信令。

5.5.5

发布日期:2022/10/17

问题修复

  • 修复 5.5.1 资源禁用时报错问题,导致资源禁用失败的问题。

5.5.2

发布日期:2022/10/11 内部重构

  • IM 与 RTC 实现信令结构解耦

功能优化

  • 优化北极星上报,轮询方式优化,对质量数据增加缓存 LRU 算法
  • 日志优化
    • 新增 MediaService 日志,上报超时设置
    • 人员加入、退出日志级别从 debug 调整为 info 级别

5.5.1

发布日期:2022/09/20

使用 5.5.1 需要将 IM 升级到 5.5.X 以上的版本

内部重构

  • IM 与 RTC 实现信令结构解耦

问题修复

  • 优化北极星日志上报策略,减少定时器触发任务,增加主进程稳定性。
  • 日志优化
    • 人员加入、退出日志级别从 debug 调整为 info 级别
    • 增加房间内消息被过滤时的日志

5.4.7

发布日期:2022/09/20

新增功能

  • 增加服务稳定性,为 MediaServer 添加服务探针

问题修复

  • 修复大小流一起发送时大流模糊的问题,修改了大小流 Addtrack 顺序

功能优化

  • 分辨率与码率各端对齐

5.4.6

发布日期:2022/08/23

问题修复

  • 观众不加房间,多次订阅页面报错,导致订阅失败
  • 会议场景:多次订阅资源,视频黑屏
  • 修复用户问题:频繁调用发布资源、取消资源发布,页面控制台报错。

5.4.5

发布日期:2022/08/17

问题修复

  • 资源发布、取消发布 SSRC资源不变更,导致发布资源不变更,远端订阅失败
  • 修复音频降噪处理调试模块内存溢出的问题,以及资源销毁后的内存回收。

5.4.4

发布日期:2022/08/09

问题修复

  • 修复 track.play 可选参数报错的异常

5.4.3

发布日期:2022/08/02

问题修复

  • 修复屏幕分享时mandatory.chromeMediaSourceId属性不存在引发的报错
  • 拆分出 RCMediaStreamCapture 对媒体资源优化

功能优化

  • 音频采集时添加默认参数
  • 音视频码率设置 RCLocalVideoTrack::setBitrate RCLocalAudioTrack::setBitrate
  • 录屏时增加获取音频流 createScreenWithAudioTracks
  • 日志优化: Exchange 接口增加 reqId

5.4.2

发布日期:2022/07/12

问题修复

  • 日志模块细化,增加日志 Tag 方便日志分类查询 。

功能优化

  • 内部重构,建立事件队列,防止事件错乱。

5.4.1

发布日期:2022/06/14

功能优化

  • 退出房间时,SDK 内部先静音本地发布资源,避免在退出房间的过程中(尤其流程耗时较长时)对方一直能听到发布端的声音。
  • 房间保活机制中 RTC ping 超时时间不再使用固定的 60 秒,改为使用服务下发的超时时间配置。
  • 优化动态码率计算策略。在 SDK 无法准确获取视频分辨率时,指定一个较大的上行码率,以优化部分浏览器(如 iOS 中的 Safari)中出现的视频模糊、丢帧问题。
  • 北极星上报音视频上下行数据由一秒一次改为两秒一次。

5.3.13

发布日期:2022/11/28

新增功能(仅限 5.3.13 版本)

  1. 通过 createMicrophoneAudioTrackcreateMicrophoneAndCameraTracks 接口获取音频时,增加 noiseSuppressionechoCancellationautoGainControl 配置,以控制硬 3A 开启或关闭。

5.3.12

发布日期:2022/05/30

功能优化

  • 优化动态码率计算策略,所有无法准确获取视频分辨率的视频流统一按 1920*1080 来计算上行码率,以优化部分浏览器(如 Safari)中出现的视频模糊、丢帧问题。

5.3.11

发布日期:2022/05/27

问题修复

  • 修复偶现的信令丢失导致的房间状态通知问题
  • 优化动态码率计算策略,解决无法准确获取视频分辨率信息的情况下的视频模糊、丢帧问题
  • 修复偶现 onKickoff 重复通知问题

5.4.0

发布日期:2022/05/09

新增功能

  • 发布资源支持使用多个 PeerConnection 实例

5.3.10

发布日期:2022/05/09

问题修复

  • 修复 IM 连接中断情况下,当服务端房间超时销毁后,客户端恢复连接重新加入房间时偶发加入失败问题

5.3.8

发布日期:2022/04/18

问题修复

  • 修复主播结束跨房间连麦并退出副房间后,副房间内合流中仍有该主播音视频流的偶现问题。

5.3.7

发布日期:2022/04/16

问题修复

  • 优化日志打印,便于问题排查
  • 过滤 MCU 合流配置中的重复配置项

新增功能

  • 支持在 MCU 合流配置中指定需要合流的音频资源列表。参考 RCMCUConfigBuilder

5.3.6

发布日期:2022/04/07

问题修复

  • 修复跨房间连麦场景中,加入、退出副房间,主房间时偶现 setRemoteDescription failed 错误,导致主房间向副房间推流异常
  • 修复跨房间连麦场景中,退出副房间时错误抛出 the getRoomPKHandler is disabled in PK room 异常日志

5.3.4

发布日期:2022/04/06

问题修复

  • 修复跨房间连麦中,onResponseJoinOtherRoom 回调数据中无 extra 字段问题

5.3.3

发布日期:2022/03/31

问题修复

  • 修复音视频会议场景下客户端通过调 leaveRoom 离开房间后,服务端不会立即停止录制房间内画面的问题。

5.3.2

发布日期:2022/02/24

新增功能

  • joinLivingRoom 加直播房间增加返回已连麦的副房间 roomIds 列表: PKRoomIds
  • joinRTCRoomjoinLivingRoom 支持业务层设置身份标识
  • RCLivingRoom 增加 isMainRoom 方法,判断当前房间是否为主房间
  • RCLivingPKHandler 模块增加 getAllPKInfo 方法,获取所有连麦信息

问题修复

  • 主房间获取人员列表、房间内人员变动过滤掉副房间人员

5.3.1

发布日期:2022/01/28

问题修复

  • 发起连麦后,超过默认 30s 对方无应答之后,重新邀请时报“邀请连麦中”的问题
  • 合流布局设置副房间资源校验未通过问题

5.3.0

发布日期:2022/01/07

新增功能

  • 增加跨房间连麦功能

5.2.3

发布日期:2021/12/30

新增功能

  • 观众房间增加 getRemoteRTCTracksgetRemoteMCUTracksgetCDNInfo api,可获取房间内 RTC 资源、MCU 资源、CDN 信息
  • joinLivingRoomAsAudiencedowngradeToAudienceRoom 返回值增加 userIdsRTCTracksMCUTracksCDNUris

问题修复

  • 修复观众加房间在未注册房间事件监听时,拿不到房间内资源的问题

5.2.2

发布日期:2021/11/25

新增功能

  • 获取视频时,增加设置 faceMode 属性
  • 订阅资源时返回订阅失败列表

问题修复

  • 修复 peerConnection 底层音量值极小时,onStateReportonAudioLevelChangeaudioLevel 为 0 的问题
  • 修复 chrome 85 上 onAudioLevelChangeaudioLevelundefined 的问题

5.2.1

发布日期:2021/11/05

问题修复

  • 修复:用户断网重连成功后,无法监听到断网期间加入的用户。
  • 修复:用户订阅的视频流在断网重连后出现黑屏的问题。
  • 修复:在极少数情况下,参会者断网重连后可能看不到对方视频。问题举例:A 参会者断网重连期间,A 已订阅的会议成员 B 退出重新加入房间,A 重连后再订阅 B,无法看到 B 的视频。
  • 修复:观众不加入房间进行订阅时,重复订阅会失败

5.2.0

发布日期:2021/10/22

新增功能

  • 增加指定音频播放输出设备
  • 房间监听器增加主播和观众切换身份通知: onSwitchRole

5.1.10

发布日期:2021/09/24

新增功能

  • 增加内置 CDN 功能

5.1.9

发布日期:2021/09/10

问题修复

  • 修复偶现计算出的码率特别大的问题
  • 修复同一个房间两个人同时取消发布,订阅的资源在房间中不存在的问题
  • 增加本人退出房间,收到信令不再处理

5.1.8

发布日期:2021/09/02

问题修复

  • 收到用户退出通知,需等取消订阅完成再更新内存数据
  • 订阅不存在的资源时,不再继续执行,增加提醒
  • 离开房间时,清理内存中远端资源的 audio 标签
  • 销毁本端 track 时,清理内存中本端资源的 audio 标签

新增功能

  • 增加 h5 页面 video 标签在页面内播放属性
  • 播放音频时,增加设置音频音量
  • 本地资源销毁时,取消发布此资源

5.1.5

发布日期:2021/08/06

问题修复

  • 修复质量数据定时器可能存在的内存泄漏问题

新增功能

  • 增加 im 重连成功后,peerConnection 意外关闭的通知事件

5.1.4

发布日期:2021/07/22

问题修复

  • 修复无音量上报时,直接退出房间清除定时器报错的问题

5.1.3

发布日期:2021/07/15

新增功能

  • 增加了观众端支持分流订阅功能

问题修复

  • 修复了 adapter 和 plugin-rtc 中分辨率枚举值不一致时的转化问题

5.1.2

发布日期:2021/07/01

新增功能

  • 增加了 公有云 SDK 连接私有云服务校验,校验不通过返回错误码: 53025。状态码请参见状态码表。
  • 增加了 个人发布资源个数限制,个人发布总 track 数量限制(包含小流视频 track)10 个,超出限制发布接口返回错误码: 53026。状态码请参见状态码表。

5.1.1

发布日期:2021/06/11

问题修复

  • 修复 peerConnection stats 数据计算时,部分浏览器中存在内存对象未定义的错误

5.1.0

发布日期:2021/06/10

新增功能

  • 兼容 UnifiedPlan 协议,支持移动端 H5 及非 Chrome 浏览器
  • 增加观众加房间功能,以便于观众接收主播资源变更通知

5.0.9

新增功能

  • 支持 Electron 环境下通过 createScreenVideoTrack 获取屏幕共享流

5.0.8

发布日期:2021/06/03

问题修复:

  • 修复了兼容因老版本 MediaServer 产生的 SDP 行末存在非法空格导致 SDP 协商失败的问题
  • 修复了 unpublish 未经发布的资源导致产生非法消息结构,进而引起 iOS 端崩溃问题

5.0.7

发布日期:2021/05/21

新增功能:

  • 支持 Electron 桌面端应用使用自定义协议加载页面
  • 新增 room.getRemoteTracks() 接口以获取所有房间内的远端资源
  • joinRTCRoom 接口新增 userIdstracks 数据返回当前房间内的人员列表和资源列表
  • joinLivingRoom 接口新增 userIdstracks 数据返回当前房间内的人员列表和资源列表

问题修复:

  • 修复北极星数据未上报问题

5.0.6

发布日期:2021/05/13

问题修复:

  • 支持 Electron 环境下的 file 协议页面,以修复 Electron 环境下的异常

功能优化

  • 优化 IM 连接中断期间的事件补偿,优化相关处理逻辑

5.0.5

发布日期:2021/05/07

新增功能:

  • RCRTCClient 类新增 createLocalFileTracks 接口以降低用户实现自定义文件流的复杂度
  • RCRTCClient 类新增 getCurrentId 接口以获取当前用户 Id
  • 房间中新增 getLocalTracks 接口以获取所有本端已发布的资源列表
  • 新增 IRCTrackStat、IRCRTCStateReport、IRCCandidatePairStat 类型导出,以供 TS 开发者引用

问题修复:

  • 修复低延迟直播观众端订阅失败时返回的状态码为 RCRTCCode.SUCCESS 的问题

5.0.3

发布日期:2021/04/30

问题修复

  • 修复资源发布失败后,RCLocalTrack.isPublished() 值错误
  • 修复连续多次调用 publishunpublishsubscribeunsubscribe 时可能引起的状态错误

5.0.2

发布日期:2021/04/23

问题修复

  • 修复 subscribeunsubscribepublishunpublish 接口连续调用引起的 RTCPeerConnection 状态异常报错
  • 优化使用打包工具进行编译构建时的包体大小

5.0.1

发布日期:2021/04/15

问题修复

  • 修复房间用户退出时未清理房间内的响应缓存资源问题
  • 修复在部分低版本打包构建工具中可能打包失败问题

5.0.0

发布日期:2021/04/09

重构说明

  • 使用 Typescript 重构底层实现,提升了 SDK 的健壮性
  • 重新设计所有功能接口 API,提升了 SDK 的易用性
  • 支持通过 npm、yarn 等模块管理器安装
  • 增加详尽的注释信息,通过 IDE 编码提示可直接查阅相关接口、类型定义,使集成过程更简单
  • 支持同时发布、取消发布、订阅、取消订阅多道流,极大地缩减了业务层处理复杂订阅关系的响应时间
  • 增加详尽的内存数据维护,提供便捷的状态查询接口,能够有效的减少业务层的编码量及出错概率
  • 增加详尽的异常信息提示,有效提升了问题排查效率

新增功能

  • 支持直播合流布局中增加背景图、背景色
  • 发布小流资源时,不再需要业务层关注小流数据的采集跟状态维护
  • 支持单独取消同一 tag 流中的音轨或视轨