După un an de dezvoltare, a fost lansată versiunea GStreamer 1.26, un set de componente multiplatformă pentru crearea unei game largi de aplicații multimedia, de la playere media și convertoare de fișiere audio/video, până la aplicații VoIP și sisteme de streaming. Codul GStreamer este distribuit sub licența LGPLv2.1. Actualizările pentru plugin-urile gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, precum și pentru wrapperul gst-libav și serverul de streaming gst-rtsp-server, sunt dezvoltate separat. La nivel de API și ABI, noua versiune este compatibilă cu backward cu ramura 1.0. Versiunile binare vor fi pregătite în curând pentru Android, iOS, macOS și Windows (în Linux, se recomandă utilizarea pachetelor din distribuție).
Îmbunătățiri cheie GStreamer 1.26:
- Au fost adăugate un codec și un decodor pentru formatul video VVC (Versatile Video Coding), cunoscut și ca standardul de compresie video H.266, dezvoltat în colaborare de grupuri de lucru MPEG (ISO/IEC JTC 1) și VCEG (ITU-T), cu participarea unor companii precum Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm și Sony. H.266 înlocuiește H.265 (HEVC) și oferă o eficiență ridicată pentru transmiterea și stocarea tuturor rezoluțiilor de ecran (de la SD și HD până la 4K și 8K), suportând video cu interval dinamic extins (HDR, High Dynamic Range) și video panoramic în modul 360 de grade.
- Au fost adăugate un codec și un decodor pentru standardul de codare video LCEVC (Low Complexity Enhancement Video Coding), care implementează un strat suplimentar cu metadate pentru îmbunătățirea calității celor existente codec-uri H.26x și MP4/ISOBMFF.
- Au fost adăugate un codec și un decodor pentru formatul de imagini JPEG XS, care este poziționat ca un sistem de codare a imaginilor ușor, asigurând întârzieri minime în timpul codării și decodării și având ca obiectiv optimizarea transmisiei secvențelor de imagini de foarte înaltă calitate (până la 8K). JPEG XS permite reducerea semnificativă a lățimii de bandă necesară fără pierderi semnificative ale calității pentru ochiul uman.
- A fost adăugată posibilitatea de substituție și extragere a subtitrărilor ascunse pentru formatele H.264 și H.265.
- Îmbunătățită suportul pentru streaming adaptiv bazat pe protocoalele HLS (HTTP Live Streaming) și DASH (Dynamic Adaptive Streaming over HTTP). Au fost adăugate noi receptoare multimedia (sink) hlscmafsink și hlssink3 pentru redarea fragmentelor CMAF (fMP4) și MPEG-TS, precum și hlsmultivariantsink pentru redarea variabilă.
- În encoderul și decoderul containerelor multimedia MPEG-TS a fost adăugată suport pentru codec-uri H.266, JPEG XS, AV1 și VP9, precum și pentru metadate SMPTE ST-2038 și ID3.
- În formatele Matroska și ISO MP4 au fost adăugați encoderi și decoderi pentru codec-ul H.266/VVC. În MP4 au fost adăugați decoderi pentru videoclipuri în formatele Hap și Lagarith.
- A fost adăugată suportul pentru SMPTE 2038, un sistem pentru atașarea de date și metadate suplimentare la containere multimedia.
- Integrarea cu API-ul grafic Vulkan a fost îmbunătățită. Funcționalitățile pentru gestionarea memoriei, selecția spațiului de culori, gestionarea dispozitivelor și modul pe ecran complet au fost extinse. A fost adăugat suport pentru extensiile Vulkan pentru accelerarea decodării video H264 și H265. Performanța encoderului care utilizează Vulkan a fost îmbunătățită.
- Integrarea cu OpenGL a fost îmbunătățită. A fost adăugat suport pentru formate suplimentare de conversie a culorilor și formate pixel. A fost adăugat suport pentru importul fluxurilor folosind DMABufs.
- Integrarea cu biblioteca Qt6 și QML a fost îmbunătățită.
- Componentele pentru integrarea cu CUDA și NVIDIA Video Codec SDK au fost extinse. A fost adăugat un encoder pentru formatul AV1 bazat pe API-ul NVCODEC.
- A fost implementată biblioteca gst-d3d12 cu encodere și decodere bazate pe API Direct3D 12.
- În cadrul stivei RTSP a fost adăugat suport pentru gestionarea cheilor MIKEY pe partea clientului.
- În audioconvert a fost adăugat suport pentru reagruparea canalelor audio.
- În pluginul bazat pe biblioteca GTK3 a fost adăugat suport pentru OpenGL/WGL pe platforma Windows.
- În elementul imagefreeze a fost adăugat suport pentru formatele JPEG și PNG.
- În elementul pitch a fost implementată posibilitatea de redare în direcția inversă.
- În elementul rtmp2 au fost îmbunătățite mecanismele de autentificare pe serverele RTP. A fost adăugat suport pentru autentificarea în CDN Limelight.
- În pluginul pentru integrarea cu VA-API au fost adăugate elemente pentru accelerarea decodării H.266 (VVC), precum și codificarea VP8 și JPEG.
- Au fost adăugate elemente pentru lucrul cu fluxuri bazate pe protocolul QUIC (raw QUIC, RTP-over-QUIC și WebTransport).
- În setul gst-plugins-rs au fost adăugate 23 de noi elemente sau pluginuri scrise în limbajul Rust. Pluginurile scrise în Rust pot fi folosite în programe în orice limbaj și lucrul cu ele este similar cu utilizarea pluginurilor în C și C++.
Sursa: opennet.ro
