GStreamer 1.20.0 multimediaramverk är tillgängligt

Efter ett och ett halvt års utveckling släpptes GStreamer 1.20, en plattformsoberoende uppsättning komponenter skrivna i C för att skapa ett brett utbud av multimediaapplikationer, från mediaspelare och ljud-/videofilkonverterare till VoIP-applikationer och streamingsystem. GStreamer-koden är licensierad under LGPLv2.1. Samtidigt finns uppdateringar för pluginerna gst-plugins-base 1.20, gst-plugins-good 1.20, gst-plugins-bad 1.20, gst-plugins-ugly 1.20, liksom gst-libav 1.20-bindningen och gst-rtsp-server 20 streamingserver På API- och ABI-nivå är den nya versionen bakåtkompatibel med 1.0-grenen. Binära sammansättningar kommer snart att förberedas för Android, iOS, macOS och Windows (i Linux rekommenderas att använda paket från distributionen).

Viktiga förbättringar i GStreamer 1.20:

  • Utveckling på GitLab har gått över till att använda ett enda arkiv som är gemensamt för alla moduler.
  • Ett nytt GstPlay-bibliotek på hög nivå har lagts till, som ersätter GstPlayer API och erbjuder liknande funktionalitet för att spela innehåll, som skiljer sig genom att använda en meddelandebuss för att meddela applikationer istället för GObject-signaler.
  • Tillagt stöd för avkodning av WebM-transparensinformation, vilket möjliggör uppspelning av VP8/VP9-videor med genomskinliga områden.
  • Kodningsprofiler har nu stöd för att ställa in ytterligare programspecifika egenskaper.
  • Compositor stöder multi-threaded video konvertering och mixning.
  • Depayloader- och payloader-klasserna har enhetligt stöd för att arbeta med ytterligare RTP-headers (RTP Header Extensions).
  • Tillagt stöd för SMPTE 2022-1 2-D (Forward Error Correction) mekanismen.
  • Encodebin och transcodebin för VP8, VP9 och H.265 codecs implementerar ett smart kodningsläge, där omkodning endast utförs när det är nödvändigt, och resten av tiden vidarebefordras den befintliga strömmen.
  • Souphttpsrc-pluginen är nu kompatibel med libsoup2 och libsoup3.
  • Lade till möjligheten att avkoda indata på nivån för mellanliggande ramar (sub-frame), vilket gör att du kan börja avkoda utan att vänta på att hela bilden ska tas emot. Stöd för denna optimering ingår i OpenJPEG JPEG 2000, FFmpeg H.264 och OpenMAX H.264/H.265-avkodarna.
  • Vid avkodning av video för RTP-, WebRTC- och RTSP-protokollen tillhandahålls automatisk hantering av paketförlust, datakorruption och nyckelframeförfrågningar.
  • Stöd för att ändra codec-data i farten har lagts till i mp4 och Matroska mediacontainerpaket, vilket gör att du kan ändra profil, nivå och upplösning för H.264/H.265 ingångsströmmar.
  • Lade till ett läge för att skapa fragmenterade mp4-mediebehållare.
  • Ljudstöd har lagts till den WPE (WebKit Port for Embedded)-baserad port.
  • Lade till möjligheten att använda CUDA för färgrymdskonvertering, elementskalning och elementladdning.
  • Lagt till stöd för NVMM (NVIDIA Memory Module)-minne för OpenGL glupload och gldownload-element.
  • Förbättrat WebRTC-stöd.
  • En ny plugin för VA-API (Video Acceleration API) har föreslagits, som stöder fler avkodare och efterbehandlingselement.
  • AppSink API har lagt till stöd för händelser utöver buffertar och buffertlistor.
  • Ytterligare inställningar för interna köer har lagts till i AppSrc.
  • Uppdaterade Rust-språkbindningar och lade till 26 nya plugins skrivna i Rust (gst-plugins-rs).
  • Lade till aesdec- och aesenc-element för kryptering och dekryptering med hjälp av AES-algoritmen.
  • Lade till fakeaudiosink och videocodectestsink element för testning och felsökning.
  • Förbättrade verktyg för att skapa minimalistiska GStreamer-byggen.
  • Lade till möjligheten att bygga med FFmpeg 5.0.
  • För Linux har versioner av MPEG-2 och VP9 codec implementerats, som fungerar utan att spara tillstånd (Stateless).
  • För Windows har AV3- och MPEG-11-stöd lagts till den Direct1D2/DXVA-baserade avkodaren.

Källa: opennet.ru

Lägg en kommentar