
GStreamer 1.26.5 ja està disponible com a actualització de manteniment dins de la branca estable 1.26, amb focus absolut en estabilitat, regressions corregides i millores pràctiques en àrees que els usuaris usen diàriament. Es una versió de correcció de fallades que es pot instal·lar amb tranquil·litat sobre qualsevol 1.26.x, i que a més arriba amb petits afegits molt útils, des de suport per a JPEG XS en elements concrets fins a ajustaments en la integració amb Windows, V4L2, Vulkan o el monitor de dispositius.
Aquest lliurament es recolza en el gran salt que va suposar 1.26.0, que va afegir noves tecnologies (H.266, LCEVC, JPEG XS), millores profundes en streaming adaptatiu, subtitulat i traçat, més integració amb Vulkan, OpenGL, CUDA, Direct3D12 o VA, i una infinitat d'elements. A les següents línies repassem de forma detallada tot el que porta 1.26.5 i recordem el més important de tota la sèrie 1.26 perquè tingueu una visió completa abans d'actualitzar.
Què és GStreamer 1.26.5 i per què us interessa
La versió 1.26.5 és el cinquè bugfix de la sèrie 1.26, publicada el 7 d'agost, centrada en fiabilitat. Destaquen correccions i millores que resolen problemes reals detectats en producció: audioconvert arregla una regressió de negociació de caps amb matrius de mescla, cea608overlay i cea708overlay accepten buffers de memòria de GPU quan el downstream suporta overlay composition, i d3d12s robust.
A la part de reproducció i descobriment s'han afinat punts crítics: decodebin3 ja no falla davant fluxos amb metadades ONVIF, i uridecodebin3 deixa d'arriscar un crash en afegir URIs en missatges (per exemple, si falta un descodificador). V4L2 elimina una fuita de memòria en canvis de resolució dinàmics, i els codificadors VA reben arranjaments per a casos límit.
Hi ha afegits útils de còdec: videorate i imagefreeze ara poden treballar amb JPEG XS, el que facilita pipelins de sincronització i generació de frames amb aquest format. Vulkan rep arranjament d'integració, wasapi2 millora el monitor de dispositius a Windows, threadshare i rtpbin2 incorporen nombroses correccions y gst-device-monitor-1.0 guanya usabilitat des de la línia d'ordres. A més, en serveis cloud s'afegeix brevetat a awstranslate i una opció per particionar oradors amb awstranscriber2, Juntament amb una nova propietat mask-profanities a Speechmatics per tractar llenguatge ofensiu en transcripció.
Recordatori: el gran salt de la 1.26.0 (característiques clau)
La 1.26.0 (11 de març) va inaugurar millores de gran importància sobre l'API 1.x, amb una atenció especial a nous còdecs, subtitulat, streaming, analítica i acceleració. Entre el més destacat:
- Suport del còdec VVC H.266: parsejador, descodificador base per a hw, descodificació per VA‑API, accés al descodificador FFmpeg i mux/demux en MP4, Matroska i MPEG‑TS; a Rust es va afegir un descodificador basat en VVdeC.
- JPEG XS: elements de codificació i descodificació basats en SVT JPEG XS amb mux/demux en MPEG‑TS, suportant entrellaçat i progressiu.
- LCEVC: elements de codificació/decodificació sobre SDK de V‑Nova i suport en h264parse per extreure la capa de millora amb lcevch264decodebin.
- Subtítols i closed captions: extractors/insertors per a H.264/H.265, cea708overlay de Rust, cea708mux, tttocea708, millores en cccombiner i cdpserviceinject per a CDP.
- HLS/DASH: client adaptivedemux2 amb suport file://, backoff i reintents, hlscmafsink y hlssink3 per a CMAF/TS, hlsmultivariantsink, i arranjaments a dashsink.
- splitmuxsrc/sink amb càrrega mandrosa i fragments dinàmics, senyals d'add-fragment i política de fitxers oberts.
- MPEG‑TS més capaç
- MP4/Matroska: VVC, Hap, Lagarith, raw video, etiquetes de rotació i flips, trick mode en qtdemux i suport ISO raw video.
- SMPTE 2038 a Rust per a metadades auxiliars (demux/mux i conversió de CC).
- analítica: nou GstTensorMeta, relacions N a N, màscares de segmentació, onvifmetadataextractor, originalbuffer y relationmeta, a més de bindings de Python més polits.
- Acceleració i gràfics: grans millores en Vulkan y OpenGL (v210, YUY2/UYVY, Y444_10/16, importació de DMABuf), QML amb importació directa de DMABuf, CUDA amb compositor, nvenc AV1, Jetson NVMM i precompilat de kernels, Direct3D12 amb d3d12videosink, d3d12swapchainsink, d3d12d'interlace, IPC GPU zero-còpia, i captura HDR correcta.
- Targetes de captura: millores en AJA i Decklink (HDR PQ/HLG i planificació de frames).
- RTP / RTSP: rtspsrc amb claus MIKEY gestionades per client, nous modes de sync a rtpbin, jitterbuffer amb estat RFC7273, millores en rtph265depay i regeneració de timestamps a rtppassthroughpay, i nou rtpbin2 a Rust.
- WebRTC: webrtcbin amb rollbacks bàsics i millores; webrtcsink/src amb més encoders, MSE i sincronia NTP/PTP; WHEP/WHIP ja presents a l'ecosistema i elements de LiveKit/Kinesis disponibles en versions posteriors 1.26.x.
- Nous elements com a webview2src, extractors CC per a H.264/H.265, h266parse, svtjpegxsenc/dec i múltiples peces a VA i Rust.
Canvis tècnics fins que marquen la diferència
Contenidors i transport
A MP4 i Matroska es va afegir suport robust a VVC, formats niche com Hap/Lagarith i vídeo en brut, a més d'un maneig correcte de rotacions i flips per mitjana i per pista. MPEG‑TS ara pot muxejar i desmuxejar VVC, JPEG‑XS, VP9 i AV1 (amb mapeigs custom), ficar ID3 y SMPTE 302M, i tractar M2TS de 192 bytes. Per directes, mpegtslivesrc aporta un rellotge basat en PCR.
En streaming adaptatiu la client adaptivedemux2 evita flushes espuris en viu, admet URIs file:// i reintents amb backoff, i dashsink corregeix durades de període per a MPD dinàmics. HLS guanya nous sinks enfocats a CMAF ia escalar variants.
Subtítols, CC i SMPTE 2038
Els extractors/insertors per a H.264/H.265 manipulen CC en ordre de presentació sense descodificar (útil per a pipelins de processat sense recodificar), i la família Rust incorpora st2038ancdemux/mux i convertidors a CC. cea708overlay substitueix a cc708overlay amb suport modern i acceptació de buffers de GPU a 1.26.5.
Analítica i metadades
GstTensorMeta i noves relacions N‑a‑N faciliten fluxos de visió per ordinador complexos, amb màscares, conversions ONVIF i plugins d'utilitat per preservar buffers originals. Bindings de Python millorats agiliten iteració i edició de metes analítiques.
Acceleració: Vulkan, OpenGL, CUDA i D3D12
Vulkan millora memòria no coherent, colorimetries i pools, a més de perfils H.264/H.265 i encoder més àgil. OpenGL eixampla conversions (v210, YUY2/UYVY, Y444 d'alta profunditat) i DMABuf. CUDA suma compositor, nvav1enc, suport Jetson NVMM i precompilat. Direct3D12 estrena biblioteca pública, sinks amb equilibri de color, textures amb mipmaps, IPC zero-còpia i d'interllaçat portable.
RTP, RTSP i WebRTC
RTSP gestió MIKEY del costat client (útil amb càmeres Axis), rtpbin guanya maneres never/ntp, i jitterbuffer exposa estat RFC7273. Es millora la sol·licitud de keyframes a H.265 RTP i regeneració de timestamps a passarel·la. Rovell aporta rtpbin2 i payloaders per a AC3, AMR, JPEG, KLV, MPEG-TS, MP4A/G, Opus, PCMU/A, VP8/9. A WebRTC s'afinen rollbacks, nivells d'àudio, retransmissions i al llarg de 1.26.x s'han afegit fonts de Janus, LiveKit i WHEP.
API, rendiment i traces
GstIdStr substitueix GQuark en estructures/caps per evitar fuites i millorar rendiment comparant cadenes curtes; GstVecDeque entra en core per a cues més simples i eficients. S'amplien utilitats d'àudio/vídeo (reorderings, fast paths v210⇄I420_10/I422_10), i se sumen nous tracers (memòria, temps de push i PCAP). El sistema de logging afegeix detalls rics missatges (URI, stream‑id), i s'optimitza l'escriptura de DOTs.
