用了200天的PipeWire到底好在哪?

What's good about PipeWire?

Posted by Tee on April 16,2022

经过200多天的PipeWire深度使用,我有一些使用心得想分享给大家。

PipeWire install date

PipeWire是什么

Arch wiki的说法:

PipeWire是一个新的底层多媒体框架。它专注于同时为音频和视频提供低延迟的录制和回放,Pipewire支持所有接入PulseAudio,JACK,ALSA和GStreamer的程序。

简单的说法:

PipeWire支持所有软件的信号IO。无论软件使用什么后端接入,做到信号流程一体化。在低延迟下,解决以前不同后端各自为战的问题。

我理解的PipeWire信号流程与控制简略图

PipeWire信号流程

PipeWire能替代现在的音频工具链吗

目前大部分的工具链都能正常使用,如:

  • 网络通讯:zita-j2n/zita-n2j、cvlc
  • 连线:pw-viz、helvum、RaySession、Carla、QjackCtl
  • 存取连线session:RaySession、Carla、QjackCtl、pw-loadwires/pw-savewires
  • WINE声音:pulseaudio
  • 设置buffer size:pw-metadata

使用PipeWire会有什么困扰

需要改变一些使用习惯,如:

  • 如改变buffer size要使用pw-metadata
  • WINE DAW要使用wasapi
  • 蓝牙不再需要切换到pulseaudio
  • 比ALSA稍高一些的延迟
  • 若只使用ALSA需要先停用PulseAudio对设备的占用
  • 等等

你应该使用PipeWire吗

有几个问题可以问问自己:

  1. 需要较低延迟的蓝牙监听吗
  2. 需要整合现在的JACK+PulseAudio信号流程吗
  3. 对目前在用的方案满意吗
  4. 需要直播吗
  5. 需要多个声卡一起工作吗

对传统的方案来说,不同的后端、不同硬件连在一起虽然能掌控更多(更多重的mixer),实际操作也挺麻烦的。PipeWire能让你在DAW里使用较低延迟的蓝牙监听(达不到录音要求,比PulseAudio延迟低),能方便整合所有软件的信号IO。如果你对这两点很感兴趣,强烈建议你尝试!

使用PipeWire需要的资料

PipeWire最近几年更新变化非常大,像从PipeWire Media Session到WirePlumber ,从需要pipewire-jack-dropin到官方正式支持。

建议安装最新版,使用的过程建议参考以下所有资料:

Archlinux WIKI https://wiki.archlinux.org/title/PipeWire
Gentoo WIKI https://wiki.gentoo.org/wiki/PipeWire
PipeWire官方WIKI https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/home
Yabridge WIKI https://github.com/robbert-vdh/yabridge

我的建议

尝试一下PipeWire!

PipeWire在各大发行版也有跟进,是未来的标准,也是目前事实上的ALL in one最佳选择。默认设置对PulseAudio开箱即用,JACK的应用可能需要做几行config来达到最佳性能。

如果你常需要多设备(声卡/蓝牙)、多软件(浏览器/DAW)连通,且对延迟性能要求不是特别高,那PipeWire超级适合你;

如果你平时只使用ALSA来追求最高性能,暂停PulseAudio对设备的占用也只是一条命令的事情,也试试PipeWire给你带来的额外便利!


本作品采用知识共享署名 4.0 国际许可协议进行许可。