首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >LiveKit v1.9.1 版本发布:WebRTC 通信稳定性与功能全面升级

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

作者头像
福大大架构师每日一题
发布2025-12-18 11:34:07
发布2025-12-18 11:34:07
1240
举报

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

修复(Fixed)

  • • 修复 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
  • • 修复 transferParticipantRingingTimeout 被跳过的问题
  • • 处理 track info 中无编码器(codec)的情况
  • • 修复遗漏的解锁
  • • 修复 StopEgress 的超时处理
  • • 修复:在刷新 token 时确保参与者类型被设置
  • • 不要为 RED 广告 NACK
  • • 不要同时发送 abs-send-timetwcc
  • • 防止在确定 BWE 类型时的竞争条件

新增(Added)

  • • 将 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 报告协议处理错误

改动(Changed)

  • • 在声明联合排队区域之前添加趋势检查
  • • 小改动:添加/使用长度检查的辅助函数
  • • 删除未使用的 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科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-09-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 福大大架构师每日一题 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 修复(Fixed)
  • 新增(Added)
  • 改动(Changed)
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档