曾几何时,像音乐家和音频工程师这样的严肃音频用户在使用 Linux 时遇到了真正的麻烦。随着 PipeWire 1.0 的到来,情况不再是这样了。
曾几何时(不久前),如果您想在 Linux 上进行真正的、低延迟的音频工作,您会遇到严重的麻烦。这不再是真的。经过15年的开发,音视频软件流总线PipeWire 1.0终于问世了。
PipeWire 解决的问题是,多年来,Linux 一直采用三种不同的(有时是相互冲突的)方式来处理音频:高级 Linux 声音架构 (ALSA)、PulseAudio和JACK 音频连接套件 (JACK)。
ALSA 为应用程序开发人员提供内核驱动的声卡驱动程序和用户空间库。PulseAudio 在 ALSA 之上提供音频路由和控制级别。这两个项目都存在问题,尤其是在早期。同时,JACK 是一个完善的服务器 API 和守护进程,用于支持应用程序之间的实时、音频低延迟连接。
ALSA 是所有 Linux 音频工作的必备工具。PulseAudio更多地针对消费者。当您在 Linux 桌面上收听 YouTube Music、Spotify 或 Pandora 时,几乎可以肯定您正在使用 PulseAudio。但是,如果您是专业音乐家或音频工程师,您需要 JACK。然而,PipeWire 既适用于想要听音乐的普通用户,也适用于混合 24 轨音频会话的人们。
不过,PipeWire 并不是这样开始的。一开始,PipeWire 的主要目的是在进程之间共享视频流。Flatpak容器化应用程序和X11 窗口系统替代品Wayland 的兴起意味着 PipeWire 的开发人员意识到它可以做更多的事情。
另外: 这是我最喜欢的 Linux 默认电子邮件客户端
特别是,开发人员相信 PipeWire 可以解决 PulseAudio 和 JACK 的冲突和限制。然而 PipeWire 不仅仅寻求取代这些工具。正如Red Hat 首席软件工程师兼 PipeWire 的创建者Wim Taymans在Fedora 杂志 采访中所解释的那样:“我们的建议仍然是使用 PulseAudio 和 JACK API。它们已经过验证,可以工作,并且得到完全支持。”
事实上,Taymans 继续说道:“我们还没有看到应用程序使用WirePlumber库。我认为这部分是因为 PulseAudio 兼容性非常好,以至于还不需要本机应用程序。”
如今,PipeWire 充当应用程序和设备之间的桥梁。它为应用程序建立媒体流提供了一种通用方法。这些流可以路由到任何设备或应用程序进行播放或录制。此外,为了促进流交换,PipeWire 集成了一个系统来确定应用程序和设备之间的连接,指定这些连接的链接、方式和时间。
PipeWire 已经是较新的桌面 Linux 发行版、 Fedora Linux、Pop!的默认音频服务器。 操作系统、Ubuntu和openSUSE。我毫不怀疑 PipeWire 很快就会出现在每个 Linux 发行版中。
为了帮助您使用 PipeWire,Collabora(Linux 和开源支持与咨询公司)提供WirePlumber作为 PipeWire 媒体管道的会话管理器。有关如何充分利用 PipeWire 的更深入信息,请访问LinuxMusicians网站和LinuxAudio Reddit 论坛。