В репозитории, в котором ведётся разработка выпуска Ubuntu 22.10, произведён переход на использование по умолчанию мультимедийного сервера PipeWire для обработки звука. Пакеты, связанные с PulseAudio удалены из наборов desktop и desktop-minimal, а для обеспечения совместимости вместо библиотек для взаимодействия с PulseAudio добавлена работающая поверх PipeWire прослойка pipewire-pulse, которая позволяет сохранить работу всех существующих клиентов PulseAudio.
Решение по полному переходу на PipeWire в Ubuntu 22.10 подтвердила Хизер Эллсуорт (Heather Ellsworth) из компании Canonical. Отмечается, что в Ubuntu 22.02 в дистрибутиве использовались оба server — PipeWire применялся для обработки видео при записи скринкастов и предоставлении доступа к экрану, но звук продолжал обрабатываться с использованием PulseAudio. В Ubuntu 22.10 будет оставлен только PipeWire. Два года назад подобное изменение уже было внедрено в дистрибутиве Fedora 34, что позволило предоставить возможности профессиональной обработки звука, избавиться от фрагментации и унифицировать звуковую инфраструктуру для разных применений.
PipeWire предлагает расширенную модель безопасности, позволяющую управлять доступом на уровне отдельных устройств и конкретных потоков, и упрощающую организацию проброса звука и видео из изолированных контейнеров и в них. PipeWire может обрабатывать любые мультимедийные потоки и способен смешивать и перенаправлять не только потоки со звуком, но потоки с видео, а также управлять источниками видео (устройства захвата видео, web-камеры или выводимое приложениями содержимое экрана). PipeWire также может выступать в роли звукового сервера, обеспечивающего минимальные задержки и предоставляющего функциональность, комбинирующую возможности PulseAudio и JACK, в том числе учитывающую потребности систем профессиональной обработки звука, на которую не мог претендовать PulseAudio.
Funzionalità principali:
- Cattura e riproduzione di audio e video con latenze minime;
- Strumenti per l'elaborazione di video e audio in tempo reale;
- Architettura multithreading che consente l'accesso condiviso ai contenuti di più applicazioni;
- Modello di elaborazione basato su grafo di nodi multimediali con supporto per feedback loop e aggiornamenti atomici del grafo. È consentita la connessione di elaboratori sia all'interno del server che di plugin esterni;
- Interfaccia efficace per l'accesso ai flussi video tramite file descriptor e accesso audio tramite buffer circolari condivisi;
- Capacità di elaborare dati multimediali provenienti da qualsiasi processo;
- Presenza di un plugin per GStreamer per semplificare l'integrazione con applicazioni esistenti;
- Supporto per ambienti isolati e Flatpak;
- Supporto per plugin in formato SPA (Simple Plugin API) e possibilità di creare plugin funzionanti in tempo reale;
- Sistema flessibile per la negoziazione dei formati multimediali utilizzati e per l'allocazione dei buffer;
- Uso di un processo in background per il routing di audio e video. Possibilità di operare come server audio, hub per fornire video alle applicazioni (ad esempio, per l'API screencast di gnome-shell) e server per la gestione dell'accesso ai dispositivi hardware di cattura video.
Fonte: opennet.ru
