Bir illik inkişafdan sonra GStreamer 1.22, media pleyerlərdən və audio/video fayl çeviricilərindən tutmuş VoIP proqramları və axın sistemlərinə qədər geniş çeşidli multimedia proqramlarının yaradılması üçün çarpaz platforma komponentləri dəsti buraxıldı. GStreamer kodu LGPLv2.1 altında lisenziyalaşdırılıb. Ayrı-ayrılıqda gst-plugins-base, gst-plugins-yaxşı, gst-plugins-pis, gst-plugins-uly plaginlərinə, həmçinin gst-libav bağlamasına və gst-rtsp-server axın serverinə yeniləmələr hazırlanır. . API və ABI səviyyəsində yeni buraxılış 1.0 filialı ilə geriyə uyğundur. İkili montajlar tezliklə Android, iOS, macOS və Windows üçün hazırlanacaq (Linux-da paylama paketlərindən istifadə etmək tövsiyə olunur).
GStreamer 1.22-də əsas təkmilləşdirmələr:
- AV1 video kodlaşdırma formatı üçün təkmilləşdirilmiş dəstək. VAAPI/VA, AMF, D1D3, NVCODEC, QSV və Intel MediaSDK API-ləri vasitəsilə AV11 kodlaması və dekodlanması üçün aparat sürətləndirilməsindən istifadə etmək imkanı əlavə edilib. AV1 üçün yeni RTP işləyiciləri əlavə edildi. MP1, Matroska və WebM konteynerlərində AV4-in təkmilləşdirilmiş təhlili. Montajlara dav1d və rav1e kitabxanalarına əsaslanan AV1 kodlayıcıları və dekoderləri olan elementlər daxildir.
- Qt6 üçün həyata keçirilən dəstək. QML səhnəsində video göstərmək üçün Qt6 istifadə edən qml6glsink elementi əlavə edildi.
- GTK4 və Wayland istifadə edərək göstərmək üçün gtk4paintablesink və gtkwaylandsink elementləri əlavə edildi.
- HLS, DASH və MSS (Microsoft Smooth Streaming) protokollarını dəstəkləyən adaptiv axın üçün yeni müştərilər əlavə edildi.
- Ölçü kiçilməsi üçün optimallaşdırılmış soyulmuş birləşmələr yaratmaq imkanı verir.
- WebRTC simulcast və Google Congestion Control üçün əlavə dəstək.
- WebRTC vasitəsilə göndərmək üçün sadə və müstəqil plagin təmin edilmişdir.
- Parçalanmış və parçalanmamış məlumatları dəstəkləyən yeni MP4 media konteyner paketləyicisi əlavə edildi.
- Amazon AWS saxlama və audio transkripsiya xidmətləri üçün yeni plaginlər əlavə edildi.
- Rust dili üçün yenilənmiş bağlamalar. Rust-da yazılmış 19 yeni plagin, effekt və element əlavə edildi (gst-plugins-rs). Qeyd edilir ki, yeni GStreamer-də edilən dəyişikliklərin 33%-i Rust-da həyata keçirilir (dəyişikliklər bağlamalara və plaginlərə aiddir), gst-plugins-rs plagin dəsti isə ən fəal şəkildə inkişaf etdirilən GStreamer modullarından biridir. Rust dilində yazılmış plaginlər istənilən dildə proqramlarda istifadə oluna bilər və onlarla işləmək C və C++ dillərində plaginlərdən istifadə etməyə bənzəyir.
- Rust plaginləri Windows və macOS platformaları üçün rəsmi binar paketlərin bir hissəsi kimi təqdim olunur (quraşdırma və çatdırılma Linux, Windows və macOS üçün dəstəklənir).
- WHIP (WebRTC HTTP qəbulu) və WHEP (WebRTC HTTP çıxışı) dəstəkləyən Rust-da yazılmış WebRTC əsaslı media serveri tətbiq edilmişdir.
- Video konvertasiya və miqyaslama imkanlarını birləşdirən videorəng miqyası elementi əlavə edildi.
- Yüksək rəng dərinliyi olan video üçün təkmilləşdirilmiş dəstək.
- Naviqasiya API-yə toxunma ekran hadisələri üçün dəstək əlavə edildi.
- Media qablarını qablaşdırmadan əvvəl PTS/DTS rekonstruksiyası üçün H.264/H.265 vaxt damğası düzəliş elementləri əlavə edildi.
- Linux platformasında DMA-nın istifadəsi hardware sürətləndirilməsindən istifadə edərək videonun kodlaşdırılması, deşifrə edilməsi, süzülməsi və göstərilməsi zamanı buferlərlə birlikdə işləmək üçün təkmilləşdirilmişdir.
- CUDA ilə inteqrasiya təkmilləşdirildi: gst-cuda kitabxanası və cudaconvertscale elementi əlavə edildi, D3D11 və NVIDIA dGPU NVMM elementləri ilə inteqrasiya təmin edildi.
- Direct3D11 ilə inteqrasiya təkmilləşdirilib: yeni gst-d3d11 kitabxanası əlavə edilib, d3d11screencapture, d3d11videosink, d3d11convert və d3d11compositor plaginlərinin imkanları genişləndirilib.
- AMD GPU-ları üçün H.264 / AVC, H.265 / HEVC və AV1 formatlarında AMF (Advanced Media Framework) SDK-dan istifadə etməklə qurulmuş yeni aparat sürətləndirilmiş video kodlayıcılar həyata keçirilir.
- Applemedia plagini H.265/HEVC video kodlaşdırma və deşifrə üçün dəstək əlavə edib.
- Androidmedia plagininə H.265/HEVC video kodlaşdırma dəstəyi əlavə edildi.
- Canlı rejimi aktivləşdirməyə məcbur etmək üçün audiomixer, compositor, glvideomixer və d3d11compositor plaginlərinə force-live xüsusiyyəti əlavə edilib.
Mənbə: opennet.ru