Release of multimedia server PipeWire 1.0.0

The release of the multimedia server PipeWire 1.0.0 has been published, marking the first stable release, which signifies the project's maturity. At the API and ABI level, version 1.0 is backwards compatible with the 0.3 branch. PipeWire is positioned as a server that replaces the audio server PulseAudio and is distinguished by its addition of tools for handling video streams, the ability to process audio with minimal latency, and a new security model for managing access at the level of individual devices and streams. The project is supported in GNOME and is already used by default in Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE, and many other Linux distributions. The project's code is written in C and is distributed under the LGPLv2.1 license.

PipeWire provides capabilities for processing any multimedia streams, can mix and redirect video streams, and can be used to manage video sources such as video capture devices, webcams, or content displayed by applications on the screen. For example, PipeWire allows multiple applications to work collaboratively with a webcam and addresses issues related to secure screen content capture and remote access to the screen in a Wayland environment.

PipeWire can also serve as an audio server, providing minimal latency and offering functionality that combines the capabilities of PulseAudio and JACK, including addressing the needs of professional audio processing systems that PulseAudio could not cater to. Additionally, PipeWire provides an advanced security model that allows management of access at the level of individual devices and specific streams, simplifying the organization of audio and video passthrough from and to isolated containers. One of the main goals is to support self-sufficient applications in Flatpak format and to operate within the graphical stack based on Wayland.

Main Features:

  • Capture and playback of sound and video with minimal latency;
  • Tools for real-time audio and video processing;
  • Multiprocess architecture allowing collaborative access to content across multiple applications;
  • A model for processing based on a multimedia node graph with support for feedback loops and atomic graph updates. It allows for handlers to be connected both inside the server and by external plugins;
  • An efficient interface for accessing video streams via file descriptor passing and accessing audio through shared ring buffers;
  • Ability to process multimedia data from any processes;
  • A GStreamer plugin to simplify integration with existing applications;
  • Support for isolated environments and Flatpak;
  • Support for plugins in SPA (Simple Plugin API) format and the ability to create plugins that operate in hard real-time mode;
  • A flexible system for negotiating media formats and allocating buffers;
  • Using a single background process for routing audio and video. Ability to operate as an audio server, a hub for providing video to applications (e.g., for the gnome-shell screencast API), and a server for managing access to video capture hardware.

Among the changes compared to branch 0.3, support for jackdbus is now enabled by default, allowing PipeWire to function as a full-fledged JACK audio system client. For ALSA, IRQ-based scheduling is employed in the Pro-Audio profile, enabling latency levels on par with JACK. Support for both the old and new versions of webrtc-audio-processing has been added. Support for DFF DSD files has been incorporated into pw-cat. Additionally, support for the GNU/Hurd platform has been added.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster