27 июня 2025 года состоялся релиз мультимедийного сервера PipeWire 1.4.6 для обработки аудио‑ и видеопотоков в Linux. Выпуск стабильной версии PipeWire 1.0 произошёл в ноябре 2023 года. Проект написан на языке C и распространяется под лицензией MIT. Версия PipeWire 1.4 (Ambassador) вышла в марте 2025 года.
Проект PipeWire позиционируется разработчиками как сервер, идущий на смену звуковому серверу PulseAudio и отличается от него добавлением средств для работы с потоками видео, возможностью обработки звука с минимальными задержками и новой моделью безопасности для управления доступом на уровне отдельных устройств и потоков.
Сервер PipeWire поддерживается в GNOME, а также по умолчанию используется в Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE и многих других дистрибутивах Linux.
Проект PipeWire предоставляет возможности для обработки любых мультимедийных потоков, способен смешивать и перенаправлять потоки с видео, может применяться для управления источниками видео, такими как устройства захвата видео, веб‑камеры или выводимое приложениями содержимое экрана. PipeWire даёт возможность организовать совместную работу нескольких приложений с веб‑камерой и решает проблемы с безопасным захватом содержимого экрана и удалённым доступом к экрану в окружении Wayland.
Решение PipeWire может выступать в роли звукового сервера, обеспечивающего минимальные задержки и предоставляющего функциональность, комбинирующую возможности PulseAudio и JACK, в том числе учитывающую потребности систем профессиональной обработки звука (в отличие от PulseAudio).
Также PipeWire предлагает расширенную модель безопасности, позволяющую управлять доступом на уровне отдельных устройств и конкретных потоков, и упрощающую организацию проброса звука и видео из изолированных контейнеров и в них. Одной из главных целей проекта является поддержка самодостаточных приложений в формате Flatpak и работа в графическом стеке на базе Wayland.
Основные изменения и дополнения в PipeWire 1.4.6:
исправление ошибки сбоя в filter‑chain и одной в плагине ALSA;
улучшение отчетов о задержках в module‑combine‑stream;
в modules улучшена обработка задержек в module‑combine‑stream, улучшена активация/деактивация сохранения графа фильтра в module‑filter‑chain для предотвращения сбоев, добавление опции отключения RAOP с помощью context.property;
в SPA исправлена обработка NULL io в коде пробуждения ALSA. Это может произойти, когда происходит согласование. Также включено прерываний после ошибки ALSA для поддержания потока данных, произведено улучшение сброса некоторых показателей после ошибки ALSA, а также выполнена поддержка свойства alsa.use‑ucm для плагина ALSA udev;
в pulse‑server отметить пустые буферы. Это улучшает некоторые пути кода в микшере;
в GStreamer исправлена проблема с подсчётом ссылок в поставщике устройств (device provider).
Источник: habr.com