După un an de dezvoltare, a avut loc lansarea GStreamer 1.22, un set de componente multiplatformă pentru crearea unei game largi de aplicații multimedia, de la playere media și conversoare de fișiere audio/video, până la aplicații VoIP și sisteme de streaming. Codul GStreamer este distribuit sub licența LGPLv2.1. Separat, sunt dezvoltate actualizări pentru pluginurile gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, precum și interfața gst-libav și serverul de streaming gst-rtsp-server. La nivel de API și ABI, noua versiune este compatibilă în mod retro cu ramura 1.0. Pachetele 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.22:
- A fost îmbunătățită suportul pentru formatul de codare video AV1. A fost adăugată posibilitatea de a utiliza accelerarea hardware-ului pentru codarea și decodarea AV1 prin API-urile VAAPI/VA, AMF, D3D11, NVCODEC, QSV și Intel MediaSDK. Au fost adăugați noi handleri RTP pentru AV1. A fost îmbunătățit parserul AV1 în containerele MP4, Matroska și WebM. Pachetele includ elemente cu codificatoare și decodificatoare AV1 bazate pe bibliotecile dav1d și rav1e.
- A fost implementat suportul pentru Qt6. A fost adăugat elementul qml6glsink, care folosește Qt6 pentru redarea video în cadrul scenei QML.
- Au fost adăugate elementele gtk4paintablesink și gtkwaylandsink pentru redare folosind GTK4 și Wayland.
- Au fost adăugați noi clienți pentru streaming adaptiv, care suportă protocoale HLS, DASH și MSS (Microsoft Smooth Streaming).
- A fost oferită posibilitatea de a crea pachete reduse, optimizate pentru reducerea dimensiunii.
- A fost adăugat suport pentru WebRTC simulcast și Google Congestion Control.
- A fost furnizat un plugin simplu și autosuficient pentru trimiterea prin WebRTC.
- A fost adăugat un nou ambalator de containere media MP4 cu suport pentru date fragmentate și nefragmentate.
- Au fost adăugate pluginuri noi pentru stocarea Amazon AWS și servicii de transcriere audio.
- Au fost actualizate legăturile pentru limbajul Rust. Au fost adăugate 19 noi pluginuri, efecte și elemente scrise în Rust (gst-plugins-rs). Se observă că 33% din modificările din noul GStreamer sunt implementate în Rust (modificările vizează legăturile și pluginurile), iar setul de pluginuri gst-plugins-rs este unul dintre cele mai activ dezvoltate module GStreamer. Pluginurile scrise în Rust pot fi utilizate în programe scrise în orice limbaj și gestionarea lor este similară cu utilizarea pluginurilor scrise în C și C++.
- Sunt disponibile pachete de pluginuri pentru Rust ca parte a pachetelor binare oficiale pentru platformele Windows și macOS (construcția și livrarea sunt suportate pentru Linux, Windows și macOS).
- A fost implementat un server media scris în Rust pe baza WebRTC, care suportă WHIP (WebRTC HTTP ingest) și WHEP (WebRTC HTTP egress).
- A fost adăugat elementul videocolorscale, care combină funcționalități pentru conversia și scalarea video.
- A fost îmbunătățită suportul pentru video cu adâncime mare de culoare.
- În API-ul Navigation a fost adăugată suportul pentru evenimentele de la ecranele tactile.
- A fost adăugat elemente de corectare a marcajelor temporale H.264/H.265 pentru reconstrucția PTS/DTS înainte de ambalarea containerelor media.
- Pe platforma Linux, a fost îmbunătățită utilizarea DMA pentru a colabora cu buferele în timpul codării, decodării, filtrării și redării video folosind accelerare hardware.
- A fost îmbunătățită integrarea cu CUDA: au fost adăugate biblioteca gst-cuda și elementul cudaconvertscale, asigurând integrarea cu elementele D3D11 și NVIDIA dGPU NVMM.
- A fost îmbunătățită integrarea cu Direct3D11: a fost adăugată o nouă bibliotecă gst-d3d11, extinzând funcționalitățile pluginurilor d3d11screencapture, d3d11videosink, d3d11convert și d3d11compositor.
- Pentru GPU-urile AMD, au fost implementate noi codecuri video accelerate hardware în formatele H.264/AVC, H.265/HEVC și AV1, construite folosind SDK-ul AMF (Advanced Media Framework).
- În pluginul applemedia a fost adăugată suportul pentru codarea și decodarea video H.265/HEVC.
- În pluginul androidmedia a fost adăugată suportul pentru codarea video H.265/HEVC.
- În pluginurile audiomixer, compositor, glvideomixer și d3d11compositor a fost adăugat proprietatea force-live pentru activarea forțată a modului live.
Sursa: opennet.ro
