LiveKit v1.9.1 版本发布:WebRTC 通信稳定性与功能全面升级

B站影视 内地电影 2025-09-15 10:44 1

摘要:近日,开源 WebRTC 项目 LiveKit 正式发布了 v1.9.1 版本。该版本在稳定性、功能扩展和协议支持等方面进行了多项重要更新,进一步提升了实时音视频通信的可靠性和性能。以下是本次更新的详细内容解析:

近日,开源 WebRTC 项目 LiveKit 正式发布了 v1.9.1 版本。该版本在稳定性、功能扩展和协议支持等方面进行了多项重要更新,进一步提升了实时音视频通信的可靠性和性能。以下是本次更新的详细内容解析:

• 修复 pub/sub 轨道指标(track metrics)交换的问题

• 修复 SDP rid 的 bug,只清除溢出的部分

• 在 downtrack.bind 时不要检查 bindState

• 当请求的画质高于最大可用层时,返回最高可用层

• 修复 participant.go 中数据包 ParticipantIdentity 覆盖逻辑的问题

• 修复 iOS 上 Chrome 移动版的 SVC 编码问题

• 迁移时 offer 可能为 nil

• 修复依赖:更新 github.com/livekit/protocol 模块到 v1.39.3

• 为图层索引增加边界检查

• 如果是旧客户端且为 nil,不要发送 leave

• 修复 transferParticipant 时 Ringingtimeout 被跳过的问题

• 处理 track info 中无编码器(codec)的情况

• 修复遗漏的解锁

• 修复 StopEgress 的超时处理

• 修复:在刷新 token 时确保参与者类型被设置

• 不要为 RED 广告 NACK

• 不要同时发送 abs-send-time 和 twcc

• 防止在确定 BWE 类型时的竞争条件

• 将 Devin 加入 readme,使其每周自动更新 DeepWiki

• 允许向 RTC 端点传递额外属性

• 当在 token 中使用凭据时发出警告

• 为 webhook 的统计桶添加协议依赖

• 真正拾取 webhook 队列长度统计的协议更改

• 实现房间指标的可观测性

• 数据通道的端到端可靠性

• 为 WHIP 添加多码流(simulcast)支持

• 在 SDP 信令消息中添加 ID

• 在 TrackInfo 中设置并使用 rid/spatial layer

• 添加丢弃乱序可靠消息的日志

• chore: 在作业创建时设置 workerid

• 在移动 egress/agent 参与者时返回错误

• SVC 中通过 RID 映射到空间层

• feat(cli-flags): 添加 CPU 性能分析选项

• 默认启用 H265

• 开始实现 Signalling V2 协议

• Signal v2:使用封装和分片作为传输消息格式

• 将所有信令消息分组到 participant_signal 中

• 开始实现信号接收器接口

• 信号处理接口以及参与者特定的 HTTP PATCH

• 拆分信令分段器与重组器

• 填充 v2 中不太可能更改的消息

• 使用来自 protocol 的信令工具

• v2 信令验证端点

• 更多 v2 信令更改

• 小改动:保持 RPC 类型在服务级别

• 在边缘 Prometheus 统计中添加国家标签

• HTTP DELETE 参与者会话

• 实现可建立订阅者 PeerConnection

• 实现可连接发布者 PeerConnection 并用于异步信令

• 支持将加入请求作为 proto + Base64 编码的查询参数

• 使用包装的加入请求以同时支持压缩和非压缩

• 在加入请求中处理 SyncState

• 支持基于编码器的每码流多层

• 支持从客户端传入视频层模式并使代码更好地识别 MIME 类型

• 当参与者会话被关闭时发送 participant_connection_aborted

• 支持 G.711 A-law 和 U-law

• 从媒体流中提取视频分辨率

• 更新 mediatransport 工具以支持 3478 端口

• 单一 PeerConnection 模式

• 在 SVC 中处理帧号回绕(wrap back)

• 使用来自房间预设的离开(departure)超时

• 使用 RequestResponse 报告协议处理错误

• 在声明联合排队区域之前添加趋势检查

• 小改动:添加/使用长度检查的辅助函数

• 删除未使用的 ws 信令读取循环

• 在关闭时刷新统计

• 不再要求为 WHIP 参与者提供创建权限

• 在房间管理器构造函数中创建客户端配置管理器

• 删除未发布的层的默认 rids

• 如果 SDP 中不存在 rid,则清除 rids

• 还原清除 RIDs 的改动

• 从请求中获取 ClientInfo

• 删除未使用代码

• 复用已编译的客户端配置脚本

• feat(cli): 升级到 urfave/cli/v3

• 将 egress roomID 加载移至启动器

• 记录之前的分配以查看变化

• 不仅仅是清理接收器——移除该接口

• ClearAllReceivers 接口现在用于暂停中继轨道

• 临时更改:使用预定义的 rids

• 还原 "临时更改:使用预定义的 rids"

• 记录 SDP rids 以更好理解其映射

• 限制仅在 WHIP 路径中从 SDP 提取 rids

• 为所有编码器设置 rids

• 对于无效的 rid + track info 组合,返回默认层

• 规范化已知的 rids

• 将 agent id 转发到作业状态

• 在 StopEgress中将ErrNoResponse 映射到 ErrRequestTimedOut,避免返回 503

• 当 PeerConnection 已连接时将参与者标记为活动

• 处理 RoomConfig 中的 Metadata 字段

• [ readme-manager] 更新 README

• 将 RTCRest 重命名为 WHIP

• 删除 v2 信令

• 清理遗漏的 v2 代码

• 更新 Go 依赖

• 当可用时,将 SDP cid 填入 track info

• 将信令消息记录为调试级别

• 在媒体节点上记录信令消息

• 增加轨道设置信息的日志

• 更新 pion 依赖

• 更新 golang Docker 版本到 v1.25

• 更新 github.com/livekit/protocol 到 v1.40.0

• 删除不必要的检查

• 分块房间更新

• 将已知的 rids 从 012 切换为 210,用于 OBS

• 初始化 UA(User-Agent)解析器只执行一次

• 在迁移场景中恢复使用 answer

• 在单一 PeerConnection 模式下更好地处理迁移

LiveKit v1.9.1 版本在稳定性、功能丰富性和协议支持方面均有显著提升,尤其针对移动端兼容性、音频编码支持和信令传输效率进行了重点优化。建议所有用户升级至该版本,以获得更稳定、高效的 WebRTC 通信体验。

下载与文档:

项目地址:https://github.com/livekit/livekit

官方文档:https://docs.livekit.io

我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。

来源:找果科技

相关推荐