GStreamer 1.26.5 introduserer viktige rettelser til lydkonvertering, overlegg, V4L2, VA og Vulkan

  • Viktige rettelser i audioconvert, overlays, V4L2, VA og Vulkan, pluss forbedringer av wasapi2, threadshare og rtpbin2
  • Nye praktiske støtter: JPEG XS i Videorate/ImageFreeze og ekstra funksjoner i STT/Cloud Services
  • Fullstendig 1.26-serieanmeldelse: VVC, JPEG XS, LCEVC, undertekster, HLS/DASH, analyse og akselerasjon
  • PipeWire-integrasjon: NÃ¥værende status, buffer-/formatutfordringer og veikart for brukstilfeller i den virkelige verden

GStreamer 1.26.5

GStreamer 1.26.5 nå tilgjengelig som en vedlikeholdsoppdatering innenfor den stabile grenen 1.26, med et sterkt fokus på stabilitet, regresjonsrettinger og praktiske forbedringer i områder som brukere møter daglig. Es en feilrettingsutgivelse som enkelt kan installeres på hvilken som helst 1.26.x, og som også kommer med noen svært nyttige små tillegg, fra støtte for JPEG XS på spesifikke elementer til justeringer av integrasjon med Windows, V4L2, Vulkan eller enhetsskjermen.

Denne utgivelsen bygger på det store spranget fremover fra 1.26.0, som la til nye teknologier (H.266, LCEVC, JPEG XS), dyptgående forbedringer av adaptiv strømming, teksting og sporing, mer integrasjon med Vulkan, OpenGL, CUDA, Direct3D12 og VA, og en rekke nye elementer skrevet i C og Rust. I de følgende linjene gjennomgår vi i detalj alt som 1.26.5 bringer, og vi husker det viktigste fra hele 1.26-serien. slik at du har full oversikt før du oppdaterer.

Hva er GStreamer 1.26.5 og hvorfor du bør bry deg

Versjon 1.26.5 er den femte feilrettinga i 1.26-serien., utgitt 7. august, fokusert på pålitelighet. Rettelser og forbedringer som adresserer reelle problemer oppdaget i produksjon er uthevet: audioconvert fikser en cap-forhandlingsregresjon med blandingsmatriser, cea608overlay og cea708overlay aksepterer nå GPU-minnebuffere når nedstrøms støtter overleggskomposisjon, og d3d12screencapture polerer både kilde- og enhetsleverandørene for mer robust oppførsel.

I reproduksjons- og oppdagelsesdelen har kritiske punkter blitt finpusset.decodebin3 feiler ikke lenger på strømmer med ONVIF-metadata, og uridecodebin3 stopper risikoen for krasj når du legger til URI-er i meldinger (for eksempel hvis en dekoder mangler). V4L2 eliminerer en minnelekkasje i dynamiske oppløsningsendringer, og VA-kodere får rettelser for grensetilfeller.

Det finnes nyttige kodek-tillegg: videorate og imagefreeze kan nå fungere med JPEG XS, som forenkler synkroniseringsrørledninger og rammegenerering med dette formatet. Vulkan mottar integrasjonsrettelse, wasapi2 forbedrer enhetsovervåking på Windows Threadshare og rtpbin2 har en rekke rettelser y gst-enhetsmonitor-1.0 får brukervennlighet fra kommandolinjen. I tillegg, I skytjenester legges det til kortfattethet i AWS Translate. og et alternativ for Partisjoner høyttalere med awtranscriber2, sammen med en Ny maske-banning-egenskap i Speechmatics å håndtere støtende språkbruk i transkripsjon.

Påminnelse: Det store spranget i 1.26.0 (nøkkelfunksjoner)

1.26.0 (11. mars) introduserte omfattende forbedringer om 1.x API, med fokus på nye kodeker, teksting, strømming, analyse og akselerasjon. Høydepunkter inkluderer:

  • Støtte for VVC H.266-kodek: parser, basisdekoder for maskinvare, VA-API-dekoding, tilgang til FFmpeg-dekoder og mux/demux i MP4, Matroska og MPEG-TS; en VVdeC-basert dekoder ble lagt til i Rust.
  • JPEG XSSVT JPEG XS-baserte kodings- og dekodingselementer med mux/demux i MPEG-TS, som støtter sammenflettet og progressiv.
  • LCEVCKoding/dekoding av elementer oppÃ¥ V-Nova SDK og støtte i h264parse for Ã¥ trekke ut forbedringslaget med lcevch264decodebin.
  • Undertekster og teksting for hørselshemmedeUttrekkere/innleggere for H.264/H.265, cea708overlay fra Rust, cea708mux, tttocea708, forbedringer i cccombiner, Og cdpserviceinject for CDP.
  • HLS/DASHadaptivedemux2-klient med støtte for file://, backoff og nye forsøk, hlscmafsink y hlssink3 for CMAF/TS, hlsmultivariantink, og ordninger i dashbordvask.
  • splitmuxsrc/sink med lat lasting og dynamiske fragmenter, signaler for Ã¥ legge til fragmenter og policy for Ã¥pne filer.
  • MPEG-TS mer kapabel
  • MP4/MatroskaVVC, Hap, Lagarith, rÃ¥video, rotasjons- og flip-tagger, triksemodus i qtdemux og ISO-støtte for rÃ¥video.
  • SMPTE 2038 i Rust for tilleggsmetadata (demux/mux og CC-konvertering).
  • analytics: ny GstTensorMeta, N til N relasjoner, segmenteringsmasker, onvifmetadataextractor, originalbuffer y relasjonsmeta, samt mer polerte Python-bindinger.
  • Akselerasjon og grafikkstore forbedringer i Vulkan y OpenGL (v210, YUY2/UYVY, Y444_10/16, DMABuf-import), QML med direkte DMABuf-import, CUDA med composer, nvenc AV1, Jetson NVMM og forhÃ¥ndskompilerte kjerner, Direct3D12 med d3d12videosink, d3d12swapchainsink, d3d12deinterlace, GPU IPC uten kopiering og korrekt HDR-opptak.
  • Ta kort: : forbedringer i AJA og Decklink (HDR PQ/HLG og bildeplanlegging).
  • RTP / RTSP: rtspsrc med klientstyrte MIKEY-nøkler, nye synkroniseringsmoduser i rtpbin, RFC7273 stateful jitterbuffer, forbedringer av rtph265depay og regenerering av tidsstempler i rtppassthroughpay, og ny rtpbin2 i Rust.
  • WebRTCwebrtcbin med grunnleggende tilbakestillinger og forbedringer; webrtcsink/src med flere kodere, MSE og NTP/PTP-synkronisering; WHEP/WHIP allerede tilstede i økosystemet; og LiveKit/Kinesis-elementer tilgjengelig i utgivelser utover 1.26.x.
  • Nye ting som webview2src, CC-ekstraktorer for H.264/H.265, h266parse, svtjpegxsenc/des og flere stykker i VA og Rust.

Fine tekniske endringer som utgjør en forskjell

Containere og transport

Robust VVC-støtte er lagt til for MP4 og Matroska, nisjeformater som Hap/Lagarith og rå video, i tillegg til korrekt håndtering av rotasjoner og vipper per medie og per spor. MPEG-TS kan nå mikse og demukse VVC, JPEG-XS, VP9 og AV1 (med tilpassede mappinger), måler ID3 y SMPTE 302M, og prøv 2-byte M192TS. For direktestrømmer, mpegtslivesrc gir en PCR-basert klokke.

I adaptiv strømming la klient adaptivedemux2 forhindrer falske live-flusher, støtter file:// URI-er og prøver på nytt med backoff, og dashbordvask fikser periodelengder for dynamiske MPD-er. HLS får nye vasker fokusert på CMAF og skaleringsvarianter.

Undertekster, CC og SMPTE 2038

H.264/H.265-ekstraktorer/innsettere manipulerer CC i presentasjonsrekkefølge uten dekoding (nyttig for behandling av rørledninger uten omkoding), og Rust-familien inneholder st2038ancdemux/mux og DC-omformere. cea708overlay erstatter cc708overlay med moderne støtte og GPU-bufferaksept i 1.26.5.

Analyse og metadata

GstTensorMeta og nye N-til-N-relasjoner legge til rette for komplekse arbeidsflyter for datasyn, med masker, ONVIF-konverteringer og verktøy-plugins for å bevare originale buffere. Forbedrede Python-bindinger effektivisere iterasjon og redigering av analytiske mål.

Akselerasjon: Vulkan, OpenGL, CUDA og D3D12

Vulkan forbedrer inkoherent hukommelse, kolorimetri og pools, i tillegg til H.264/H.265-profiler og en mer smidig koder. OpenGL utvider konverteringer (v210, YUY2/UYVY, Y444 med høy dybde) og DMABuf. CUDA legg til komponist, nvav1enc, Jetson NVMM-støtte og forhåndskompilert. Direct3D12 åpner folkebibliotek, synker med fargebalanse, mipmap-teksturer, nullkopiert IPC og bærbar deinterlacing.

RTP, RTSP og WebRTC

RTSP klarer MIKEY på klientsiden (nyttig med Axis-kameraer), rtpbin får aldri/ntp-moduser, og jitterbuffer eksponerer RFC7273-tilstanden. Forbedret nøkkelbildeforespørsel i H.265 RTP og regenerering av tidsstempler på gatewayen. Rust tilbyr rtpbin2 og nyttelastere for AC3, AMR, JPEG, KLV, MPEG-TS, MP4A/G, Opus, PCMU/A, VP8/9. På WebRTC Tilbakerullinger, lydnivåer og retransmisjoner finjusteres, og Janus-, LiveKit- og WHEP-kilder er lagt til gjennom hele 1.26.x.

API, ytelse og spor

GstIdStr erstatter GQuark i strukturer/kapsler for å forhindre lekkasjer og forbedre ytelsen ved å sammenligne korte kjeder; GstVecDeque skriv inn kjernen for enklere og mer effektive køer. Lyd-/videoverktøyene er utvidet (omordninger, raske stier v210⇄I420_10/I422_10), og nye sporingsenheter legges til (minne, push-tider og PCAP). Loggingssystemet legger til rike detaljer til meldinger (URI, strøm-ID), og skrivingen av DOT-er er optimalisert.

GStreamer 1.26.4
Relatert artikkel:
GStreamer 1.26.4 forbedrer støtten for mp4mux, LiveKit og enheter med nye funksjoner