Разработчики Fedora выпустили в последнее время для чего следующая версия Fedora 34, планируются серьезные изменения для все аудиопотоки со звуковых серверов PulseAudio и JACK в PipeWire.
Использование PipeWire позволяет предлагать профессиональные возможности обработки звука В типичной настольной версии устраните фрагментацию и унифицируйте свою аудиоинфраструктуру для различных приложений.
В настоящее время, Fedora Workstation использует фоновый процесс 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 с потоковым видео, обработкой звука с малой задержкой и новой моделью безопасности для управления передачей и доступом к устройствам.
Трубопровод также предоставляет возможности управления источниками видео например, устройства видеозахвата, веб-камеры или содержимое экрана вывода приложений. Проект совместим с GNOME и уже широко используется в Fedora Linux для демонстрации экрана и совместного использования экрана в средах на основе Wayland.
Трубопровод также может действовать как звуковой сервер с низкой задержкой с функциональностью, объединяющей возможности PulseAudio и JACK, даже для потребностей профессиональных систем обработки звука, на которые PulseAudio не может претендовать.
Также PipeWire предлагает улучшенную модель безопасности Он обеспечивает управление доступом для конкретных устройств и потоков и упрощает маршрутизацию аудио и видео в изолированные контейнеры и из них.
Ключевая особенность:
- Захват и воспроизведение аудио и видео с минимальной задержкой.
- Инструменты для обработки видео и аудио в реальном времени.
- Многопоточная архитектура, которая позволяет разделять контент между несколькими приложениями. Управление и обработка мультимедийной графики осуществляется в разных процессах.
- Графическая модель обработки мультимедийных узлов с поддержкой циклов обратной связи и атомарных обновлений графики.
- Допускается подключение драйверов как внутри сервера, так и внешних плагинов.
- Эффективный интерфейс для доступа к видеопотокам путем передачи дескрипторов файлов и доступа к звуку через общие буферы.
- Возможность обрабатывать мультимедийные данные из любого процесса.
- Наличие плагина для GStreamer для упрощения интеграции с существующими приложениями.
- Поддержка сред песочницы и Flatpak.
- Поддержка плагинов в формате SPA (Simple Plugin API) и возможность создавать плагины, работающие в реальном времени.
- Гибкая система согласования используемых мультимедийных форматов и распределения буферов.
Использование единого фонового процесса для маршрутизации аудио и видео. Возможность работать в качестве звукового сервера, концентратора для предоставления видео приложениям (например, для API-интерфейса gnome-shell screencast) и сервера для управления доступом к аппаратным устройствам видеозахвата.
Наконец, изменение еще не было рассмотрено Руководящим комитетом по разработке Fedora (FESCo), который отвечает за техническую разработку дистрибутива Fedora.
источник: https://www.mail-archive.com