GStreamer 1.26.7: Toate noile funcții și corecțiile cheie

  • Versiune de întreținere cu remedieri specifice și fără modificări API/ABI.
  • Îmbunătățiri ale RTP/RTSP, containerelor (TS/Matroska/FLV) și GPU-ului (CUDA/D3D12).
  • Modificări de performanță și latență pentru partajarea thread-urilor și rata de redare video.
  • Versiuni binare pentru Android, iOS, macOS și Windows disponibile în curând.

gstreamer 1.26.7

Sosirea GStreamer 1.26.7 Vine cu un aspect rafinat: este o versiune axată pe corectarea erorilor, netezirea colțurilor și consolidarea stabilității cadrului multimedia multiplatformă. Deși nu aduce schimbări disruptive, oferă un set notabil de îmbunătățiri care, împreună, cresc fiabilitatea în scenarii audio și video din lumea reală. Această versiune a acordat multă atenție elementelor cheie precum RTP/RTSP, containerele, GPU-urile, subtitrările CEA-608, sincronizarea și instrumentele de dezvoltare. Este o salt sigură pentru cei care erau deja pe seria 1.26.x. și își doresc mai puține eșecuri în producție.

Echipa subliniază că aceasta este o actualizare recomandată tuturor utilizatorilor ramură stabilă, inclusiv aplicații care funcționează cu fluxuri în timp real, demultiplexarea formatelor populare și conducte acceptate de GPU-urile NVIDIA sau Direct3D 12. În plus, există o notă practică: Versiunile binare pentru Android, iOS, macOS și Windows vor fi disponibile în curând., facilitând trecerea fără probleme între medii de către echipele multiplatformă.

Prezentare generală a versiunii GStreamer 1.26.7

GStreamer 1.26.7 se concentrează pe remedierea erorilor, reglarea latenței și îmbunătățirea compatibilității, cu o serie de corecții care afectează atât pluginuri specifice, cât și componente multi-platformă. Printre aspectele importante se numără o suprapunere CEA-608 îmbunătățită, suport pentru lanțul de instrumente CUDA 13.0, corecții D3D12, noi payloadere/depayloadere pentru audio liniar în RTP, optimizări pentru demuxing și muxing și îmbunătățiri ale mecanismelor de partajare a thread-urilor. Scopul este de a crește robustețea fără a modifica API-urile sau comportamentele așteptate. pe ramura stabilă 1.26.

  • Subtitrări și suprapuneri: o mai bună gestionare a memoriei non-sistem în cea608overlay.
  • GPU: Compilarea kernelului pentru suport runtime pentru CUDA 13.0 și corecții D3D12 în decupare și deinterlațare.
  • Demux și containere: îmbunătățiri în qtdemux (canale surround și performanță cu GoPro), corecții în mpegtsmux/tsdemux pentru Opus și remedieri la determinarea pad-urilor la sfârșitul fluxului pe mai multe multiplexoare.
  • Rețele în timp real: noi încărcătoare/deîncărcătoare pentru audio liniar (L8, L16, L24), memorii RTSP keepalive în modurile TCP/interleaved și multiple corecții în rtp/rtpbasepay2/rtpamrpay2.
  • Performanță și latență: îmbunătățiri în distribuire de fire de discuție, rata video și gestionarea mărcilor temporale.
  • Dezvoltare și Construcție: Adnotările de introspecție gobject au fost revizuite și Meson a fost actualizat la versiunea 1.9.0 pe Cerbero pentru compatibilitate cu Xcode 26. Mai multă stabilitate și mai puține pierderi de memorie.

Detalii despre corecțiile și îmbunătățirile din GStreamer 1.26.7

Subtitrări și suprapunere CEA-608

Piesa cea608overlay beneficiază de o îmbunătățire semnificativă: acum gestionează mai bine bufferele provenite din memoria negestionată de sistem, o situație frecventă la integrarea acceleratoarelor sau a surselor externe. Acest lucru reduce erorile subtile la amestecarea subtitrărilor cu videoclipuri în conducte complexe. Rezultatul este o suprapunere mai previzibilă și mai robustă. când sursa de date nu este memoria RAM tradițională.

GPU: CUDA și Direct3D 12

Din partea NVIDIA, GStreamer 1.26.7 corectează compilarea kernel-urilor în timpul rulării cu CUDA 13.0. Această modificare este crucială pentru cei care generează kernel-uri dinamic sau filtre în lanț care depind de compilare în timpul rulării. Evită blocările și defecțiunile în mediile care au făcut deja saltul la cel mai recent lanț de instrumente CUDA.

Pentru Windows, backend-ul D3D12 se îmbunătățește pe două fronturi: suport pentru metadatele de decupare în convertor și gestionarea passthrough-ului în deinterlacer. În practică, acest lucru are ca rezultat o decupare respectată pe tot parcursul lanțului și o deinterlacere care nu interferează atunci când nu ar trebui, evitând costurile de procesare inutile. Consistență vizuală și performanță îmbunătățite în conductele Direct3D 12.

Surse și sincronizare: fallbacksrc și inter

rezerverc încorporează îmbunătățiri în gestionarea sursei și emite semnalul no-more-pads Pentru părinții care nu sunt conștienți de fluxuri, facilitarea orchestrării unor canale care schimbă sursele în funcție de disponibilitate. Acest lucru simplifică proiectele acolo unde există intrări alternative. Mai puțin cod „lipicios” și modificări ale sursei mai fiabile.

Elementul altele adaugă proprietăți pentru a regla fin subcomponentele sale interne. Pentru dezvoltatorii care maximizează comunicarea dintre elemente prin legături intra-pipeline, această granularitate suplimentară permite reglarea fină a comportamentului fără intervenții inedite. Control mai precis asupra temporizării și buffering-ului în topologii avansate.

Demultiplexare și containere

În lumea MPEG-TS, mpegtsmux y tsdemux Acestea corectează aspecte legate de Opus audio, care, deși nu este cel mai clasic codec TS, îmbunătățește performanța în fluxurile moderne. Acest lucru reduce artefactele, desincronizările și interpretările instabile ale fluxurilor. Interoperabilitate Opus îmbunătățită în cadrul TS.

Mai multe multiplexoare, cum ar fi matroskamux, tsmux, flvmux y cea608mux, ei rezolvă selecția celei mai bune plăcuțe atunci când apare o problemă EOS (Sfârșit de flux). Acest tip de corecție este crucial pentru închiderea curată a fișierelor sau a fluxurilor, evitând anteturile inconsistente sau trailerele incomplete. Închideri de flux mai curate și fișiere finale corecte.

RTP/RTSP: Audio liniar, keepalives și temporizare

Stiva RTP câștigă payloadere și depayloadere pentru audio liniar L8, L16 și L24, formate foarte comune în mediile profesionale unde latența și fidelitatea sunt importante. Aceste formate extind compatibilitatea directă fără a fi nevoie de transformări intermediare. Mai multă flexibilitate pentru streaming audio necomprimat.

rtspsrc Acum trimite keepalive în moduri TCP/interleaved, reducând la minimum deconectările cauzate de timeout-uri atunci când există proxy-uri, firewall-uri sau rețele predispuse la întreruperea conexiunilor inactive. În mediile de monitorizare sau de contribuție la distanță, această măsură este practic esențială. Sesiuni RTSP mai stabile pe rețele reale.

En rtpamrpay2 aspectele legate de marcajul de calitate al cadrului sunt corectate și, în rtpbasepay2 Ultimul PTS este reutilizat ori de câte ori este posibil, o soluție practică pentru a evita problemele raportate cu codificatorul NVIDIA Jetson AV1. Poate părea un detaliu minor, dar are un impact direct asupra continuității temporale a fluxului. Mai puțin jitter și timestamp-uri mai consistente.

Sincronizare și rată de cadre

Elementul rata video S-a remediat o aserțiune care se putea declanșa cu durate necunoscute ale bufferului în fluxuri cu rată de cadre variabilă. Aceste condiții, care apar cu camere și surse „neuniforme”, sunt acum mai bine gestionate. Toleranță mai mare la ratele variabile de cadre pe secundă fără blocaje.

Performanță: partajare de fire de execuție și latență

Subsistemul distribuire de fire de discuție Acesta primește mai multe îmbunătățiri care vizează latența și stabilitatea. Partajarea thread-urilor între elemente reduce supraîncărcarea, dar necesită o ajustare fină a echilibrului pentru a evita introducerea blocajelor. Modificările au inclus ajustarea fină a acestui echilibru, beneficiile fiind vizibile în special în conductele complexe cu latență redusă. Mai puține cheltuieli generale și răspuns mai rapid în timp real.

Interoperabilitate și buffere mari: unixfd

Standul unixfd Acum gestionează bufferele cu sarcini utile mari. Acest suport este valoros la conectarea proceselor prin intermediul descriptorilor de fișiere, ceea ce este comun în arhitecturile multiproces sau cu transmiterea cadrelor între componente specializate. Mobilitate mare a datelor fără întreruperi.

Servicii de editare și adnotare

În cadrul serviciilor de editare, s-a procedat astfel: Cronologie GEST respectă decizia de a elimina semnalul SELECT_ELEMENT_TRACK, corectând căile care cauzau comportamente neașteptate și pierderi de memorie. Această modificare oferă o editare neliniară mai previzibilă, evitând „fantome” provenite de la elementele dealocate. Un calendar mai conform, fără scurgeri de informații.

În plus, notele sunt lustruite. gobject-introspecție, care stau la baza generării de legături către mai multe limbaje. Cu adnotări mai precise, legăturile sunt mai precise, reducând surprizele la dezvoltarea în Python, JavaScript sau altele. Legături mai fiabile datorită unei introspecții mai bine descrise.

Construcție și lanț de unelte: Cerber și Meson

Sistemul de compilare Cerbero actualizează Meson la versiunea 1.9.0, permițând compatibilitatea cu Xcode 26. Acest lucru este esențial pentru construirea SDK-urilor și a fișierelor binare ale ecosistemului, așadar actualizarea acestuia deblochează compilații moderne pe macOS. Medii de construcție moderne, mai puține dificultăți în CI/CD.

Actualizare GStreamer 1.26.7 și fișiere binare disponibile

Echipa anunță că versiunile binare pentru Android, iOS, macOS și Windows vor fi disponibile „în curând”, simplificând testarea încrucișată și implementările. Deoarece nu există modificări API/ABI și versiunea 1.x este stabilă, este o actualizare potrivită chiar și pentru cicluri de lansare conservatoare. Trecerea la 1.26.7 este în esență o tranzacție cu risc scăzut..

Dacă utilizați conducte sensibile (de exemplu, cu hardware NVIDIA Jetson sau camere IP prin RTSP), este o idee bună să validați in situ, în special pentru modificările de temporizare (reutilizarea PTS) și keepalive-uri. Totuși, scopul explicit al acestei versiuni a fost eliminarea erorilor fără a modifica comportamentul contractual. Testați și implementați cu încredere după o rundă de QA.

Bune practici și note legale

Când distribuiți fișiere binare sau documentație, vă rugăm să rețineți considerațiile obișnuite privind mărcile comerciale: așa cum este indicat în sursele consultate, numele și sigla Arch Linux sunt mărci comerciale recunoscute, iar utilizarea mărcii comerciale Linux® se face sub o sublicență de la LMI, licențiatul exclusiv al Linus Torvalds. Pentru GStreamer, licența LGPL și stabilitatea API/ABI a seriei 1.x facilitează implementarea în produse comerciale și gratuite. Respectarea licențelor și a mărcilor comerciale evită durerile de cap ulterioare..

Un lucru este clar după analiza versiunii GStreamer 1.26.7: este o oprire majoră de mentenanță care atinge componentele critice fără a devia pe nimeni, cu accent special pe stabilitatea rețelei, containere și accelerarea GPU. Pentru majoritatea proiectelor bazate pe versiunea 1.26, trecerea la versiunea inițială va duce la mai puține erori, conducte de procesare mai consistente și o fundație mai bine pregătită pentru orice va urma, toate cu liniștea sufletească a unei ramuri stabile care respectă API-urile/ABI-urile și continuă să își mențină ecosistemul de instrumente și compilare. O lansare concepută să funcționeze mai bine astăzi și să meargă mai departe mâine..

Gstreamer 1.26.6
Articol asociat:
GStreamer 1.26.6 sosește cu îmbunătățiri de performanță, codecuri noi și multiple remedieri