GStreamer 1.26.7: Sve nove funkcije i ključne ispravke

  • Izdanje za održavanje sa ciljanim ispravkama i bez promjena API-ja/ABI-ja.
  • Poboljšanja u RTP/RTSP, kontejnerima (TS/Matroska/FLV) i GPU-u (CUDA/D3D12).
  • Podešavanja performansi i latencije za dijeljenje niti i ocjenjivanje videa.
  • Binarne datoteke za Android, iOS, macOS i Windows uskoro dostupne.

gstreamer 1.26.7

Dolazak GStreamer 1.26.7 Dolazi s uglađenim osjećajem: to je izdanje usmjereno na ispravljanje grešaka, zaglađivanje nedostataka i jačanje stabilnosti multimedijalnog okvira za više platformi. Iako ne donosi revolucionarne promjene, pruža značajan skup poboljšanja koja zajedno povećavaju pouzdanost u stvarnim audio i video scenarijima. Ova verzija je posvetila mnogo pažnje ključnim elementima kao što su RTP/RTSP, kontejneri, GPU-ovi, CEA-608 titlovi, tajming i alati za razvoj. To je siguran skok za one koji su već bili na seriji 1.26.x. i žele manje zastoja u proizvodnji.

Tim naglašava da je ovo preporučeno ažuriranje za sve korisnike stabilna grana, uključujući aplikacije koje rade sa streamovima u realnom vremenu, demultipleksiranjem popularnih formata i cjevovodima koje podržavaju NVIDIA GPU-ovi ili Direct3D 12. Pored toga, postoji i praktična napomena: Binarne datoteke za Android, iOS, macOS i Windows bit će uskoro dostupne., što olakšava timovima koji koriste više platformi nesmetano kretanje između okruženja.

Pregled izdanja GStreamer 1.26.7

GStreamer 1.26.7 se fokusira na ispravke grešaka, podešavanje latencije i poboljšanja kompatibilnosti, s nizom ispravki koje utiču i na specifične dodatke i na višeplatformske komponente. Najvažnije među njima su poboljšani CEA-608 overlay, podrška za CUDA 13.0 alatni lanac, ispravke za D3D12, novi payloaderi/depayloaderi za linearni audio u RTP-u, optimizacije demultipleksa i multipleksa, te poboljšanja mehanizama dijeljenja niti. Cilj je povećati robusnost bez mijenjanja API-ja ili očekivanog ponašanja. na stabilnoj grani 1.26.

  • Titlovi i slojevi: bolje upravljanje memorijom koja nije sistemska u cea608overlay.
  • GPU: Kompilacija kernela u runtime podršku za CUDA 13.0 i D3D12 ispravke u izrezivanju i deinterlacingu.
  • Demux i kontejneri: poboljšanja u qtdemux (surround kanali i performanse s GoPro kamerom), korekcije u mpegtsmux/tsdemux za Opus i ispravke prilikom određivanja jastučića na kraju streama na nekoliko multipleksera.
  • Umrežavanje u realnom vremenu: novi payloaderi/depayloaderi za linearni audio (L8, L16, L24), RTSP keepalive-ovi u TCP/interleaved modovima i višestruke ispravke u rtp/rtpbasepay2/rtpamrpay2.
  • Performanse i latencija: poboljšanja u dijeljenje niti, stopa videozapisa i upravljanje vremenskim žigovima.
  • Razvoj i izgradnja: Revidirane anotacije gobject-introspection i ažuriran Meson na 1.9.0 na Cerberu za kompatibilnost sa Xcode 26. Veća stabilnost i manje curenja memorije.

Detalji ispravki i poboljšanja u GStreameru 1.26.7

Titlovi i prekrivač CEA-608

Komad cea608overlay dobija značajno poboljšanje: sada bolje obrađuje bafere koji dolaze iz memorije kojom ne upravlja sistem, što je česta pojava prilikom integracije akceleratora ili eksternih izvora. Ovo smanjuje suptilne greške prilikom miješanja titlova sa videom u složenim cjevovodima. Rezultat je predvidljiviji i robusniji sloj. kada izvor podataka nije tradicionalna RAM memorija.

Grafička kartica: CUDA i Direct3D 12

Sa strane NVIDIA-e, GStreamer 1.26.7 ispravlja kompajliranje kernela tokom izvođenja sa CUDA 13.0. Ova promjena je ključna za one koji dinamički generišu kernele ili lančano filteruju koji zavise od... kompilacija za vrijeme izvođenja. Izbjegava padove i kvarove u okruženjima koja su već prešla na najnoviji CUDA alatni lanac.

Za Windows, D3D12 backend je poboljšan na dva fronta: podrška za metapodatke orezivanja u konvertoru i upravljanje prolazom u deinterlaceru. U praksi, ovo rezultira poštovanim izrezivanjem kroz cijeli lanac i deinterlacingom koji ne ometa kada ne bi trebao, izbjegavajući nepotrebne troškove obrade. Poboljšana vizualna konzistentnost i performanse u Direct3D 12 cjevovodima.

Izvori i sinhronizacija: fallbacksrc i inter

rezervniserc uključuje poboljšanja u upravljanju izvorima i emituje signal no-more-pads Za roditelje koji nisu svjesni tokova, olakšavanje orkestracije cjevovoda koji mijenjaju izvore na osnovu dostupnosti. Ovo pojednostavljuje dizajn tamo gdje postoje alternativni ulazi. Manje "slijepljenog" koda i pouzdanije promjene izvornog koda.

Element Inter dodaje svojstva za fino podešavanje svojih internih podkomponenti. Za programere koji maksimiziraju komunikaciju između elemenata putem intra-pipeline veza, ova dodatna granularnost omogućava fino podešavanje ponašanja bez hakova. Preciznija kontrola nad vremenom i baferovanjem u naprednim topologijama.

Demultipleksiranje i kontejneri

U svijetu MPEG-TS-a, mpegtsmux y tsdemux Oni ispravljaju aspekte vezane za Opus audio, koji, iako nije najklasičniji TS kodek, poboljšava performanse u modernim streamovima. Ovo smanjuje artefakte, desinkronizacije i nestabilne interpretacije streama. Poboljšana interoperabilnost Opusa unutar TS-a.

Nekoliko multipleksera, kao što su matroskamux, tsmux, flvmux y cea608mux, oni popravljaju odabir najboljeg uloška kada se pojavi problem EOS (Kraj toka). Ova vrsta korekcije je ključna za čisto zatvaranje datoteka ili toka, izbjegavajući nekonzistentne zaglavlja ili nepotpune najave. Čistije zatvaranje toka i ispravne završne datoteke.

RTP/RTSP: Linearni audio, keepalive poruke i tajming

RTP stek dobija payloadere i depayloadere za linearni audio L8, L16 i L24, formate koji su vrlo uobičajeni u profesionalnim okruženjima gdje su latencija i vjernost zvuka važni. Ovi formati proširuju direktnu kompatibilnost bez potrebe za međutransformacijama. Veća fleksibilnost za nekomprimirani audio streaming.

rtpsrc Sada šalje keepalive poruke u TCP/interleaved modovima, minimizirajući prekide veze zbog isteka vremena kada postoje proxyji, zaštitni zidovi ili mreže sklone pauziranju neaktivnih veza. U okruženjima za praćenje ili udaljeni doprinos, ova mjera je praktično neophodna. Stabilnije RTSP sesije na stvarnim mrežama.

En rtpamrpay2 aspekti vezani za oznaku kvaliteta okvira su ispravljeni, i u rtpbasepay2 Posljednji PTS se ponovo koristi kad god je to moguće, što je praktično rješenje za zaobilaženje prijavljenih problema s NVIDIA Jetson AV1 enkoderom. Možda se čini kao mali detalj, ali direktno utiče na vremenski kontinuitet streama. Manje podrhtavanja i konzistentnije vremenske oznake.

Tajming i broj sličica u sekundi

Element stopa videozapisa Ispravljena je tvrdnja koja se mogla pokrenuti s nepoznatim trajanjem bafera u streamovima s promjenjivom brzinom kadrova. Ovi uvjeti, koji se javljaju s "neujednačenim" kamerama i izvorima, sada su bolje obrađeni. Veća tolerancija za varijabilne brzine kadrova bez rušenja sistema.

Performanse: dijeljenje niti i latencija

Podsistem dijeljenje niti Dobija nekoliko poboljšanja usmjerenih na latenciju i stabilnost. Dijeljenje niti između elemenata smanjuje opterećenje, ali zahtijeva fino podešavanje ravnoteže kako bi se izbjeglo uvođenje uskih grla. Promjene su uključivale fino podešavanje ove ravnoteže, s prednostima koje su posebno primjetne u složenim cjevovodima s niskom latencijom. Manji troškovi i brži odziv u realnom vremenu.

Interoperabilnost i veliki baferi: unixfd

Stojalo unixfd Sada obrađuje bafere s velikim korisnim opterećenjem. Ova podrška je vrijedna prilikom povezivanja procesa putem deskriptora datoteka, što je uobičajeno u višeprocesnim arhitekturama ili kod prijenosa okvira između specijaliziranih komponenti. Velika mobilnost podataka bez prekida.

Usluge uređivanja i anotacije

U Uslugama uređivanja, to je urađeno GESVremenska crta poštujte odluku o odbacivanju signala SELECT_ELEMENT_TRACK, ispravljajući putanje koje su uzrokovale neočekivano ponašanje i curenje memorije. Ovo podešavanje pruža predvidljivije nelinearno uređivanje, izbjegavajući "duhove" od dealociranih elemenata. Usklađeniji vremenski okvir bez curenja informacija.

Osim toga, note su uglađene. gobject-introspekcija, koji su osnova za generiranje povezivanja s više jezika. S preciznijim anotacijama, povezivanja su tačnija, smanjujući iznenađenja prilikom razvoja u Pythonu, JavaScriptu ili drugim programskim jezicima. Pouzdanije vezivanje zahvaljujući bolje opisanoj introspekciji.

Konstrukcija i alati: Cerberus i Meson

Cerbero sistem za izgradnju ažurira Meson na verziju 1.9.0, omogućavajući kompatibilnost sa Xcode 26. Ovo je ključno za izgradnju ekosistema SDK-ova i binarnih datoteka, tako da ažuriranje otključava moderne verzije na macOS-u. Ažurirana okruženja za izgradnju, manje trenja u CI/CD.

Dostupno je ažuriranje i binarne datoteke za GStreamer 1.26.7

Tim najavljuje da će binarne datoteke za Android, iOS, macOS i Windows biti dostupne "uskoro", što će pojednostaviti unakrsno testiranje i implementaciju. Budući da nema promjena API-ja/ABI-ja i da je verzija 1.x stabilna, ovo je prikladno ažuriranje čak i za konzervativne cikluse izdanja. Kretanje prema 1.26.7 je u suštini trgovina niskog rizika..

Ako koristite osjetljive procese (na primjer, s NVIDIA Jetson hardverom ili IP kamerama putem RTSP-a), dobra je ideja izvršiti validaciju na licu mjesta, posebno za promjene vremena (ponovna upotreba PTS-a) i keepalive funkcije. Ipak, eksplicitni cilj ovog izdanja bio je eliminirati greške bez mijenjanja ugovornog ponašanja. Testirajte i implementirajte s povjerenjem nakon runde kontrole kvaliteta.

Dobre prakse i pravne napomene

Prilikom distribucije binarnih datoteka ili dokumentacije, molimo vas da imate na umu uobičajene odredbe o zaštitnim znakovima: kao što je naznačeno u konsultovanim izvorima, naziv i logo Arch Linuxa su priznati zaštitni znakovi, a korištenje zaštitnog znaka Linux® je pod podlicencom od LMI-a, ekskluzivnog nosioca licence Linusa Torvaldsa. Za GStreamer, LGPL licenca i API/ABI stabilnost 1.x serije olakšavaju implementaciju u komercijalnim i besplatnim proizvodima. Poštivanje licenci i zaštitnih znakova izbjegava kasnije glavobolje..

Jedno je jasno nakon pregleda GStreamera 1.26.7: to je velika faza održavanja koja se dotiče kritičnih komponenti bez da ikoga skrene s puta, s posebnim fokusom na stabilnost mreže, kontejnere i GPU ubrzanje. Za većinu projekata zasnovanih na verziji 1.26, ovaj skok će rezultirati manjim brojem grešaka, konzistentnijim protocima i bolje pripremljenom osnovom za sve što slijedi, a sve to uz mir stabilne grane koja poštuje API-je/ABI-je i nastavlja održavati svoj ekosistem alata i kompilacije. Izdanje osmišljeno da bolje funkcioniše danas, a da sutra ide dalje..

Gstreamer 1.26.6
Vezani članak:
GStreamer 1.26.6 stiže s poboljšanjima performansi, novim kodecima i brojnim ispravkama