У рэпазітары, у якім вядзецца распрацоўка выпуску Ubuntu 22.10, зроблены пераход на выкарыстанне па змаўчанні мультымедыйнага сервера PipeWire для апрацоўкі гуку. Пакеты, звязаныя з PulseAudio выдаленыя з набораў desktop і desktop-minimal, а для забеспячэння сумяшчальнасці замест бібліятэк для ўзаемадзеяння з PulseAudio дададзена працавальная па-над PipeWire праслойка pipewire-pulse, якая дазваляе захаваць працу ўсіх існых кліентаў PulseAudio.
Рашэнне па поўным пераходзе на PipeWire у Ubuntu 22.10 пацвердзіла Хізэр Элсуорт (Heather Ellsworth) з кампаніі Canonical. Адзначаецца, што ў Ubuntu 22.02 у дыстрыбутыве выкарыстоўваліся абодва сервера – PipeWire ужываўся для апрацоўкі відэа пры запісе скрынкастаў і падаванні доступу да экрана, але гук працягваў апрацоўвацца з выкарыстаннем PulseAudio. У Ubuntu 22.10/34 будзе пакінуты толькі PipeWire. Два гады таму падобная змена ўжо было ўкаранёна ў дыстрыбутыве Fedora XNUMX, што дазволіла падаць магчымасці прафесійнай апрацоўкі гуку, пазбавіцца ад фрагментацыі і ўніфікаваць гукавую інфраструктуру для розных ужыванняў.
PipeWire прапануе пашыраную мадэль бяспекі, якая дазваляе кіраваць доступам на ўзроўні асобных прылад і канкрэтных патокаў, і спрашчае арганізацыю пракіду гуку і відэа з ізаляваных кантэйнераў і ў іх. PipeWire можа апрацоўваць любыя мультымедыйныя струмені і здольны змешваць і перанакіроўваць не толькі струмені з гукам, але струмені з відэа, а таксама кіраваць крыніцамі відэа (прылады захопу відэа, web-камеры ці якое выводзіцца прыкладаннямі змесціва экрана). PipeWire таксама можа выступаць у ролі гукавога сервера, які забяспечвае мінімальныя затрымкі і які прадстаўляе функцыянальнасць, якая камбінуе магчымасці PulseAudio і JACK, у тым ліку якая ўлічвае запатрабаванні сістэм прафесійнай апрацоўкі гуку, на якую не мог прэтэндаваць PulseAudio.
Асноўныя магчымасці:
- Захоп і ўзнаўленне гуку і відэа з мінімальнымі затрымкамі;
- Сродкі для апрацоўкі відэа і гуку ў рэжыме рэальнага часу;
- Шматпрацэсная архітэктура, якая дазваляе арганізаваць сумесны доступ да кантэнту некалькіх прыкладанняў;
- Мадэль апрацоўкі на падставе графа мультымедыйных вузлоў з падтрымкай цыклаў зваротнай сувязі і атамарных абнаўленняў графа. Дапушчаецца падлучэнне апрацоўшчыкаў як усярэдзіне сервера, так і вонкавых убудоў;
- Эфектыўны інтэрфейс доступу да відэаструменяў праз перадачу файлавых дэскрыптараў і доступу да гуку праз сумесна выкарыстоўваныя колцавыя буферы (shared ringbuffer);
- Магчымасць апрацоўкі мультымедыйных даных ад любых працэсаў;
- Наяўнасць плагіна да GStreamer для спрашчэння інтэграцыі з існуючымі праграмамі;
- Падтрымка ізаляваных акружэнняў і Flatpak;
- Падтрымка плагінаў у фармаце SPA (Simple Plugin API) і магчымасць стварэння плагінаў, якія працуюць у рэжыме жорсткага рэальнага часу;
- Гнуткая сістэма ўзгаднення мультымедыйных фарматаў і вылучэнні буфераў;
- Выкарыстанне аднаго фонавага працэсу для маршрутызацыі гуку і відэа. Магчымасць працы ў форме гукавога сервера, хаба для падавання відэа прыкладанням (напрыклад, для gnome-shell screencast API) і сервера для кіравання доступам да апаратных прылад захопу відэа.
Крыніца: opennet.ru