PipeWire 1.2 于今日发布,是这款广受赞誉的开源服务器的最新稳定版本,用于在 Linux 系统上处理音频、视频流和硬件。
PipeWire 1.2(代号为 Aviation)的亮点包括:支持显式同步元数据、为 Ubuntu 和其他使用 Canonical 沙盒应用打包格式的发行版提供 Snap 支持、在协商缓冲区参数时支持强制元数据,以及支持异步处理,允许节点异步调度。
“开发人员解释说:”图形不会等待节点的输出来继续处理,而是使用上一个周期(或静默)的输出。”这将增加一个周期的延迟,但可以避免某些节点阻塞处理图。非实时流和过滤器现在也使用这种异步处理方式,而不是它们自己的略有缺陷的版本。
PipeWire 1.2 还增加了一个 snapcast-discover 模块,用于向 snapcast 服务器发送流媒体;支持在服务器和客户端创建和使用多个数据环路,同时支持数据环路的 CPU 亲和性和优先级;还实现了 node.sync-group 概念,以确保在 JACK 传输启动时所有节点都被安排在一起。
此外,它还支持 Google OPUS、LC3-SWB 和 AAC-ELD 编解码器,以改进蓝牙音频处理,并支持广播源配置。环回模块支持上行和下行混音,RTP 模块现在支持 PTP 管理协议,并合并了 UCM 冲突设备补丁。
在其他值得注意的变更中,PipeWire 1.2 引入了安全上下文支持,允许 Flatpak 应用程序从 PipeWire 请求一个具有特定属性的套接字,以便挂载到 Flatpak 中;支持 PipeWire 服务器和客户端使用多线程并行处理节点;以及一个新的 A -P 选项,用于为上下文提供额外属性。
最后但并非最不重要的是,PipeWire 1.2 添加了一个用于加载参数均衡器的新模块,支持 RAOP(远程音频输出协议)本地服务、RTP 和 Pulse Avahi 发现器、Vulkan 位和转换过滤器、libcamera 节点的摄像头旋转,以及一个用于启动安全上下文并在其中运行应用程序的新 pw-container 工具。
它还修改了链接对等节点和更新计数器的方式,在节点被取消链接且尚未处理时恢复对等节点,这样在重新连接时应能减少图中偶尔出现的掉线现象,并能更好地报告带有行和列编号的配置解析错误。
该版本还有许多 GStreamer 元素更新和其他错误修复与改进,详情请查看项目 GitLab 页面上的发布说明,如果你想在 GNU/Linux 发行版上编译 PipeWire 1.2,也可以从这里下载源代码压缩包。
转自 PipeWire 1.2 Released with Asynchronous Processing and Explicit Sync Metadata – 9to5Linux