Available ang Multimedia server na PipeWire 0.3, na pinapalitan ang PulseAudio

Nai-publish makabuluhang pagpapalabas ng proyekto PipeWire 0.3.0, pagbuo ng isang bagong henerasyong multimedia server upang palitan ang PulseAudio. Pinapalawak ng PipeWire ang mga kakayahan ng PulseAudio sa pagpoproseso ng video stream, low-latency na pagproseso ng audio, at isang bagong modelo ng seguridad para sa kontrol sa pag-access sa antas ng device at stream. Ang proyekto ay suportado sa GNOME at aktibong ginagamit sa Fedora Linux para sa pag-record ng screen at pagbabahagi ng screen sa mga kapaligirang nakabatay sa Wayland. Ang code ng proyekto ay nakasulat sa C at ipinamahagi ni lisensyado sa ilalim ng LGPLv2.1.

Ang pangunahing pagbabago sa PipeWire 0.3:

  • Ang thread processing scheduler ay ganap na muling idisenyo. Ang mga pagbabago ay naging posible na magpatakbo ng isang layer upang matiyak ang pagiging tugma sa JACK sound server, ang pagganap nito ay maihahambing sa JACK2.
  • Muling ginawa at idineklara na stable API. Ang lahat ng karagdagang pagbabago sa API ay binalak na gawin nang hindi sinisira ang backward compatibility sa mga umiiral nang application.
  • Kabilang dito ang isang session manager na nagbibigay-daan sa iyong pamahalaan ang graph ng mga multimedia node sa PipeWire, pati na rin magdagdag ng mga bagong stream. Sa ngayon, ang tagapamahala ay nagbibigay lamang ng isang simpleng hanay ng mga pangunahing pag-andar at sa hinaharap ay palalawakin o papalitan ito ng isang mas functional at flexible na opsyon, gaya ng WirePlumber.
  • Ang mga kasamang aklatan ay napabuti upang magbigay ng compatibility sa PulseAudio, JACK at ALSA, na nagpapahintulot sa PipeWire na magamit sa mga umiiral nang application na idinisenyo upang gumana sa iba pang mga audio system. Ang library para sa ALSA ay halos handa na, ngunit ang mga library para sa JACK at PulseAudio ay nangangailangan pa rin ng trabaho. Ang PipeWire ay hindi pa handang ganap na palitan ang PulseAudio at JACK, ngunit ang mga isyu sa compatibility ay magiging priyoridad sa mga susunod na release.
  • Kasama ang ilang plugin ng GStreamer para sa pakikipag-ugnayan sa PipeWire. Ang pipewiresrc plugin, na gumagamit ng PipeWire bilang isang audio source, ay gumagana nang walang problema sa karamihan ng mga sitwasyon. Ang pipewiresink plugin para sa audio output sa pamamagitan ng PipeWire ay wala pang ilang kilalang problema.
  • Suporta sa PipeWire 0.3 pinagsama-sama sa Mutter window manager na binuo ng proyekto ng GNOME.

Paalalahanan ka namin na pinalalawak ng PipeWire ang saklaw ng PulseAudio sa pamamagitan ng pagproseso ng anumang mga multimedia stream at may kakayahang maghalo at mag-redirect ng mga video stream. Nagbibigay din ang PipeWire ng mga kakayahan upang kontrolin ang mga pinagmumulan ng video, tulad ng mga video capture device, web camera, o nilalaman ng screen ng application. Halimbawa, pinapayagan ng PipeWire ang maramihang mga webcam application na magtulungan at malulutas ang mga problema sa secure na screen capture at remote na access sa screen sa Wayland environment.

Ang PipeWire ay maaari ding kumilos bilang isang audio server, na nagbibigay ng minimal na latency at pinagsama-samang functionality PulseAudio ΠΈ JACK, kabilang ang pagsasaalang-alang sa mga pangangailangan ng mga propesyonal na audio processing system, na hindi ma-claim ng PulseAudio. Bukod pa rito, nag-aalok ang PipeWire ng advanced na modelo ng seguridad na nagbibigay-daan sa kontrol sa pag-access sa antas ng device at stream, at ginagawang mas madali ang pagruta ng audio at video papunta at mula sa mga nakahiwalay na lalagyan. Isa sa mga pangunahing layunin ay upang suportahan ang mga self-contained na Flatpak na application at tumakbo sa isang Wayland-based na graphics stack.

Ang pangunahing pagkakataon:

  • Kumuha at mag-playback ng audio at video na may kaunting pagkaantala;
  • Mga tool para sa pagproseso ng video at audio sa real time;
  • Multiprocess architecture na nagbibigay-daan sa iyo upang ayusin ang nakabahaging pag-access sa nilalaman ng ilang mga application;
  • Isang modelo ng pagpoproseso batay sa isang graph ng mga multimedia node na may suporta para sa mga feedback loop at mga update sa atomic graph. Posibleng ikonekta ang mga humahawak sa loob ng server at panlabas na mga plugin;
  • Isang mahusay na interface para sa pag-access ng mga video stream sa pamamagitan ng paglilipat ng mga descriptor ng file at pag-access ng audio sa pamamagitan ng mga nakabahaging ring buffer;
  • Kakayahang magproseso ng data ng multimedia mula sa anumang mga proseso;
  • Availability ng isang plugin para sa GStreamer upang pasimplehin ang pagsasama sa mga umiiral nang application;
  • Suporta para sa mga nakahiwalay na kapaligiran at Flatpak;
  • Suporta para sa mga plugin sa format SPA (Simple Plugin API) at ang kakayahang lumikha ng mga plugin na gumagana nang husto sa real time;
  • Flexible na sistema para sa pag-coordinate ng mga ginamit na format ng multimedia at paglalaan ng mga buffer;
  • Paggamit ng isang proseso sa background upang iruta ang audio at video. Ang kakayahang magtrabaho sa anyo ng isang audio server, isang hub para sa pagbibigay ng video sa mga application (halimbawa, para sa gnome-shell screencast API) at isang server para sa pamamahala ng access sa mga hardware na video capture device.

Pinagmulan: opennet.ru

Magdagdag ng komento