PipeWire 1.4 (Ambassador): Новое слово в обработке мультимедиа для Linux с поддержкой RISC-V и улучшенной безопасностью

6 марта 2025 года в свет вышел мультимедийный сервер PipeWire версии 1.4 (Ambassador), предназначенный для обработки аудио и видео потоков на Linux. Стабильный релиз PipeWire 1.0 состоялся в ноябре 2023 года. Проект разрабатывается на языке C и распространяется под лицензией MIT.

По своим API и ABI версия 1.4 полностью совместима с ветками 1.2.x и 1.0.x.

Разработчики представляют PipeWire как сервер, который заменяет PulseAudio, добавляя функции для обработки видео потоков. Он обеспечивает низкую задержку звука и внедряет новую модель безопасности для управления доступом к отдельным устройствам и потокам.

PipeWire поддерживается в GNOME и по умолчанию используется в таких дистрибутивах Linux, как Fedora, RHEL, Ubuntu, Debian и SUSE/openSUSE.

Проект предлагает функционал для обработки любых мультимедийных потоков, включая смешивание и перенаправление видео, а также управление видеоисточниками, такими как видеокамеры и контент, выводимый приложениями. PipeWire позволяет нескольким приложениям совместно использовать доступ к веб-камерам и эффективно решает вопросы безопасного захвата экрана и удаленного доступа в среде Wayland.

В качестве звукового сервера PipeWire обеспечивает минимальные задержки и совмещает функции PulseAudio и JACK, учитывая потребности в профессиональной аудиопроизводстве, чего не делает PulseAudio.

Также отмечается, что PipeWire имеет расширенную модель безопасности, упрощающую управление доступом к устройствам и потокам, а также облегчает передачу звука и видео из изолированных контейнеров. Одной из ключевых задач проекта является поддержка самодостаточных приложений в формате Flatpak и интеграция в графический стек на основе Wayland.

Среди основных изменений и дополнений в PipeWire 1.4:

– Добавлена поддержка систем, использующих архитектуру RISC-V, и оптимизации на ассемблерном уровне для данной платформы.
– Включена поддержка формата UMP (Universal MIDI Packet), обеспечивающего контейнер для сообщений MIDI 2.0; он используется по умолчанию для MIDI1 и MIDI2 в PipeWire.
– Реализованы функции для конвертации старого формата MIDI в UMP.
– Предоставлена возможность передачи звука по Bluetooth сразу на несколько устройств с использованием широковещательных каналов BAP (Basic Audio Profile).
– Включена собственная реализация JACK-сервера pipewire_jackserver с API PipeWire JACK Control.
– Добавлена поддержка слуховых аппаратов через Bluetooth в соответствии со спецификацией ASHA, включая кодек G722.
– Улучшена обработка задержек в Bluetooth-соединениях.
– В плагин ALSA добавлена поддержка воспроизведения DSD (Direct Stream Digital).
– В resampler добавлена возможность предварительного вычисления фильтров на этапе компиляции.
– Модуль module-filter-chain теперь выделен в отдельный плагин filter-graph, с новыми модулями и библиотекой fftw для дискретного преобразования Фурье.
– Оптимизирован плагин audioconvert и добавлена поддержка дополнительных фильтров.
– Введена поддержка разделения PCM через ALSA UCM (Use Case Manager).
– В модуле подавления эха добавлена поддержка WebRTC2.
– Внедрен новый плагин видеоконвертирования на основе FFmpeg.
– Расширены возможности модуля combine-stream для микширования потоков.
– В утилиту pw-cat добавлена поддержка стандартного ввода и вывода.
– Добавлен сервис systemd для pipewire-pulse.