Byl zveřejněn multimediální server PipeWire 1.6.0

Po téměř roce vývoje byla vytvořena nová stabilní větev multimediálního serveru PipeWire 1.6.0, který nahradil zvukový server PulseAudio a od něj se liší přidáním prostředků pro práci s video streamy, možností zpracování zvuku s minimálními zpožděními a novým bezpečnostním modelem pro řízení přístupu na úrovni jednotlivých zařízení a streamů. Projekt je ve výchozím nastavení používán v Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE a mnoha dalších distribucích Linuxu. Kód je napsán v jazyce C a je distribuován pod licencí MIT.

PipeWire je založen na vícestupňové architektuře, která umožňuje sdílený přístup k obsahu několika aplikací. Nabízí možnosti pro zpracování jakýchkoli multimediálních streamů, míchání a přesměrování video streamů, stejně jako řízení zdrojů videa, jako jsou zařízení pro zachytávání videa, webkamery nebo výstup z aplikací na obrazovce. PipeWire umožňuje organizovat spolupráci několika aplikací s webkamerou a řeší problémy s bezpečným zachycováním obsahu obrazovky a vzdáleným přístupem k obrazovce v prostředí Wayland.

Při použití jako zvukový serveru, může PipeWire zajistit minimální latence a poskytnout funkcionalitu, která kombinuje možnosti PulseAudio a JACK, zohledňující potřeby systémů profesionálního zpracování zvuku, na které PulseAudio nemohl pomýšlet. PipeWire nabízí rozšířený bezpečnostní model, který umožňuje řízení přístupu na úrovni jednotlivých zařízení a konkrétních streamů. Realizovaný model přístupu usnadňuje přesměrování zvuku a videa z izolovaných kontejnerů a do nich.

V nové verzi:

  • Byl přidán dekodér pro zvukový kodek LDAC, který se používá pro přenos vysoce kvalitního zvuku přes Bluetooth. K dekódování byla použita knihovna libldac.
  • Byla přidána možnost „bluez5-plc-spandsp“ pro kompenzaci ztráty paketů při přenosu zvuku přes Bluetooth, využívající možnosti knihovny SpanDSP.
  • Byla přidána bezpečná implementace funkcí pro analýzu a vytváření serializovaných objektů ve formátu POD (Plain Old Data) v sdílené paměti.
  • Byla implementována možnost přenášení informací o podporovaných funkcích uzly PipeWire prostřednictvím metadat, což může být využito pro synchronizaci pokročilé funkčnosti, jako je podpora operace RELEASE.
  • Byla přidána podpora připojení dalších uživatelských dat k příkazům a událostem přenášeným mezi uzly.
  • Byly implementovány další pomocné funkce pro vytváření a analýzu kompresních formátů.
  • Výchozí limit pro maximální počet kanálů byl zvýšen na 128. Byla přidána možnost přepsat tento limit během kompilace.
  • Byla přidána konfigurace 'audio.layout' pro nastavení schématu víc kanálového prostorového zvuku (například, 'audio.layout = 5.1') bez nutnosti vyjmenovávat pozice kanálů ('audio.position = [ FL, FR, FC, LFE, SL, SR ]').
  • Byl přidán mechanismus 'Capability Params' pro dohodu o schopnostech linky ve fázi před určením formátu a bufferů.
  • Byla přidána podpora nových typů barevného zobrazení (colortype) pro HDR.
  • V cyklech zpracování událostí byla implementována podpora zámků s inverzí priorit, které zabraňují situacím, kdy se vlákno s vysokou prioritou musí čekat na uvolnění zámku, který nastavil nízkoprioritní tok. Pro synchronizaci stavu mezi vlákny byly použity lehké zámky místo epoll a eventfd.
  • Byla přidána podpora pro určení pozice kanálu prostřednictvím analýzy dat EDID.
  • Byl zajištěn přenos v subsystému ALSA mapy kanálů prostorového zvuku (který kanál je vpravo, který vlevo atd.).
  • Bylo provedeno mnoho vylepšení souvisejících s Bluetooth, RTP (Real-time Transport Protocol) a AVB (Audio Video Bridging).
  • Pokračuje práce na realizaci síťového protokolu Milan pro přenos multimediálních dat v reálném čase.
  • Do systému měnění vzorkovací frekvence (resampler) byla přidána podpora přizpůsobitelných funkcí potlačení zkreslení, jako jsou Blackman a Kaiser. Pro zvýšení přesnosti výpočtů fáze byly využity výpočty s pevnou řádovou čárkou.
  • Byla poskytnuta možnost použití grafu uzlů zvukových filtrů FFmpeg a AI modelů pro zpracování zvuku založených na ONNX, jako je detektor hlasu Silero.
  • Podpora klientů používajících protokol v0, který byl používán ve starších verzích PipeWire, byla ukončena.
  • Do modulu jack-tunnel byla přidána podpora automatického připojení portů.
  • Pro systém streamování ROC byla implementována podpora vícestopých rozložení.
  • Byla umožněna změna limitů na zdroje (rlimit) přes konfigurační soubor.
  • Bylo přidáno vlastnost „thread.reset-on-fork“ pro řízení resetování vláken při volání fork. Pro klienty JACK je možné chování JACK opakovat tím, že se resetování vláken vypne nastavením „thread.reset-on-fork=false“.
  • Byla přidána vlajka node.exclusive, která zaručuje, že port má pouze jeden zdroj a jednoho spotřebitele, což je nezbytné pro realizaci mechanismu Explicit Sync.
  • Byla přidána vlajka node.reliable pro režim garantované dodávky.
  • Do nástroje pw-cat byla přidána podpora MIDI zpráv SysEx (System Exclusive, pro nastavení syntetizátorů), kontejneru midiclip a nekomprimovaných zvukových formátů. Přidány možnosti pro nastavení formátů zvukových kontejnerů a kodeků, jakož i pro zobrazení seznamu podporovaných kontejnerů, kodeků, prostorových rozložení a názvů kanálů.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster