Efter mer Àn ett och ett halvt Ärs utveckling slÀpptes GStreamer 1.20, ett plattformsoberoende komponentset skrivet i C för att skapa en bred variation av multimediapplikationer, frÄn mediaplayer och konverterare av ljud-/videofiler till VoIP-applikationer och strömningstjÀnster. GStreamer-koden distribueras under LGPLv2.1-licensen. Samtidigt finns uppdateringar av plugin-programmen gst-plugins-base 1.20, gst-plugins-good 1.20, gst-plugins-bad 1.20, gst-plugins-ugly 1.20, samt biblioteket gst-libav 1.20 och strömservern gst-rtsp-server 20. PÄ API- och ABI-nivÄ Àr den nya versionen bakÄtkompatibel med version 1.0. Binariska byggnader kommer snart att förberedas för Android, iOS, macOS och Windows (det rekommenderas att anvÀnda paket frÄn distributionen i Linux).
NyckelförbÀttringar i GStreamer 1.20:
- Utvecklingen pÄ GitLab har övergÄtt till att anvÀnda ett enda repository gemensamt för alla moduler.
- En ny hög nivÄ-bibliotek GstPlay har lagts till, som ersÀtter API:t GstPlayer och erbjuder liknande funktioner för uppspelning av innehÄll, som skiljer sig genom att anvÀnda en meddelandebuss för att notifiera applikationer istÀllet för GObject-signaler.
- Stöd för dekodning av transparensinformation i WebM-formatet har lagts till, vilket möjliggör uppspelning av VP8/VP9-video med genomskinliga omrÄden.
- Stöd för att konfigurera ytterligare egenskaper specifika för applikationer har lagts till i kodningsprofilen.
- Kompositorn har fÄtt stöd för transformations- och blandningsoperationer av video i flertrÄdat lÀge.
- Stödet för att arbeta med ytterligare RTP-rubriker (RTP Header Extensions) har enhetligats i klasserna depayloader och payloader.
- Stöd för mekanismen för förutsÀgande felkorrigering SMPTE 2022-1 2-D (Forward Error Correction) har lagts till.
- I encodebin och transcodebin har ett smart kodningslÀge ('smart encoding') implementerats för VP8, VP9 och H.265-kodekar, dÀr rekodning endast utförs vid behov, medan befintlig ström skickas vidare under resten av tiden.
- Plugin-programmet souphttpsrc har sÀkerstÀllts för kompatibilitet med libsoup2 och libsoup3.
- Möjligheten att dekoda inmatning pÄ nivÄ av delbilder (sub-frame) har lagts till, vilket möjliggör att dekodning kan börja utan att vÀnta pÄ att fÄ en fullstÀndig bild. Stödet för denna optimering har aktiverats i dekodrarna OpenJPEG JPEG 2000, FFmpeg H.264 och OpenMAX H.264/H.265.
- Vid dekodning av video för RTP-, WebRTC- och RTSP-protokoll har automatisk hantering av paketförlust, dataskador och förfrÄgningar om nyckelbilder möjliggjorts.
- Stöd för att Àndra kodningsdata i realtid har lagts till i mp4- och Matroska-multimediaförpackare, vilket gör att profil, nivÄ och upplösning kan Àndras för inkommande H.264/H.265-strömmar.
- Ett lÀge för skapande av fragmenterade mp4-multimediaförpackningar har lagts till.
- Ljudstöd har lagts till i WPE-baserad port (WebKit Port for Embedded).
- Möjlighet att anvÀnda CUDA för att konvertera fÀrgrymder, skala element och ladda element har lagts till.
- Stöd för NVMM-minne (NVIDIA Memory Module) har lagts till för OpenGL-elementen glupload och gldownload.
- Stödet för WebRTC har förbÀttrats.
- En ny plugin för VA-API (Video Acceleration API) har föreslagits, som stöder fler dekodrar och postprocesseringselement.
- Stöd för hÀndelser har lagts till i AppSink-API:t, utöver buffertar och buffertlistor.
- Ytterligare instÀllningar för interna köer har lagts till i AppSrc.
- Bindings pÄ Rust-sprÄket har uppdaterats och 26 nya plugins skrivna i Rust (gst-plugins-rs) har lagts till.
- Elementen aesdec och aesenc för kryptering och avkryptering med anvÀndning av AES-algoritmen har lagts till.
- Elementen fakeaudiosink och videocodectestsink för testning och debug har lagts till.
- Verktygen för att skapa minimalistiska GStreamer-byggnader har förbÀttrats.
- Möjlighet till byggnad med FFmpeg 5.0 har lagts till.
- För Linux har codec-alternativ för MPEG-2 och VP9 implementerats, som fungerar utan lagring av tillstÄnd (Stateless).
- För Windows har stöd för AV1 och MPEG-2 lagts till i decoder baserad pÄ Direct3D11/DXVA.
KĂ€lla: opennet.ru
