Multimedia-rammeværket GStreamer 1.28.0 er nu tilgængeligt

Efter næsten et års udvikling er GStreamer 1.28, et tværplatformskomponentsæt til oprettelse af et bredt spektrum af multimedieapplikationer, fra medieafspillere og konvertere af audio-/video-filer til VoIP-applikationer og streaming-systemer, blevet præsenteret. Koden til GStreamer distribueres under LGPLv2.1. Opdateringer til plugins som gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, samt bindings til gst-libav og streaming-serveren gst-rtsp-server udvikles separat. API- og ABI-niveauet er bagudkompatibelt med version 1.0. Binære builds vil snart blive forberedt til Android, iOS, macOS og Windows (i Linux anbefales det at bruge pakker fra distributionen).

Nøgleforbedringer i GStreamer 1.28:

  • En ny plugin, HIP (Heterogeneous-computing Interface for Portability), er blevet tilføjet for at understøtte det softwareinterface, som AMD udvikler til heterogene beregninger, hvor der udover CPU anvendes parallel computing-værktøjer fra GPU. HIP forenkler implementeringen af støtte til forskellige GPU'er i en enkelt kodebase (ROC-stakken anvendes til AMD GPU'er, og en lag for oversættelse til CUDA anvendes til NVIDIA GPU'er). Plugin'en leverer komponenter, der er implementeret ved hjælp af HIP, til udførelse af operationer som videoblanding, konvertering fra et farverum til et andet, ændring af videostørrelse og organisering af dataoverførsel mellem systemhukommelse og videohukommelse. Desuden er der udviklet et bibliotek til integration af HIP-understøttelse i applikationer.
  • Støtte til video kodningsstandarden LCEVC (Low Complexity Enhancement Video Coding) er tilføjet, som implementerer et ekstra lag med metadata oven på de standard codecs H.265 og H.266 for at forbedre videokvaliteten. Implementeringen af LCEVC encoder og decoder er baseret på biblioteker fra V-Nova SDK.
  • Støtte til Vulkan grafiske API-funktioner er tilføjet for at accelerere video dekodning i formaterne AV1 og VP9 samt video kodning i formatet H.264. Den Vulkan-baserede H.265 video dekoder har fået tilføjet støtte til en farvedybde på 10 bits pr. kanal.
  • I elementet gtkwaylandsink, der er beregnet til rendering med GTK4 og Wayland, er mulighederne for at arbejde med farver blevet udvidet, for eksempel ved at tilføje støtte til parsing og indstilling af HDR10 metadata.
  • Der er tilføjet et nyt element til adskillelse af lydkilder (for eksempel adskillelse af stemme og baggrundsmusik), baseret på biblioteket charon-audio, der implementerer Demucs-metoden i Rust. Derudover er Deepgram-plugin'et til taleregistrering, skrevet i Rust, inkluderet.
  • Analytiske og objektgenkendelsesmuligheder er blevet udvidet. Der er tilføjet elementer til at kombinere og adskille analyser. Klassifikatoren tensor-decoder, ansigtsdetektoren facedetector, objektdetektoren YOLOv8, samt et element til udførelse og dekoderen for objektgenkendelsesmodellen YOLOX er blevet implementeret. Der er tilføjet et element, tensordecodebin, til automatisk tilslutning af dekodere og et element til udførelse af AI-modeller ved hjælp af LiteRT (som erstatter TensorFlow Lite).
  • Et nyt element til dekodning af GIF-billeder, skrevet i Rust og der understøtter loop-animation, er blevet tilføjet.
  • I input-selector-elementet er der implementeret en to-faset mekanisme til skift mellem indgangsstreams (sinkpad), der udelukker opståen af konkurrencebetingelser ved skift.
  • I webrtcsink-elementet er der tilføjet støtte til hardwareaccelereret kodning ved hjælp af VA-API og mulighed for at genforhandle forbindelsen.
  • Der er tilføjet elementer til at kombinere og udtrække streams i henhold til tv-broadcast-standarden ST-2038.
  • I fallbacksrc-elementet er der tilføjet støtte til kodede streams.
  • I det multimediemæssige containerformat FLV, der anvendes til RTMP-broadcast, er understøttelsen af H.265-video forbedret, og der er tilføjet støtte til multi-channel lyd.
  • I glupload-elementet er der tilføjet støtte til en uploader baseret på udmabuf, der gør det muligt at dele buffere mellem softwaredekodere/kilder og GPU, display-motorer (wayland) og andre enheder.
  • Et qml6-element til rendering ved hjælp af Qt6 QML er blevet tilføjet.
  • Bibilioteket til videohåndtering har fået tilføjet funktioner til cropping, scaling, rotation og shift.
  • Et GstContext-objekt er blevet tilføjet for at muliggøre brugen af et delt stream-pool under udførelse af elementer for at forbedre ydeevnen af operationer som komposittering og videokonvertering.
  • Et icecastsink-element til modtagelse af streams fra IceCast er blevet tilføjet, med støtte for AAC-format, skrevet i Rust.
  • Et nyt stemmeklonings-element fra ElevenLabs er blevet tilføjet.
  • I taleregeneratoren er der tilføjet en tilstand til at accelerere afspilningen, mens tonhøjden bevares.
  • VMAF-elementet er tilføjet til vurdering af videoens kvalitet ved hjælp af Netfliks VMAF-rammen.
  • Ny MPEG-H lyddekoder-plugin er tilføjet, baseret på Fraunhofer MPEG-H dekoderen, som understøtter udpakning af MP4 mediekontainere.
  • Understøttelsen af skjulte undertekster (CC — Closed Captions) og tekstbehandling er udvidet.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster