В хранилище, где разрабатывается версия Ubuntu 22.10, был внедрен мультимедийный сервер PipeWire по умолчанию для обработки звука. Пакеты, связанные с PulseAudio, удалены из наборов desktop и desktop-minimal, а для обеспечения совместимости вместо библиотек для взаимодействия с PulseAudio добавлена работающая на базе PipeWire прослойка pipewire-pulse, которая позволяет сохранить совместимость со всеми существующими клиентами PulseAudio.
Решение о полном переходе на PipeWire в Ubuntu 22.10 подтвердила Хизер Эллсуорт (Heather Ellsworth) из компании Canonical. Упоминается, что в Ubuntu 22.02 в дистрибутиве использовались оба сервиса. сървър — PipeWire использовался для обработки видео при записи скринкастов и предоставлении доступа к экрану, но звук продолжал обрабатываться с помощью PulseAudio. В Ubuntu 22.10 останется только PipeWire. Два года назад подобное изменение уже было реализовано в дистрибутиве Fedora 34, что позволило обеспечить профессиональную обработку звука, избавиться от фрагментации и унифицировать звуковую инфраструктуру для разных приложений.
PipeWire предлагает расширенную модель безопасности, позволяющую управлять доступом на уровне отдельных устройств и конкретных потоков, упрощая организацию проброса звука и видео из изолированных контейнеров и в них. PipeWire может обрабатывать любые мультимедийные потоки и способен смешивать и перенаправлять не только звуковые потоки, но и видеопотоки, а также управлять источниками видео (устройства захвата видео, веб-камеры или приложения, выводящие содержимое экрана). PipeWire также может выступать в роли звукового сервера, обеспечивающего минимальные задержки и предоставляющего функциональность, сочетающую возможности PulseAudio и JACK, учитывая потребности систем профессиональной обработки звука, на которую не мог претендовать PulseAudio.
Основни възможности:
- Захват и воспроизведение звука и видео с минимальными задержками;
- Инструменты для обработки видео и звука в реальном времени;
- Многопроцессная архитектура, позволяющая обеспечить совместный доступ к контенту нескольких приложений;
- Модел на обработка на база графа на мултимедийни възли с поддръжка на цикли на обратна връзка и атомарни актуализации на графа. Позволява свързването на обработвачи както вътре в сървера, така и на външни плъгини;
- Ефективен интерфейс за достъп до видеопотоките чрез предаване на файлови дескриптори и достъп до звука чрез споделени кръгови буфери (shared ringbuffer);
- Възможност за обработка на мултимедийни данни от всякакви процеси;
- Наличието на плъгин за GStreamer за опростяване на интеграцията с съществуващите приложения;
- Поддръжка на изолирани среди и Flatpak;
- Поддръжка на плъгини във формат SPA (Simple Plugin API) и възможност за създаване на плъгини, работещи в режим на жестоко реално време;
- Гъвкава система за съгласуване на използваните мултимедийни формати и разпределяне на буферите;
- Използване на един фонов процес за маршрутизиране на звук и видео. Възможност за работа във форма на звуков сървър, хъб за предоставяне на видео приложениям (например, за gnome-shell screencast API) и сървър за управление на достъпа до хардуерни устройства за захващане на видео.
Източник: opennet.ru
