03.02.2023

Ubuntu 22.10 перейдёт на обработку звука при помощи PipeWire вместо PulseAudio

В репозитории, в котором ведётся разработка выпуска 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 может обрабатывать любые мультимедийные потоки и способен смешивать и перенаправлять не только потоки со звуком, но потоки с видео, а также управлять источниками видео (устройства захвата видео, web-камеры или выводимое приложениями содержимое экрана). PipeWire также может выступать в роли звукового сервера, обеспечивающего минимальные задержки и предоставляющего функциональность, комбинирующую возможности PulseAudio и JACK, в том числе учитывающую потребности систем профессиональной обработки звука, на которую не мог претендовать PulseAudio.

Основные возможности:

  • Захват и воспроизведение звука и видео с минимальными задержками;
  • Средства для обработки видео и звука в режиме реального времени;
  • Многопроцессная архитектура, позволяющая организовать совместный доступ к контенту нескольких приложений;
  • Модель обработки на основании графа мультимедийных узлов с поддержкой циклов обратной связи и атомарных обновлений графа. Допускается подключение обработчиков как внутри сервера, так и внешних плагинов;
  • Эффективный интерфейс доступа к видеопотокам через передачу файловых дескрипторов и доступа к звуку через совместно используемые кольцевые буферы (shared ringbuffer);
  • Возможность обработки мультимедийных данных от любых процессов;
  • Наличие плагина к GStreamer для упрощения интеграции с существующими приложениями;
  • Поддержка изолированных окружений и Flatpak;
  • Поддержка плагинов в формате SPA (Simple Plugin API) и возможность создания плагинов, работающих в режиме жесткого реального времени;
  • Гибкая система согласования используемых мультимедийных форматов и выделения буферов;
  • Использование одного фонового процесса для маршрутизации звука и видео. Возможность работы в форме звукового сервера, хаба для предоставления видео приложениям (например, для gnome-shell screencast API) и сервера для управления доступом к аппаратным устройствам захвата видео.

Источник.