GStreamer 1.26.5 introducerar viktiga korrigeringar för ljudkonvertering, överlägg, V4L2, VA och Vulkan

  • Viktiga korrigeringar för AudioConvert, Overlays, V4L2, VA och Vulkan, plus förbättringar av Wasapi2, ThreadShare och RtpBin2
  • Nya praktiska stöd: JPEG XS i VideoRate/ImageFreeze och extra funktioner i STT/molntjänster
  • Fullständig recension av 1.26-serien: VVC, JPEG XS, LCEVC, undertexter, HLS/DASH, analys och acceleration
  • PipeWire-integration: Nuvarande status, buffert-/formatutmaningar och färdplan för verkliga användningsfall

GStreamer 1.26.5

GStreamer 1.26.5 nu tillgänglig som en underhållsuppdatering inom den stabila grenen 1.26, med starkt fokus på stabilitet, regressionsfixar och praktiska förbättringar inom områden som användare stöter på dagligen. Es en buggfix-version som enkelt kan installeras på vilken 1.26.x som helst, och som också kommer med några mycket användbara små tillägg, från stöd för JPEG XS på specifika element till justeringar av integrationen med Windows, V4L2, Vulkan eller enhetsmonitorn.

Den här utgåvan bygger på det enorma språnget framåt från 1.26.0, som lade till nya tekniker (H.266, LCEVC, JPEG XS), djupa förbättringar av adaptiv streaming, textning och spårning, mer integration med Vulkan, OpenGL, CUDA, Direct3D12 och VA, samt en mängd nya element skrivna i C och Rust. I följande rader granskar vi i detalj allt som 1.26.5 medför och vi minns det viktigaste av hela 1.26-serien. så att du har en fullständig överblick innan du uppdaterar.

Vad är GStreamer 1.26.5 och varför du borde bry dig

Version 1.26.5 är den femte buggfixen i 1.26-serien., släppt den 7 augusti, fokuserat på tillförlitlighet. Här är några korrigeringar och förbättringar som åtgärdar verkliga problem som upptäckts i produktion: audioconvert korrigerar en regression vid förhandling av begränsningar med blandningsmatriser, cea608overlay och cea708overlay accepterar nu GPU-minnesbuffertar när nedströms stöder overlay-komposition, och d3d12screencapture polerar både käll- och enhetsleverantörerna för mer robust beteende.

I reproduktions- och upptäcktsdelen har kritiska punkter förfinats.decodebin3 misslyckas inte längre på strömmar med ONVIF-metadata, och uridecodebin3 slutar riskera en krasch när du lägger till URI:er i meddelanden (till exempel om en avkodare saknas). V4L2 eliminerar minnesläckor i dynamiska upplösningsförändringar, och VA-kodare får korrigeringar för gränsfall.

Det finns användbara codec-tillägg: videorate och imagefreeze kan nu fungera med JPEG XS, vilket underlättar synkroniseringspipelines och ramgenerering med detta format. Vulkan får integrationsfix, wasapi2 förbättrar enhetsövervakning på Windows Threadshare och rtpbin2 innehåller ett flertal korrigeringar y gst-enhetsmonitor-1.0 ökar användbarheten från kommandoraden. Dessutom I molntjänster läggs korthet till i AWS Translate. och ett alternativ för Partitionera högtalare med awtranscriber2, tillsammans med en Ny egenskap för svordomar i Speechmatics att ta itu med stötande språk i transkription.

Påminnelse: Det stora hoppet i 1.26.0 (viktiga funktioner)

1.26.0 (11 mars) introducerade långtgående förbättringar om 1.x API, med fokus på nya kodekar, textning, streaming, analys och acceleration. Höjdpunkter inkluderar:

  • Stöd för VVC H.266-kodek: parser, basavkodare för hårdvara, VA-API-avkodning, åtkomst till FFmpeg-avkodare och mux/demux i MP4, Matroska och MPEG-TS; en VVdeC-baserad avkodare lades till i Rust.
  • JPEG XSSVT JPEG XS-baserade kodnings- och avkodningselement med mux/demux i MPEG-TS, med stöd för sammanflätad och progressiv.
  • LCEVCKodning/avkodning av element ovanpå V-Nova SDK och stöd i h264parse för att extrahera förbättringslagret med lcevch264decodebin.
  • Undertexter och textning för hörselskadadeExtraktorer/inläggare för H.264/H.265, cea708överlägg från Rost, cea708mux, tttocea708, förbättringar i cccombinerOch cdpserviceinject för CDP.
  • HLS/DASHadaptivedemux2-klient med stöd för file://, backoff och återförsök, hlscmafsink y hlssink3 för CMAF/TS, hlsmultivariantinkoch arrangemang i instrumentbrädan.
  • splitmuxsrc/sink med lat laddning och dynamiska fragment, signaler för att lägga till fragment och policy för att öppna filer.
  • MPEG-TS mer kapabel
  • MP4/MatroskaVVC, Hap, Lagarith, råvideo, rotations- och vändtaggar, trickläge i qtdemux och stöd för ISO-format i råvideo.
  • SMPTE 2038 i Rust för hjälpmetadata (demux/mux och CC-konvertering).
  • analys: ny GstTensorMeta, N till N relationer, segmenteringsmasker, onvifmetadataextractor, originalbuffert y relationsmeta, såväl som mer polerade Python-bindningar.
  • Acceleration och grafikstora förbättringar i Vulkan y OpenGL (v210, YUY2/UYVY, Y444_10/16, DMABuf-import), QML med direkt DMABuf-import, CUDA med composer, nvenc AV1, Jetson NVMM och förkompilerade kärnor, Direct3D12 med d3d12videosink, d3d12swapchainsink, d3d12deinterlace, GPU IPC utan kopior och korrekt HDR-inspelning.
  • Fånga kort: : förbättringar i AJA och Decklink (HDR PQ/HLG och bildruteplanering).
  • RTP / RTSP: rtspsrc med klienthanterade MIKEY-nycklar, nya synkroniseringslägen i rtpbin, RFC7273 stateful jitterbuffer, förbättringar av rtph265depay och regenerering av tidsstämplar i rtppassthroughpay, och nya rtpbin2 i Rust.
  • WebRTCwebrtcbin med grundläggande återställningar och förbättringar; webrtcsink/src med fler kodare, MSE och NTP/PTP-synkronisering; WHEP/WHIP finns redan i ekosystemet; och LiveKit/Kinesis-element tillgängliga i versioner efter 1.26.x.
  • Nya element som webview2src, CC-extraktorer för H.264/H.265, h266parse, svtjpegxsenc/dec och flera delar i VA och Rust.

Fina tekniska förändringar som gör skillnad

Containrar och transport

Robust VVC-stöd har lagts till för MP4 och Matroska, nischformat som Hap/Lagarith och rå video, utöver korrekt hantering av rotationer och vändningar per media och per spår. MPEG-TS kan nu muxa och demuxa VVC, JPEG-XS, VP9 och AV1 (med anpassade mappningar), mätare ID3 y SMPTE 302Moch prova 2-byte M192TS. För liveströmmar, mpegtslivesrc tillhandahåller en PCR-baserad klocka.

I adaptiv streaming la klient adaptivedemux2 förhindrar falska live-flushar, stöder file:// URI:er och försöker igen med backoff, och instrumentbrädan fixar periodlängder för dynamiska MPD:er. HLS får nya sänkor fokuserade på CMAF och skalningsvarianter.

Undertexter, CC och SMPTE 2038

H.264/H.265-extraktorer/inserterare manipulerar CC i presentationsordning utan avkodning (användbart för att bearbeta pipelines utan omkodning), och Rust-familjen innehåller st2038ancdemux/mux och DC-omvandlare. cea708överlägg ersätter cc708overlay med modernt stöd och GPU-buffertacceptans i 1.26.5.

Analys och metadata

GstTensorMeta och nya N-till-N-relationer underlätta komplexa arbetsflöden för datorseende, med masker, ONVIF-konverteringar och verktygsplugins för att bevara ursprungliga buffertar. Förbättrade Python-bindningar effektivisera iteration och redigering av analytiska mål.

Acceleration: Vulkan, OpenGL, CUDA och D3D12

Vulkan förbättrar inkoherent minne, kolorimetri och pooler, utöver H.264/H.265-profiler och en mer flexibel kodare. OpenGL breddar konverteringar (v210, YUY2/UYVY, Y444 med högt djup) och DMABuf. CUDA lägg till composer, nvav1enc, stöd för Jetson NVMM och förkompilering. Direct3D12 öppnar offentligt bibliotek, sjunker med färgbalans, mipmap-texturer, IPC utan kopior och portabel deinterlacing.

RTP, RTSP och WebRTC

RTSP förvaltar MIKEY på klientsidan (användbart med Axis-kameror), rtpbin får never/ntp-lägen, och jitterbuffert exponerar RFC7273-tillstånd. Förbättrad nyckelbildsförfrågan i H.265 RTP och regenerering av tidsstämplar på gatewayen. Rust tillhandahåller rtpbin2 och payloaders för AC3, AMR, JPEG, KLV, MPEG-TS, MP4A/G, Opus, PCMU/A, VP8/9. På WebRTC Återställningar, ljudnivåer och återutsändningar finjusteras, och Janus-, LiveKit- och WHEP-källor har lagts till i hela 1.26.x.

API, prestanda och spår

GstIdStr ersätter GQuark i strukturer/kapitlar för att förhindra läckor och förbättra prestanda genom att jämföra korta kedjor; GstVecDeque ange kärna för enklare och effektivare köer. Ljud-/videoverktygen har utökats (omordningar, snabba sökvägar v210⇄I420_10/I422_10), och nya spårämnen läggs till (minne, push-tider och PCAP). Loggningssystemet lägger till omfattande detaljer till meddelanden (URI, ström-id) och skrivandet av DOT:er är optimerat.

GStreamer 1.26.4
Relaterad artikel:
GStreamer 1.26.4 förbättrar stödet för mp4mux, LiveKit och enheter med nya funktioner