Розробники Fedora нещодавно оголосили про заплановані значні зміни для наступної версії Fedora 34, які передбачають перемикання всіх аудіопотоків зі звукових серверів PulseAudio та JACK на PipeWire.
Використання PipeWire дозволяє вам запропонувати професійні можливості обробки аудіо в типовому середовищі настільної видавничої системи, усунути фрагментацію та уніфікувати вашу аудіоінфраструктуру для різних застосувань.
Наразі робоча станція Fedora використовує фоновий процес PulseAudio для обробки аудіо, а програми використовують клієнтську бібліотеку для взаємодії з цим процесом, мікшування та керування аудіопотоками. Професійна обробка аудіо використовує звуковий сервер JACK та пов'язану з ним клієнтську бібліотеку.
Замість PulseAudio та JACK пропонується використовувати медіасервер PipeWire наступного покоління з рівнем сумісності, який забезпечить роботу всіх існуючих клієнтів та програм PulseAudio та JACK, що постачаються у форматі Flatpak.
Для старих клієнтів, які використовують API низького рівня ALSA, буде встановлений плагін ALSA, який спрямовує аудіопотоки безпосередньо до PipeWire. Усі програми на основі PulseAudio та JACK зможуть працювати на PipeWire, не встановлюючи PulseAudio та JACK.
Ця пропозиція полягає в тому, щоб замінити демон PulseAudio на функціонально сумісну реалізацію на основі PipeWire. Це означає, що всі існуючі клієнти, що використовують бібліотеку клієнтів PulseAudio, продовжуватимуть працювати, як і раніше, а також програми, що поставляються як Flatpak.
Весь аудіо PRO обробляється клієнтською бібліотекою JACK, яка спілкується з сервером JACK. Ця пропозиція встановить замінник клієнтської бібліотеки JACK, який безпосередньо розмовляє з PipeWire. Усі існуючі програми для аудіороз'ємів PRO працюватимуть через PipeWire.
Нагадуємо, що PipeWire розширює можливості PulseAudio , додаючи потокове відео, обробку аудіо з низькою затримкою та нову модель безпеки для потокової передачі та контролю доступу до пристроїв.
PipeWire також надає можливості для керування джерелами відео , такими як пристрої відеозахоплення, веб-камери або вміст екрана виводу програм. Проект сумісний з GNOME та вже широко використовується у Fedora Linux для трансляції екрана та спільного використання екрана в середовищах на основі Wayland.
PipeWire також може виступати в ролі звукового сервера з низькою затримкою та функціональністю, що поєднує можливості PulseAudio та JACK, навіть для потреб професійних систем обробки звуку, на які PulseAudio не міг претендувати.
Крім того, PipeWire пропонує покращену модель безпеки , яка дозволяє контролювати доступ до окремих пристроїв та потоків, а також спрощує маршрутизацію аудіо та відео до та з ізольованих контейнерів.
Ключові риси:
- Знімайте та відтворюйте аудіо та відео з мінімальними затримками.
- Інструменти обробки відео та аудіо в режимі реального часу.
- Багатопотокова архітектура, яка дозволяє спільно використовувати вміст між різними програмами. Управління та обробка мультимедійної графіки здійснюється в різних процесах.
- Модель обробки на основі графіка мультимедійного вузла з підтримкою циклів зворотного зв'язку та оновлення атомних графіків.
- Дозволено підключати драйвери як усередині сервера, так і зовнішні плагіни.
- Ефективний інтерфейс для доступу до відеопотоків шляхом передачі дескрипторів файлів та доступу до звуку через спільні буфери.
- Можливість обробки мультимедійних даних з будь-якого процесу.
- Наявність плагіна для GStreamer для спрощення інтеграції з існуючими додатками.
- Підтримка середовищ пісочниці та Flatpak.
- Підтримка плагінів у форматі SPA (Simple Plugin API) та можливість створення плагінів, які працюють у реальному часі.
- Гнучка система координації використовуваних мультимедійних форматів та розподілу буферів.
Використання одного фонового процесу для маршрутизації аудіо та відео. Можливість роботи в якості звукового сервера, концентратора для надання відео додаткам (наприклад, для API-скринінгу gnome-shell) та сервера для управління доступом до апаратних пристроїв відеозйомки.
Нарешті, зміни ще не розглянуто наглядовим комітетом Fedora Engineering (FESCo), який відповідає за технічний розвиток дистрибутиву Fedora.
Джерело: https://www.mail-archive.com