Pipewire 1.0.0, a multimedia server, has been published. This release marks the culmination of 15 years of project development. Pipewire serves as a replacement for the sound server Pulseaudio, but it also introduces new features such as the ability to work with video streams, minimal sound processing delays, and a new security model that enables control of access at the device and stream level. The project is supported in GNOME and is now the default server in Fedora Linux, Rhel, Ubuntu, Debian, Suse/Opensuse, and many other Linux distributions. The project is written in SI and is licensed under LGPLv2.1.
Pipewire offers a wide range of capabilities for processing multimedia streams. It can mix and redirect video streams, control video sources like video capture devices and webcams, and capture screen output. Pipewire allows for collaboration between multiple applications using a webcam and addresses issues related to secure screen capture and remote access to the screen within Wayland.
Pipewire also acts as a sound server, providing minimal delays and combining the functionalities of Pulseaudio and jack. It caters to the needs of professional processing systems, something Pulseaudio was unable to do. Furthermore, Pipewire introduces an enhanced security model that grants control over device and stream-specific access. It simplifies the organization of sound and video within isolated containers. One of its main objectives is to support self-sufficient applications in Flatpak and operate within a graphic stack based on Wayland.
Main capabilities of Pipewire include:
- Capture and playback of sound and video with minimal delays
- Real-time video and sound processing
- Multiprocessing architecture for collaborative access by multiple applications
- Processing model based on a graph of multimedia units with support for feedback cycles and atomic column updates. Both server-side handlers and external plugins can be connected.
- Efficient interface for video stream access through file descriptor transfer and sound access through shared ring buffers (Shard Ringbuffer)
- Ability to process multimedia data from any process
- Gstreamer plugin for seamless integration with existing applications
- Support for isolated environments and Flatpak
- Support for plugins in the