Objavljen je multimedijski poslužitelj PipeWire 1.6.0

Nakon gotovo godine dana razvoja, formirana je nova stabilna verzija multimedijskog servera PipeWire 1.6.0, koji je zamijenio audio server PulseAudio i razlikuje se od njega po dodavanju alata za rad s video streamovima, mogućnosti obrade zvuka s minimalnim kašnjenjima te novom sigurnosnom modelu za upravljanje pristupom na razini pojedinih uređaja i streamova. Projekt se po defaultu koristi u Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE i mnogim drugim Linux distribucijama. Kod je napisan u programskom jeziku C i distribuira se pod MIT licencom.

PipeWire se temelji na višekratnoj arhitekturi koja omogućuje zajednički pristup sadržaju više aplikacija. Pruža mogućnosti obrade svih multimedijskih streamova, miješanja i preusmjeravanja video streamova, kao i upravljanja izvorima videa, poput uređaja za snimanje videa, web-kamera ili sadržaja ekrana koji proizvode aplikacije. PipeWire omogućuje suradnju više aplikacija s web-kamerom i rješava probleme sigurnog snimanja sadržaja ekrana i daljinskog pristupa ekranu unutar okruženja Wayland.

Kada se koristi kao audio poslužitelja, PipeWire može osigurati minimalna kašnjenja i pružiti funkcionalnost koja kombinira mogućnosti PulseAudio i JACK, uzimajući u obzir potrebe profesionalnih audio sustava, što PulseAudio nije mogao ostvariti. PipeWire nudi napredni sigurnosni model koji omogućuje upravljanje pristupom na razini pojedinih uređaja i specifičnih streamova. Implementirani model pristupa olakšava prosljeđivanje zvuka i videa iz izoliranih kontejnera i prema njima.

U novoj verziji:

  • Dodavan je dekoder za audio kodek LDAC, korišten za prijenos visokokvalitetnog zvuka putem Bluetootha. Za dekodiranje koristi se knjižnica libldac.
  • Dodana je opcija „bluez5-plc-spandsp“ za kompenzaciju gubitka paketa prilikom prijenosa zvuka putem Bluetootha, koristeći mogućnosti knjižnice SpanDSP.
  • Dodana je sigurna implementacija funkcija za parsiranje i kreiranje serijaliziranih objekata u formatu POD (Plain Old Data) u zajedničkoj memoriji.
  • Implementirana je mogućnost prijenosa informacija o podršci od strane PipeWire čvorova putem metapodataka za dodatne mogućnosti (features), što se može koristiti za usklađivanje korištenja proširenih funkcionalnosti, poput podrške za operaciju RELEASE.
  • Dodana je podrška za pridruživanje dodatnih korisničkih podataka u naredbe i događaje koji se prenose između čvorova.
  • Implementirane su dodatne pomoćne funkcije za izradu i analizu formata kompresije.
  • Zadani limit za maksimalan broj kanala povećan je na 128. Dodana je mogućnost nadjačavanja ovog limita tijekom kompilacije.
  • Dodana je postavka "audio.layout" za postavljanje sheme višekanalnog prostornog zvuka (na primjer, "audio.layout = 5.1") bez potrebe za navođenjem pozicija kanala ("audio.position = [ FL, FR, FC, LFE, SL, SR ]").
  • Dodan je mehanizam "Capability Params" za usklađivanje mogućnosti veze prije određivanja formata i bafera.
  • Dodana je podrška za nove vrste prikaza boja (colortype) za HDR.
  • U ciklusima obrade događaja implementirana je podrška za zaključavanja s obratnim prioritetima, sprječavajući situacije kada viši prioritetni tok mora čekati na otpuštanje zaključavanja koje je postavio niži prioritetni tok. Za usklađivanje stanja između tokova umjesto epoll i eventfd korištena su lagana zaključavanja.
  • Dodana je podrška za određivanje pozicije kanala putem analize EDID podataka.
  • Osigurana je transmisija u ALSA podnositelj kanala prostornog zvuka (koji kanal je desno, koji lijevo itd.).
  • Uneseni su mnogi poboljšanja vezani uz Bluetooth, RTP (Real-time Transport Protocol) i AVB (Audio Video Bridging).
  • Nastavljeno je rad na implementaciji mrežnog protokola Milan za prijenos multimedijskih podataka u stvarnom vremenu.
  • Sistemu za promjenu frekvencije uzorkovanja (resampler) dodana je podrška za prilagodljive funkcije suzbijanja izobličenja, poput Blackman i Kaiser. Za povećanje točnosti proračuna faza korišteni su izračuni s fiksnom zarezom.
  • Omogućena je primjena u grafu čvorova zvučnih filtera FFmpeg i AI modela za obradu zvuka temeljenog na ONNX, poput detektora glasa Silero.
  • Prekinuta je podrška za klijente koji koriste protokol v0, korišten u ranim verzijama PipeWire.
  • Modul jack-tunnel sada podržava automatsko povezivanje portova.
  • Za ROC sustav streaminga implementirana je podrška za višestazne rasporede.
  • Omogućena je promjena ograničenja resursa (rlimit) putem konfiguracijske datoteke.
  • Dodana je opcija «thread.reset-on-fork» za kontrolu resetiranja niti prilikom poziva fork. Za JACK klijente, kako bi se ponovilo ponašanje JACK-a, resetiranje niti može se onemogućiti postavljanjem «thread.reset-on-fork=false».
  • Dodana je oznaka node.exclusive koja jamči da port ima samo jedan izvor i jednog potrošača, što je potrebno za implementaciju mehanizma Explicit Sync.
  • Dodana je oznaka node.reliable za način garantirane dostave.
  • U alat pw-cat dodana je podrška za MIDI poruke SysEx (System Exclusive, za podešavanje sintesajzera), midiclip kontejner i nekomprimirane audio formate. Dodane su opcije za postavljanje formata audio kontejnera i kodeka, kao i pregled popisa podržanih kontejnera, kodeka, rasporeda prostornog zvuka i imena kanala.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster