Поиск по сайту:

PipeWire и PulseAudio: в чем разница?


Классический PulseAudio или новый PipeWire? Какая разница? Что известно о Pipewire? Узнайте в этом объяснителе.

Если вы активно участвуете в сообществе Linux, вы часто сталкиваетесь со спорами о том, что лучше: PipeWire или PulseAudio?

Некоторые пользователи предпочитают вернуться к PulseAudio, в то время как другие находят гораздо более эффективным решение своих десятилетних проблем со звуком. Итак, вопрос: в чем разница между PipeWire и PulseAudio? 🤔

Конечно, PipeWire — относительно новая технология, у нее должна быть цель, и именно поэтому она заменяет PulseAudio во многих дистрибутивах Linux. Это не означает, что PulseAudio вообще не работает. Он очень хорошо послужил своим пользователям, но, безусловно, имеет свои плюсы и минусы.

Не волнуйтесь, я выделю все важное, что касается мультимедийной платформы PipeWire и программы звукового сервера PulseAudio.

Основы аудио в Linux

В настоящее время каждая материнская плата (ПК/ноутбук) имеет внутреннюю звуковую карту — аппаратный компонент, который используется для преобразования аналоговых аудиосигналов в цифровые сигналы для записи и потоковой передачи.

Конечно, у некоторых может быть внешняя звуковая карта для аудио, но это редкость.

Итак, нам нужен какой-то драйвер (или промежуточное программное обеспечение) для взаимодействия с оборудованием и работы с такими приложениями, как аудиоредакторы в Linux, верно?

И именно здесь вступает в игру роль ALSA (Advanced Linux Sound Architecture).

ALSA (встроенная в ядро Linux) предоставляет необходимые диски устройств для чтения и записи со звуковой карты. Вы найдете несколько приложений, которые напрямую используют ALSA, например VLC для вывода и Audacity, которые могут напрямую записывать звук через ALSA.

Дело в том, что многие приложения используют ALSA API напрямую, без необходимости использования аудиосервера, такого как PulseAudio или PipeWire.

Но вы не можете полагаться на ALSA, поскольку он возьмет на себя управление всем звуковым устройством, поэтому вы можете использовать его только для обработки одного приложения одновременно. Поэтому никакого аппаратного мультиплексирования.

По этой причине нам требуется аудиосервер, такой как PulseAudio или PipeWire.

Появление PulseAudio решило три основные проблемы, которые возникли у нас с ALSA:

  • Воспроизведение звука из нескольких приложений одновременно.

  • Он имел расширенные функции, такие как микширование нескольких аудиопотоков, потоковое аудио, регулировка громкости для каждого приложения и т. д.

  • Простота использования.

Итак, вот как выглядит базовая структура звука, исходя из предыдущего объяснения:

Теперь у нас есть представление о том, как работает звук в Linux. Давайте углубимся глубже, чтобы узнать разницу между двумя аудиосерверами, которые делают нашу работу с Linux лучше.

Рекомендуется прочитать 📖

Сравнение аудиосерверов: PipeWire и PulseAudio

Нам нужно знать, что это такое, как они работают и набор функций, чтобы понять, чем они отличаются.

Конечно, самое простое — одна технология более новая, а другая — старая.

Позвольте мне выделить остальные детали ниже, включая часть интересной информации, связанной с аудиосерверами.

💡
JACK (JACK Audio Connection Kit), аудиосервер, созданный для профессиональных аудиохудожников, который решил одну проблему с PulseAudio: перенаправление вывода на любой вход. Проще говоря, это работало как физическая патч-панель.

Старая технология PulseAudio. Причина, по которой он не завоевал популярность, заключалась в том, что он был сложен в использовании и несовместим с PulseAudio.

PulseAudio: старый хранитель аудио в Linux

PulseAudio — это очень простой аудиосервер, разработанный для систем Linux. Первоначально он был известен как «Polypaudio», а затем был переименован.

Он был создан как современная альтернатива ESD (Enlightened Sound Daemon). ESD — это звуковой сервер, поддерживаемый в рамках проекта GNOME как технология унификации звуковых драйверов для всех типов архитектур.

Если это POSIX-совместимая операционная система (дистрибутив), PulseAudio может быть для нее звуковой серверной системой.

Кроме того, PulseAudio поставляется с различными модулями плагинов, что делает его очень подходящим для множества случаев использования. PulseAudio используется не только на настольных компьютерах, но и на различных мобильных устройствах.

PipeWire: лучшее от PulseAudio и JACK

PipeWire — это мультимедийная платформа (и программа аудиосервера), которая предоставляет расширенные функции для работы с современными аудиоустройствами и при этом является простой утилитой для конечных пользователей.

Помните, что я говорил выше о ДЖЕКЕ?

Он предлагал отличные функции, но имел проблемы с совместимостью с существующей настройкой PulseAudio. Если этого было недостаточно, его использование было сложным, и его было трудно рекомендовать, если вы не являетесь профессионалом в области звука. С другой стороны, PulseAudio был удобен для пользователя и имел устаревшую поддержку, но у него были свои проблемы.

Поэтому нам нужна была простая утилита, совместимая с другими аудиосерверами, такими как PulseAudio, решающая все проблемы PulseAudio и предлагающая лучший набор функций.

Вот тут-то на помощь и пришел PipeWire.

PipeWire также разработан таким образом, чтобы обеспечить лучшую безопасность при взаимодействии с аудио/видео устройствами через контейнерные приложения, в первую очередь поддерживающие Flatpak.

Он не только обеспечивает лучшую совместимость с новыми пакетами, но и поддерживает Wayland.

Как они работают?

PulseAudio использует архитектуру клиент/сервер. Могут быть разные клиенты с разными API, а также локальные/удаленные серверы PulseAudio.

И все это должно безупречно работать с помощью модулей. Да, PulseAudio функционирует через свои модули, это не что иное, как просто демон для API и модулей хостинга.

По умолчанию PulseAudio использует конфигурацию, доступную для всей системы. Однако вы можете предоставить собственный файл конфигурации в домашнем каталоге, и при следующей загрузке он будет использовать его.

PipeWire работает по-другому, не полагаясь в первую очередь на систему модулей. Демон отвечает за обработку, а менеджер сеансов использует медиаграф (информацию об устройствах, портах и узлах), чтобы решить, как их все связать.

В отличие от PulseAudio, предназначенного только для потребительского аудио, PipeWire удовлетворяет всем требованиям низкой задержки для обычных пользователей и профессионалов (в качестве альтернативы JACK).

Я просмотрел сотни сообщений в сообществе, в которых пользователи хвалили PipeWire за устранение потрескивающего звука или находили идеальное решение для замены JACK, отличающееся простотой использования и большей надежностью.

Итак, это работает так, как должно. И технически это лучший выбор для многих.

Ключевая особенность

PulseAudio все еще используется, даже если его заменяет PipeWire.

Некоторые из лучших функций, которые делают PulseAudio полезной технологией, включают:

  • Возможность регулировки громкости для каждого программного обеспечения независимо

  • Поддержка мультиплексирования звука, позволяющая пользователям одновременно воспроизводить звук из нескольких приложений.

  • Потоковое аудио через TCP-сервер

  • Архитектура памяти PulseAudio с нулевым копированием позволяет передавать аудиоданные между приложениями и аудиоустройствами без ненужного копирования или буферизации для снижения задержки и лучшего управления ресурсами.

  • Обеспечивает уровни совместимости для существующих приложений для работы с ними без каких-либо изменений.

  • Разнообразие модулей для обеспечения всех видов основных функций.

PipeWire выигрывает в игре с набором функций, поэтому ему отдают предпочтение перед PulseAudio.

Итак, что же выделяет его? Вот они:

  • Единое решение, призванное заменить PulseAudio и JACK и предоставить решение как базовым, так и профессиональным пользователям.

  • Лучшая поддержка низкой задержки

  • Совместимость с API PulseAudio и JACK.

  • Виртуальная поддержка всех кодеков Bluetooth по умолчанию.

  • Эффективен при объединении устройств и повторной выборке

  • Он может динамически переключаться между различными размерами буфера, чтобы адаптироваться к различным требованиям к задержке различных аудиоприложений.

  • Поддержка приложений Flatpak

  • Поддержка рабочего стола Wayland

Рекомендуется прочитать 📖

Что я думаю о PulseAudio и PipeWire?

Начну с «Если не сломалось, не чини».😎

Еще не все дистрибутивы Linux перешли на PipeWire, и некоторые пользователи наслаждаются звуком так же, как раньше с PulseAudio. Я использую PulseAudio, поскольку он отлично работает с моей настройкой объемного звучания 5.1. Так что у меня нет причин менять.

Пользователи современных наушников Bluetooth или если у вас плохое качество звука при использовании PulseAudio, вы можете переключиться на PipeWire.

Самый простой способ сделать это — выбрать дистрибутив Linux, который предлагает PipeWire «из коробки».

Если вы хотите попробовать PipeWire из любопытства, обязательно создайте снимок вашей рабочей системы, прежде чем устанавливать ее вручную:

Статьи по данной тематике: