GStreamer 1.26.7: Sve nove značajke i ključne ispravke

  • Izdanje za održavanje s ciljanim ispravcima i bez promjena API-ja/ABI-ja.
  • Poboljšanja u RTP/RTSP-u, kontejnerima (TS/Matroska/FLV) i GPU-u (CUDA/D3D12).
  • Prilagodbe 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 višeplatformskog multimedijskog okvira. 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 posvetila je mnogo pažnje ključnim elementima kao što su RTP/RTSP, kontejneri, GPU-i, 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 stvarnom vremenu, demultipleksiranje popularnih formata i cjevovode koje podržavaju NVIDIA GPU-ovi ili Direct3D 12. Osim toga, postoji i praktična napomena: Binarne datoteke za Android, iOS, macOS i Windows bit će uskoro dostupne., što timovima koji koriste više platformi olakšava besprijekorno kretanje između okruženja.

Pregled izdanja GStreamer 1.26.7

GStreamer 1.26.7 fokusira se na ispravke programskih pogrešaka, podešavanje latencije i poboljšanja kompatibilnosti, s nizom ispravaka koji utječu i na specifične dodatke i na višeplatformske komponente. Najvažnije značajke uključuju poboljšani CEA-608 overlay, podršku za CUDA 13.0 alatni lanac, ispravke D3D12, nove payloadere/depayloadere za linearni zvuk 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 dio sistema u cea608overlay.
  • GPU: Kompilacija kernela u runtime podršku za CUDA 13.0 i D3D12 ispravke u obrezivanju i deinterlaciranju.
  • 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 muxera.
  • Umrežavanje u stvarnom vremenu: novi payloaderi/depayloaderi za linearni audio (L8, L16, L24), RTSP keepalive-ovi u TCP/interleaved načinima rada i višestruka ispravka u rtp/rtpbasepay2/rtpamrpay2.
  • Performanse i latencija: poboljšanja u dijeljenje niti, stopa videozapisa i upravljanje vremenskim žigovima.
  • Razvoj i izrada: Revidirane anotacije gobject-introspection i ažuriran Meson na 1.9.0 na Cerberu za kompatibilnost s Xcode 26. Veća stabilnost i manje curenja memorije.

Detalji ispravaka i poboljšanja u GStreameru 1.26.7

Titlovi i prekrižni sloj CEA-608

Komad cea608overlay dobiva značajno poboljšanje: sada bolje obrađuje međuspremnike koji dolaze iz memorije kojom ne upravlja sustav, što je česta pojava pri integraciji akceleratora ili vanjskih izvora. To smanjuje suptilne pogreške pri miješanju titlova s ​​videom u složenim cjevovodima. Rezultat je predvidljiviji i robusniji sloj. kada izvor podataka nije tradicionalni RAM.

Grafička kartica: CUDA i Direct3D 12

Što se tiče NVIDIA-e, GStreamer 1.26.7 ispravlja kompilaciju kernela tijekom izvođenja s CUDA 13.0. Ova promjena je ključna za one koji dinamički generiraju kernele ili lančano filtriraju koji ovise o 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 izrezivanja u pretvaraču i upravljanje prolazom u deinterlaceru. U praksi, to rezultira poštovanim izrezivanjem kroz cijeli lanac i deinterlaciranjem koje ne ometa kada ne bi trebalo, čime se izbjegavaju nepotrebni troškovi obrade. Poboljšana vizualna konzistentnost i performanse u Direct3D 12 cjevovodima.

Izvori i sinkronizacija: fallbacksrc i inter

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

Element između dodaje svojstva za fino podešavanje svojih unutarnjih podkomponenti. Za razvojne programere koji maksimiziraju komunikaciju između elemenata putem veza unutar cjevovoda, ova dodatna granularnost omogućuje fino podešavanje ponašanja bez hakova. Preciznija kontrola nad vremenom i međuspremnikom u naprednim topologijama.

Demultipleksiranje i kontejneri

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

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

RTP/RTSP: Linearni zvuk, keepalive poruke i vrijeme

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

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

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

Vremenski raspored i broj sličica u sekundi

Element stopa videozapisa Ispravljena je tvrdnja koja se mogla pokrenuti s nepoznatim trajanjem međuspremnika u streamovima s promjenjivom brzinom sličica u sekundi. Ovi uvjeti, koji se javljaju s "neujednačenim" kamerama i izvorima, sada se bolje obrađuju. Veća tolerancija na promjenjive brzine kadrova bez rušenja sustava.

Performanse: dijeljenje niti i latencija

Podsustav 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 posebno vidljivim u složenim cjevovodima s niskom latencijom. Manji troškovi i brži odziv u stvarnom vremenu.

Interoperabilnost i veliki međuspremnici: unixfd

Podrška unixfd Sada obrađuje međuspremnike s velikim korisnim teretom. 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 dodavanja anotacija

U Uslugama uređivanja to je učinjeno 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 omogućuje predvidljivije nelinearno uređivanje, izbjegavajući "duhove" iz 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 točnija, smanjujući iznenađenja pri razvoju u Pythonu, JavaScriptu ili drugim programskim jezicima. Pouzdanije veze zahvaljujući bolje opisanoj introspekciji.

Konstrukcija i alatni lanac: Cerberus i Meson

Cerbero sustav za izgradnju ažurira Meson na verziju 1.9.0, omogućujući kompatibilnost s Xcode 26. To je ključno za izgradnju SDK-ova i binarnih datoteka ekosustava, pa ažuriranje otključava moderne verzije na macOS-u. Ažurna okruženja za izradu, 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 pojednostavljuje unakrsno testiranje i implementacije. Budući da nema promjena API-ja/ABI-ja i da je 1.x stabilan, prikladno je ažuriranje čak i za konzervativne cikluse izdanja. Kretanje prema 1.26.7 je u biti trgovina niskog rizika..

Ako koristite osjetljive cjevovode (na primjer, s NVIDIA Jetson hardverom ili IP kamerama putem RTSP-a), dobra je ideja provesti validaciju na licu mjesta, posebno za promjene vremena (ponovna upotreba PTS-a) i keepalive-ove. Ipak, eksplicitni cilj ovog izdanja bio je ukloniti greške bez mijenjanja ugovornog ponašanja. Testirajte i implementirajte s povjerenjem nakon kruga provjere kvalitete.

Dobre prakse i pravne napomene

Prilikom distribucije binarnih datoteka ili dokumentacije, imajte na umu uobičajene propise o zaštitnim znakovima: kao što je naznačeno u konzultiranim izvorima, naziv i logotip Arch Linuxa su priznati zaštitni znakovi, a korištenje zaštitnog znaka Linux® je pod podlicencom tvrtke LMI, isključivog nositelja licence Linusa Torvaldsa. Za GStreamer, LGPL licenca i API/ABI stabilnost serije 1.x 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: radi se o velikoj zastoju u održavanju koja se dotiče kritičnih komponenti bez da ikoga skrene s puta, s posebnim naglaskom na stabilnost mreže, kontejnere i GPU ubrzanje. Za većinu projekata temeljenih na verziji 1.26, ovaj skok rezultirat će manjim brojem grešaka, konzistentnijim cjevovodima 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 ekosustav alata i kompilacije. Izdanje osmišljeno da danas bolje funkcionira, a sutra ide dalje..

Gstreamer 1.26.6
Povezani članak:
GStreamer 1.26.6 stiže s poboljšanjima performansi, novim kodecima i višestrukim ispravcima