GStreamer 1.26.7: Vse nove funkcije in ključni popravki

  • Vzdrževalna izdaja s ciljno usmerjenimi popravki in brez sprememb API-ja/ABI-ja.
  • Izboljšave v RTP/RTSP, vsebnikih (TS/Matroska/FLV) in GPU-ju (CUDA/D3D12).
  • Prilagoditve zmogljivosti in zakasnitve za skupno rabo niti in hitrost videa.
  • Binarne datoteke za Android, iOS, macOS in Windows bodo kmalu na voljo.

gstreamer 1.26.7

Prihod GStreamerja 1.26.7 se zdi kot natančno nastavljena posodobitev: gre za izdajo, osredotočeno na odpravljanje napak, poliranje pomanjkljivosti in izboljšanje stabilnosti večplatformskega multimedijskega ogrodja. Čeprav ne prinaša prelomnih sprememb, ponuja pomemben nabor izboljšav, ki skupaj izboljšujejo zanesljivost v resničnih zvočnih in video scenarijih. Ta različica posveča veliko pozornosti ključnim elementom, kot so RTP/RTSP, vsebniki, grafični procesor, podnapisi CEA-608, časovna usklajenost in razvojna orodja. Je varna izbira za tiste, ki že uporabljajo serijo 1.26.x in si želijo manj presenečenj v produkciji.

Ekipa poudarja, da je to priporočena posodobitev za vse uporabnike stabilne veje , vključno z aplikacijami, ki delujejo z delovnimi procesi v realnem času, demultipleksiranjem priljubljenih formatov in cevovodi, ki jih podpirajo grafični procesorji NVIDIA ali Direct3D 12. Poleg tega obstaja praktična opomba: binarne datoteke za Android, iOS, macOS in Windows bodo kmalu na voljo , kar bo ekipam z več platformami olajšalo nemoteno premikanje med okolji.

Pregled izdaje GStreamer 1.26.7

GStreamer 1.26.7 se osredotoča na popravke hroščev, prilagoditve zakasnitve in izboljšave združljivosti, z vrsto popravkov, ki vplivajo tako na specifične vtičnike kot na medsektorske komponente. Med poudarki so izboljšave prekrivanja CEA-608, podpora za orodjarno CUDA 13.0, popravki v D3D12, novi nalagalniki/depayloaderji za linearni zvok v RTP, optimizacije demultipleksiranja in multiplekserjev ter izboljšave v mehanizmih za skupno rabo niti. Cilj je povečati robustnost brez spreminjanja API-jev ali pričakovanega vedenja v stabilni veji 1.26.

  • Podnapisi in prekrivni elementi: boljše upravljanje nesistemskega pomnilnika v prekrivna plast cea608.
  • GPU: Prevajanje jedra v podporo izvajalnega okolja za popravke CUDA 13.0 in D3D12 pri obrezovanju in razpletanju.
  • Demux in kontejnerji: izboljšave v qtdemux (prostorski kanali in delovanje z GoPro), popravki v mpegtsmux/tsdemux za Opus in popravke pri določanju blazinic na koncu toka na več multiplekserjih.
  • Omrežje v realnem času: novi nalagalniki/depayloaderji za linearni zvok (L8, L16, L24), RTSP keepalives v načinih TCP/prepleteno in več popravkov v rtp/rtpbasepay2/rtpamrpay2.
  • Zmogljivost in zakasnitev: izboljšave v deljenje niti, stopnja videoposnetkov in upravljanje časovnih žigov.
  • Razvoj in gradnja: Revidirane opombe gobject-introspection in posodobljen Meson na 1.9.0 na Cerberu za združljivost z Xcode 26. Večja stabilnost in manj puščanja pomnilnika.

Podrobnosti o popravkih in izboljšavah v GStreamerju 1.26.7

Podnapisi in prekrivni sloj CEA-608

Komponenta cea608overlay je deležna znatne izboljšave: zdaj učinkoviteje obravnava medpomnilnike iz pomnilnika, ki ga ne upravlja sistem, kar je pogosta težava pri integraciji pospeševalnikov ali zunanjih virov. To zmanjšuje subtilne napake pri mešanju podnapisov z videoposnetki v kompleksnih cevovodih. Rezultat je bolj predvidljiv in robusten prekrivni sloj, ko vir podatkov ni tradicionalni RAM.

Grafični procesor: CUDA in Direct3D 12

Na strani NVIDIA GStreamer 1.26.7 odpravlja prevajanje jeder med izvajanjem s CUDA 13.0. Ta sprememba je ključna za tiste, ki dinamično ustvarjajo jedra ali verižne filtre, ki se zanašajo na prevajanje med izvajanjem . Preprečuje zrušitve in napake v okoljih, ki so že prešla na najnovejšo verigo orodij CUDA.

Za Windows je zaledni sistem D3D12 izboljšan na dveh področjih: podpora za obrezovanje metapodatkov v pretvorniku in upravljanje prehoda v razpletalniku. V praksi se to prevede v dosledno obrezovanje v celotnem cevovodu in razpletanje, ki ne moti, kadar ne bi smelo, s čimer se izognemo nepotrebnim stroškom obdelave. Izboljšana vizualna doslednost in zmogljivost v cevovodih Direct3D 12.

Viri in sinhronizacija: fallbacksrc in inter

rezervni_program vključuje izboljšave pri upravljanju virov in oddaja signal no-more-pads Za starše, ki se ne zavedajo pretokov, olajšanje orkestracije cevovodov, ki preklapljajo med viri glede na razpoložljivost. To poenostavi zasnove, kjer obstajajo alternativni vhodi. Manj »lepilne« kode in bolj zanesljive spremembe izvorne kode.

Element `inter` doda lastnosti za natančno nastavitev svojih notranjih podkomponent. Razvijalcem, ki maksimizirajo komunikacijo med elementi prek povezav znotraj cevovoda, ta dodatna granularnost omogoča prilagajanje vedenja brez vdorov. To zagotavlja natančnejši nadzor nad sinhronizacijo in medpomnjenjem v naprednih topologijah.

Demultipleksiranje in kontejnerji

V svetu MPEG-TS mpegtsmux in tsdemux odpravljata težave, povezane z zvokom Opus, ki sicer ni najbolj klasičen kodek TS, vendar se vse bolj uveljavlja v sodobnih tokovih. To zmanjšuje artefakte, desinhronizacijo in nestabilne interpretacije tokov. Izboljšuje tudi interoperabilnost Opusa znotraj TS.

Več multiplekserjev, kot so matroskamux , tsmux , flvmux in cea608mux , popravi izbiro najboljše blazinice, ko pride do konca toka ( EOS ). Ta vrsta popravka je ključnega pomena za čista zaprtja datotek ali tokov, saj preprečuje nedosledne glave ali nepopolne zaključke. To ima za posledico čistejša zaprtja tokov in pravilne končne datoteke.

RTP/RTSP: Linearni zvok, ohranjanje aktivnosti in časovni okvir

Sklad RTP pridobi dodatne nalagalnike in deloaderje za linearne zvočne formate L8, L16 in L24, ki so zelo pogosti v profesionalnih okoljih, kjer sta zakasnitev in natančnost ključnega pomena. Ti dodatki razširjajo neposredno združljivost brez potrebe po vmesnih pretvorbah, kar zagotavlja večjo prilagodljivost za pretakanje nestisnjenega zvoka.

rtspsrc zdaj pošilja keepalive v načinu TCP/interleaved, kar zmanjšuje prekinitve zaradi časovne omejitve, ko so prisotni posredniki, požarni zidovi ali omrežja, ki so nagnjena k zaustavitvi neaktivnih povezav. V okoljih za spremljanje ali oddaljeno prispevanje je ta ukrep praktično bistvenega pomena. Stabilnejše seje RTSP v resničnih omrežjih.

V rtpamrpay2 so popravljeni vidiki, povezani z oznako kakovosti okvirja, v rtpbasepay2 pa se zadnji PTS ponovno uporabi, kadar je to mogoče – praktična rešitev za težave, o katerih so poročali pri kodirniku NVIDIA Jetson AV1. Morda se zdi kot manjša podrobnost, vendar neposredno vpliva na časovno kontinuiteto toka, kar ima za posledico manj tresenja in bolj dosledne časovne žige.

Čas in hitrost sličic

Funkcija videorate odpravlja morebitno težavo z neznanimi dolžinami medpomnilnika v tokovih s spremenljivo hitrostjo sličic. Te razmere, ki se pojavijo pri "neenakomernih" kamerah in virih, so zdaj bolje obvladovane. Večja je toleranca za spremenljive hitrosti sličic brez napak.

Zmogljivost: skupna raba niti in latenca

Podsistem deljenja niti je deležen več izboljšav, osredotočenih na zakasnitev in stabilnost. Deljenje niti med elementi zmanjšuje stroške, vendar zahteva občutljivo ravnovesje, da se izognemo ozkim grlom. Vključene spremembe izboljšujejo to ravnovesje, pri čemer so koristi še posebej opazne v kompleksnih cevovodih z nizko zakasnitvijo. Manj stroškov in hitrejši odziv v realnem času.

Interoperabilnost in veliki medpomnilniki: unixfd

Podpora za Unixfd zdaj obravnava medpomnilnike z velikimi koristnimi obremenitvami. Ta združljivost je dragocena pri povezovanju procesov z uporabo deskriptorjev datotek, kar je pogosto v večprocesorskih arhitekturah ali pri prenosu okvirjev med specializiranimi komponentami. Brezhiben prenos velikih naborov podatkov.

Storitve urejanja in komentiranja

V storitvah urejanja je bilo to storjeno Časovnica GES spoštujte odločitev o zavrnitvi signala SELECT_ELEMENT_TRACK, s čimer se popravljajo poti, ki so povzročale nepričakovano vedenje in puščanje pomnilnika. Ta prilagoditev zagotavlja bolj predvidljivo nelinearno urejanje in se izogne ​​​​"duhom" iz sproščenih elementov. Bolj skladen in neprekinjen časovni načrt.

Poleg tega so bile izboljšane opombe gobject-introspection , ki so osnova za ustvarjanje povezav v več jezikih . Z natančnejšimi opombami so tudi povezave natančnejše, kar zmanjšuje presenečenja pri razvoju v Pythonu, JavaScriptu ali drugih jezikih. Zanesljivejše povezave zaradi bolje opisane introspekcije.

Konstrukcija in orodjarna: Cerberus in Meson

Sistem gradnje Cerbero posodablja Meson na različico 1.9.0, kar omogoča združljivost z Xcode 26. Ta komponenta je ključna za gradnjo ekosistemskih SDK-jev in binarnih datotek, zato njena posodobitev odklene sodobne gradnje v sistemu macOS. Posodobljena okolja za gradnjo pomenijo manj trenja v CI/CD.

Na voljo je posodobitev in binarne datoteke za GStreamer 1.26.7

Ekipa pričakuje, da bodo binarne datoteke za Android, iOS, macOS in Windows na voljo »kmalu«, kar bo poenostavilo navzkrižno testiranje in uvajanje. Ker ni sprememb API-ja/ABI-ja in je različica 1.x stabilna, je primerna nadgradnja tudi za konzervativne cikle uvajanja. Nadgradnja na različico 1.26.7 je v bistvu operacija z nizkim tveganjem.

Če vzdržujete občutljive cevovode (na primer s strojno opremo NVIDIA Jetson ali IP kamerami prek RTSP), je priporočljivo preverjanje na kraju samem, zlasti glede časovnih sprememb (ponovna uporaba PTS) in ohranjanja delovanja sistema. Kljub temu je bil izrecni cilj te izdaje odpraviti napake brez spreminjanja pogodbenega vedenja. Po krogu preverjanja kakovosti preizkusite in uvedite z zaupanjem.

Dobre prakse in pravna obvestila

Pri distribuciji binarnih datotek ali dokumentacije ne pozabite na običajne premisleke glede blagovne znamke: kot je navedeno v uporabljenih virih, sta ime in logotip Arch Linux priznani blagovni znamki, uporaba blagovne znamke Linux® pa je pod podlicenco LMI, izključnega imetnika licence Linusa Torvaldsa. V kontekstu GStreamerja licenca LGPL in stabilnost API/ABI serije 1.x omogočata uvajanje tako v komercialne kot odprtokodne izdelke. Upoštevanje licenc in blagovnih znamk preprečuje kasnejše glavobole.

Po pregledu različice GStreamer 1.26.7 ostaja en jasen občutek: gre za pomembno vzdrževalno posodobitev, ki obravnava kritične komponente, ne da bi pri tem motila uporabniško izkušnjo, s posebnim poudarkom na stabilnosti omrežja, vsebnikih in pospeševanju GPU-ja. Pri večini projektov, ki temeljijo na različici 1.26, bo nadgradnja povzročila manj napak, bolj dosledne cevovode in bolje pripravljene temelje za prihodnji razvoj, vse to z brezskrbnostjo stabilne veje, ki spoštuje API-je/ABI-je in še naprej neguje svoj ekosistem orodij in gradenj. Ta izdaja je zasnovana tako, da vam pomaga bolje delati danes in jutri iti dlje.

Gstreamer 1.26.6
Povezani članek:
GStreamer 1.26.6 prihaja z izboljšavami delovanja, novimi kodeki in številnimi popravki

Dodaj kot prednostni vir v Googlu