K dispozici je multimediální rámec GStreamer 1.20.0

Po roce a půl vývoje byl vydán GStreamer 1.20, multiplatformní sada komponent napsaných v C pro vytváření široké škály multimediálních aplikací, od přehrávačů médií a převodníků audio/video souborů až po VoIP aplikace a streamovací systémy. Kód GStreamer je licencován pod LGPLv2.1. Současně jsou k dispozici aktualizace pluginů gst-plugins-base 1.20, gst-plugins-good 1.20, gst-plugins-bad 1.20, gst-plugins-ugly 1.20 a také vazba gst-libav 1.20 a Streamovací server gst-rtsp-server 20. Na úrovni API a ABI je nové vydání zpětně kompatibilní s větví 1.0. Binární sestavení budou brzy připravena pro Android, iOS, macOS a Windows (v Linuxu se doporučuje používat balíčky z distribuce).

Klíčová vylepšení v GStreamer 1.20:

  • Vývoj na GitLabu přešel na používání jediného úložiště společného pro všechny moduly.
  • Byla přidána nová knihovna GstPlay na vysoké úrovni, která nahrazuje GstPlayer API a nabízí podobnou funkcionalitu pro přehrávání obsahu, liší se tím, že místo signálů GObject používá k upozorňování aplikací sběrnici zpráv.
  • Přidána podpora pro dekódování informací o průhlednosti WebM, umožňující přehrávání videí VP8/VP9 s průhlednými oblastmi.
  • Profily kódování nyní podporují nastavení dalších vlastností specifických pro aplikaci.
  • Compositor podporuje vícevláknovou konverzi a mixování videa.
  • Třídy depayloader a payloader mají jednotnou podporu pro práci s dalšími hlavičkami RTP (RTP Header Extensions).
  • Přidána podpora pro mechanismus SMPTE 2022-1 2-D (Forward Error Correction).
  • Encodebin a transcodebin pro kodeky VP8, VP9 a H.265 implementují režim inteligentního kódování, ve kterém se překódování provádí pouze v případě potřeby a po zbytek času je stávající stream předán dál.
  • Plugin souphttpsrc je nyní kompatibilní s libsoup2 a libsoup3.
  • Přidána možnost dekódovat vstupní data na úrovni mezisnímků (sub-frame), což umožňuje zahájit dekódování bez čekání na příjem celého snímku. Podpora této optimalizace je obsažena v dekodérech OpenJPEG JPEG 2000, FFmpeg H.264 a OpenMAX H.264/H.265.
  • Při dekódování videa pro protokoly RTP, WebRTC a RTSP je zajištěno automatické zpracování ztráty paketů, poškození dat a požadavků na klíčové snímky.
  • Do balíčků kontejnerů médií mp4 a Matroska byla přidána podpora pro změnu dat kodeků za běhu, což umožňuje měnit profil, úroveň a rozlišení pro vstupní streamy H.264/H.265.
  • Přidán režim pro vytváření fragmentovaných kontejnerů médií mp4.
  • Do portu založeného na WPE (WebKit Port for Embedded) byla přidána podpora zvuku.
  • Přidána možnost používat CUDA pro převod barevného prostoru, škálování prvků a načítání prvků.
  • Přidána podpora paměti NVMM (NVIDIA Memory Module) pro prvky OpenGL glupload a gldownload.
  • Vylepšená podpora WebRTC.
  • Byl navržen nový plugin pro VA-API (Video Acceleration API), který podporuje více dekodérů a prvků následného zpracování.
  • AppSink API přidalo podporu pro události kromě vyrovnávacích pamětí a seznamů vyrovnávacích pamětí.
  • Do AppSrc byla přidána další nastavení pro interní fronty.
  • Aktualizované vazby jazyka Rust a přidáno 26 nových pluginů napsaných v Rustu (gst-plugins-rs).
  • Přidány prvky aesdec a aesenc pro šifrování a dešifrování pomocí algoritmu AES.
  • Přidány prvky fakeaudiosink a videocodectestsink pro testování a ladění.
  • Vylepšené nástroje pro vytváření minimalistických sestavení GStreamer.
  • Přidána možnost stavět s FFmpeg 5.0.
  • Pro Linux byly implementovány verze kodeků MPEG-2 a VP9, ​​které fungují bez uložení stavu (Stateless).
  • Pro Windows byla do dekodéru na bázi Direct3D11/DXVA přidána podpora AV1 a MPEG-2.

Zdroj: opennet.ru

Přidat komentář