Опубликован выпуск проекта PipeWire 0.3.33, развивающего мультимедийный сервер нового поколения, идущий на замену PulseAudio. PipeWire расширяет возможности PulseAudio средствами для работы с потоками видео, возможностью обработки звука с минимальными задержками и новой моделью безопасности для управления доступом на уровне отдельных устройств и потоков. Проект поддерживается в GNOME и уже по умолчанию применяется в Fedora Linux. Код проекта написан на языке Си и распространяется под лицензией LGPLv2.1.
Основні зміни в PipeWire 0.3.33:
- Реалізовано можливість автоматичного перемикання між Bluetooth-профілями HSP (режим гарнітури) та A2DP (високоякісний висновок звуку).
- У профілі Pro Audio покращена підтримка віртуальних джерел та пристроїв виведення звуку.
- Поліпшено узгодження модифікаторів формату при сумісному використанні буферів прямого доступу до пам'яті (DMA-BUF) кількома клієнтами.
- У графі мультимедійних вузлів реалізовано підтримку одночасного використання кількох частот дискретизації (за замовчуванням вимкнено).
- У прошарку для сумісності з PulseAudio реалізовано модуль module-switch-on-connect для емуляції поведінки PulseAudio при підключенні нових пристроїв.
Нагадаємо, PipeWire розширює сферу застосування PulseAudio обробкою будь-яких мультимедійних потоків і здатний змішувати та перенаправляти потоки з відео. PipeWire також надає можливості для керування джерелами відео, такими як пристрої захоплення відео, web-камери або вміст екрана, що виводиться додатками. Наприклад, PipeWire дає можливість організувати спільну роботу кількох програм з веб-камерою і вирішує проблеми з безпечним захопленням вмісту екрана та віддаленим доступом до екрану в оточенні Wayland.
PipeWire також може виступати в ролі звукового сервера, що забезпечує мінімальні затримки та надає функціональність, що комбінує можливості PulseAudio і JACK, у тому числі враховує потреби систем професійної обробки звуку, на яку не міг претендувати PulseAudio. Крім того, PipeWire пропонує розширену модель безпеки, що дозволяє керувати доступом на рівні окремих пристроїв та конкретних потоків, і спрощує організацію прокидання звуку та відео із ізольованих контейнерів та в них. Однією з головних цілей є підтримка самодостатніх програм у форматі Flatpak і робота в графічному стеку на базі Wayland.
Основні можливості:
- Захоплення та відтворення звуку та відео з мінімальними затримками;
- Засоби для обробки відео та звуку в режимі реального часу;
- багатопроцесна архітектура, що дозволяє організувати спільний доступ до контенту декількох додатків;
- Модель обробки на основі графа мультимедійних вузлів за допомогою циклів зворотного зв'язку та атомарних оновлень графа. Допускається підключення обробників як усередині сервера, так і зовнішніх плагінів;
- Ефективний інтерфейс доступу до відеопотоків через передачу файлових дескрипторів та доступу до звуку через спільно використовувані кільцеві буфери (shared ringbuffer);
- можливість обробки мультимедійних даних від будь-яких процесів;
- Наявність плагіна GStreamer для спрощення інтеграції з існуючими додатками;
- Підтримка ізольованих оточень та Flatpak;
- Підтримка плагінів у форматі SPA (Simple Plugin API) та можливість створення плагінів, що працюють у режимі жорсткого реального часу;
- Гнучка система узгодження мультимедійних форматів і виділення буферів;
- Використання одного фонового процесу для маршрутизації звуку та відео. Можливість роботи у формі звукового сервера, хаба для надання відео додатків (наприклад, для gnome-shell screencast API) та сервера для керування доступом до апаратних пристроїв захоплення відео.
Джерело: opennet.ru
