[ON] Опубликован мультимедийный сервер PipeWire 1.6.0

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6001
ОС: gnu/linux

[ON] Опубликован мультимедийный сервер PipeWire 1.6.0

Сообщение rssbot »

После почти года разработки сформирована новая стабильная ветка мультимедийного сервера PipeWire 1.6.0, пришедшего на смену звуковому серверу PulseAudio и отличающегося от него добавлением средств для работы с потоками видео, возможностью обработки звука с минимальными задержками и новой моделью безопасности для управления доступом на уровне отдельных устройств и потоков. Проект по умолчанию применяется в Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE и многих других дистрибутивах Linux. Код написан на языке Си и распространяется под лицензией MIT.



PipeWire базируется на многопроцессной архитектуре, позволяющей организовать совместный доступ к контенту нескольких приложений.
Предоставляются возможности для обработки любых мультимедийных потоков, смешивания и перенаправления потоков с видео, а также управления источниками видео, такими как устройства захвата видео, web-камеры или выводимое приложениями содержимое экрана. PipeWire даёт возможность организовать совместную работу нескольких приложений с веб-камерой и решает проблемы с безопасным захватом содержимого экрана и удалённым доступом к экрану в окружении Wayland.



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


В новой версии:
  • Добавлен декодировщик для звукового кодека LDAC, применяемого для передачи высококачественного звука поверх Bluetooth. Для декодирования задействована библиотека libldac.
  • Добавлена опция "bluez5-plc-spandsp" для компенсации потери пакетов при передаче звука поверх Bluetooth, используя возможности библиотеки SpanDSP.
  • Добавлена безопасная реализация функций разбора и создания сериализированных объектов в формате POD (Plain Old Data) в разделяемой памяти.
  • Реализована возможность передачи через метаданные информации о поддержке узлами PipeWire дополнительных возможностей (features), что может использоваться для синхронизации использования расширенной функциональности, такой как поддержка операции RELEASE.
  • Добавлена поддержка прикрепления дополнительных пользовательских данных в передаваемые между узлами команды и события.
  • Реализованы дополнительные вспомогательные функции для создания и разбора форматов сжатия.
  • Выставляемый по умолчанию лимит на максимальное число каналов увеличен до 128. Добавлена возможность переопределения данного лимита на этапе компиляции.
  • Добавлена настройка "audio.layout" для выставления схемы многоканального объёмного звука (например, "audio.layout = 5.1") без необходимости перечисления позиции каналов ("audio.position = [ FL, FR, FC, LFE, SL, SR ]").
  • Добавлен механизм "Capability Params" для согласования возможностей линка на стадии до определения формата и буферов.
  • Добавлена поддержка новых типов цветового представления (colortype) для HDR.
  • В циклах обработки событий реализована поддержка блокировок с инверсией приоритетов, предотвращающих ситуации, когда высокоприоритетному потоку приходится ждать освобождения блокировки, выставленной низкоприоритетным потоком. Для синхронизации состояния между потоками вместо epoll и eventfd задействованы легковесные блокировки.
  • Добавлена поддержка определения позиции канала через разбор данных
    EDID.
  • Обеспечена передача в подсистему ALSA карты каналов объемного звука (какой канал справа, какой слева и т.п.).
  • Внесено множество улучшений, связанных с Bluetooth, RTP (Real-time Transport Protocol) и AVB (Audio Video Bridging).
  • Продолжена работа над реализацией сетевого протокола Milan для передачи мультимедийных данных в режиме реального времени.
  • В систему изменения частоты дискретизации (resampler) добавлена поддержка настраиваемых функций подавления искажений, таких как Blackman и Kaiser. Для повышения точности расчёта фаз задействованы вычисления с фиксированной запятой.
  • Предоставлена возможность применения в графе узлов звуковых фильтров FFmpeg и AI-моделей для обработки звука на базе ONNX, таких как детектор голоса Silero.
  • Прекращена поддержка клиентов, использующих протокол v0, применявшийся в ранних версиях PipeWire.
  • В модуль jack-tunnel добавлена поддержка автоматического подключения портов.
  • Для системы потокового вещания ROC реализована поддержка многотрековых раскладок.
  • Предоставлена возможность изменения лимитов на ресурсы (rlimit) через файл конфигурации.
  • Добавлено свойство "thread.reset-on-fork" для управления сбросом потоков при вызове fork.
    Для клиентов JACK для повторения поведения JACK можно отключать сброс потоков через выставление "thread.reset-on-fork=false".
  • Добавлен флаг node.exclusive, который гарантирует, что у порта имеется только один источник и один потребитель, что необходимо для реализации механизма
    Explicit Sync.
  • Добавлен флаг node.reliable для режима гарантированной доставки.
  • В утилиту pw-cat добавлена поддержка MIDI-сообщений SysEx (System Exclusive, для настройки синтезаторов), контейнера midiclip и форматов звука без сжатия. Добавлены опции для выставления форматов звуковых контейнеров и кодеков, а также просмотра списка поддерживаемых контейнеров, кодеков, раскладок объёмного звука и имён каналов.


Источник: https://www.opennet.ru/opennews/art.shtml?num=64830
(opennet.ru, основная лента)
Спасибо сказали: