3 ms·
I'm completely confused reading the home page. What actual use cases is this for? Like what applications are served by it?
by tootie 5y ago
I'm completely confused reading the home page. What actual use cases is this for? Like what applications are served by it?
- BenjiWiebe 5y agoThis is the software that sits between a program wanting to play media and the device that plays it. It's responsible for things like choosing audio inputs and outputs and volume mixing etc. Pretty much your whole Linux audio stack.
- ncmncm 5y agoOriginal motivations IIUC were that PA does not do synchronized video, has no security model, and does not meet Pro latency requirements. Requirements were driven by complications found managing streams in automotive uses. E.g. routing back-up cam video, soft instrument cluster video, bluetooth phone audio, dash mic, car stereo player, sirius receiver, voice navigation, dash cam. The mind boggles.
- nvarsj 5y agoImagine you're a streamer with OBS and you need to patch your mic, game sound, music stream, etc. and adjust all the levels. It's a PITA to do this kind of thing with pulseaudio - which seems to have been designed with the model of "one user, one sound device" in mind. So people use JACK for this kind of thing, which is similar to what you can get in Windows (with virtual audio cables, virtual patch bays, etc.) that let you route your sound however you need to. But it is also fiddly and painful to use, especially trying to get it to interoperate with w/ pulse. So Pipewire is meant to replace all this with a single solution that is easy to use and "just works".
- remram 5y agoI've been doing this to record video conferences, separating my mic, conference output, and rest of desktop. So I record my mic and the rest of the conference with OBS (as two separate tracks) and can still hear conference + other apps (but other apps aren't recorded). I'm doing this with PulseAudio. It adds a little latency but it works. I initially used pagraphcontrol [1] and later made my own little Python script that creates the virtual devices ("null outputs") and virtual wires ("loopbacks") and wires conference applications automatically when they show up. Can I do this with PipeWire? Are the tools there? This post claims that PipeWire is now ready, but it seems to have reached version 0.3.35 which seems a very arbitrary point to call a milestone. [1]: https://github.com/futpib/pagraphcontrol https://github.com/futpib/pagraphcontrol