значительный выпуск проекта , развивающего мультимедийный сервер нового поколения, который заменит PulseAudio. PipeWire расширяет возможности PulseAudio, предлагая средства для работы с видеопотоками, обеспечивая обработку звука с минимальными задержками и новую модель безопасности для управления доступом на уровне отдельных устройств и потоков. Проект поддерживается в GNOME и активно используется в Fedora Linux для записи содержимого экрана (screencasting) и совместного доступа к экрану в окружениях на базе Wayland. Код проекта написан на языке Си и pod LGPLv2.1 licencom.
Glavne в PipeWire 0.3:
- Полностью переработан планировщик обработки потоков. Изменения позволили добиться запуска прослойки для обеспечения совместимости со звуковым сервером JACK, производительность которой сопоставима с JACK2.
- Переработан и объявлен стабильным . Все последующие изменения в API планируется производить без нарушения обратной совместимости с существующими приложениями.
- В состав включён менеджер сеансов, который позволяет управлять графом мультимедийных узлов в PipeWire, а также добавлять новые потоки. В настоящее время менеджер предоставляет лишь базовый набор функций и планируется его развитие или замена на более функциональный и гибкий вариант, такой как .
- Улучшены библиотеки для обеспечения совместимости с PulseAudio, JACK и ALSA, что позволяет использовать PipeWire с существующими приложениями, предназначенными для работы с другими звуковыми системами. Библиотека для ALSA почти готова, но библиотеки для JACK и PulseAudio всё ещё требуют доработки. PipeWire пока не предназначен для полной замены PulseAudio и JACK, но в будущих выпусках вопросам совместимости будет уделено первоочередное внимание.
- В состав включены некоторые плагины GStreamer для взаимодействия с PipeWire. Плагин pipewiresrc, использующий PipeWire в качестве источника звука, в большинстве случаев работает без проблем. Плагин pipewiresink для вывода звука через PipeWire пока имеет несколько известных проблем.
- Поддержка PipeWire 0.3 в оконный менеджер Mutter, развиваемый проектом GNOME.
Podsjećamo, PipeWire proširuje primjenu PulseAudio obradom svih multimediijskih streamova i sposoban je miješati i preusmjeravati video streamove. PipeWire također pruža mogućnosti za upravljanje izvorima videa, poput uređaja za snimanje videa, webkamera ili sadržaja ekrana koji prikazuje aplikacija. Na primjer, PipeWire omogućuje zajednički rad više aplikacija s web kamerom i rješava probleme s sigurnim snimanjem sadržaja ekrana i udaljenim pristupom ekranu u Wayland okruženju.
PipeWire также может выступать в роли звукового сервера, обеспечивая минимальные задержки и предлагая функциональность, сочетающую возможности in , vključno z zahtevami profesionalnih avdio sistemov, na katere PulseAudio ni mogel vlagati. Poleg tega PipeWire ponuja napreden model varnosti, ki omogoča upravljanje dostopa na ravni posameznih naprav in določenih tokov, kar poenostavi organizacijo preusmerjanja zvoka in videa iz izoliranih kontejnerjev in vanje. Eden od glavnih ciljev je podpora samostojnim aplikacijam v formatu Flatpak in delovanje v grafičnem skladu, temelječem na Waylandu.
:
- Zajem in predvajanje zvoka in videa z minimalnimi zamudami;
- Orodja za obdelavo videa in zvoka v realnem času;
- Večprocesna arhitektura, ki omogoča skupno rabo vsebine več aplikacij;
- Model obdelave na osnovi grafa multimedijskih vozlišč s podporo povratnih zank in atomskim posodobitvam grafa. Dovoljuje povezovanje obdelovalcev tako znotraj strežnika kot zunanjih vtičnikov;
- Učinkovit vmesnik za dostop do video tokov preko prenosa datotečnih descriptorjev in dostopa do zvoka preko skupno rabljenih obročnih pomp (shared ringbuffer);
- Možnost obdelave multimedijskih podatkov iz kateregakoli procesa;
- Prisutnost vtičnika za GStreamer, ki poenostavi integracijo z obstoječimi aplikacijami;
- Podpora izoliranim okoljem in Flatpak;
- Podpora vtičnikom v formatu (Simple Plugin API) in možnost ustvarjanja vtičnikov, ki delujejo v načinu realnega časa;
- Prilagodljiv sistem usklajevanja uporabljenih multimedijskih formatov in dodeljevanja pomnilnikov;
- Uporaba enega ozadnega procesa za usmerjanje zvoka in videa. Možnost delovanja v obliki zvočnega strežnika, vozlišča za zagotavljanje videa aplikacijam (na primer za gnome-shell screencast API) in strežnika za upravljanje dostopa do strojnih naprav za video zajemanje.
Izvor: opennet.ru
