Апублікаваны выпуск праекта PipeWire 0.3.35, які развівае мультымедыйны сервер новага пакалення, які ідзе на замену PulseAudio. PipeWire валодае пашыранымі ў параўнанні з PulseAudio сродкамі для працы са струменямі відэа, магчымасцю апрацоўкі гуку з мінімальнымі затрымкамі і новай мадэллю бяспекі для кіравання доступам на ўзроўні асобных прылад і струменяў. Праект падтрымліваецца ў GNOME і ўжо па змаўчанні прымяняецца ў Fedora Linux. Код праекту напісаны на мове Сі і распаўсюджваецца пад ліцэнзіяй LGPLv2.1.
Асноўныя змены ў PipeWire 0.3.35:
- Дададзена падтрымка пракіду пратаколу S/PDIF для перадачы лічбавага гуку праз аптычныя раздымы і HDMI.
- Кодэкі для Bluetooth вынесены ў асобныя плагіны, якія загружаюцца дынамічна.
- Унесена серыя важных выпраўленняў, звязаных з падтрымкай MIDI.
- Палепшана праца прыкладання skypeforlinux, за кошт дадання прывязкі, якая прымусова ўключае выкарыстанне фармату S16 пры перадачы звестак аб прыладах уводу і вываду гуку. Змена дазволіла вырашыць праблему, якая прыводзіць да адсутнасці гуку ад абанента з іншага канца злучэння.
- Пашырана колькасць гукавых фарматаў, даступных для міксавання.
- Дададзены новы інтэрфейс для загрузкі модуляў. Убудовы могуць выкарыстоўваць дадзены інтэрфейс для адпраўкі запыту на загрузку spa-плагінаў.
- Павялічаны памер буфера параметраў, які раней мог не мясціць усе ўласцівасці вузлоў з вялікім лікам каналаў.
- Забяспечана актывацыя драйвераў пры ўстаноўцы зацыкленых злучэнняў (Loopback).
- У серверы рэалізавана пашырэнне device-restore, якое дазваляе праз утыліту pavucontrol наладзіць кодэкі IEC958 (S/PDIF), якія падтрымліваюцца прыладай высновы гуку.
Нагадаем, 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