Pas një viti e gjysmë gjithsej zhvillimi, u publikua GStreamer 1.20, një grup komponentësh shumëplatformorë i shkruar në gjuhën C për krijimin e një gamë të gjerë aplikacionesh multimediale, nga playerët e mediave dhe konvertorët e skedarëve audio/video, deri te aplikacionet VoIP dhe sistemet e transmetimit në rrjet. Kodi i GStreamer shpërndahen nën licencën LGPLv2.1. Njëkohësisht janë të disponueshme përditësime për pluginat gst-plugins-base 1.20, gst-plugins-good 1.20, gst-plugins-bad 1.20, gst-plugins-ugly 1.20 si dhe mbështetje për gst-libav 1.20 dhe serverin e transmetimit gst-rtsp-server 20. Në nivelin e API dhe ABI, publikimi i ri është retro-kompatibil me degën 1.0. Ndërkohë, ndërtimet binare do të përgatiten së shpejti për Android, iOS, macOS dhe Windows (në Linux rekomandohen paketat nga distribucioni).
Përmirësimet kryesore të GStreamer 1.20:
- Zhvillimi në GitLab është kaluar në përdorimin e një depoje të vetme të përbashkët për të gjithë modulet.
- Bashkëngjitur një bibliotekë e re e nivelit të lartë GstPlay, e cila zëvendëson API-në GstPlayer dhe ofron funksione të ngjashme për riprodhimin e përmbajtjes, ndryshimi i saj me përdorimin e autobusit të mesazheve për njoftimin e aplikacioneve në vend të sinjaleve GObject.
- Shtuar mbështetje për dekodimin e informacionit rreth transparencës në formatin WebM, i cili lejon riprodhimin e videove VP8/VP9 me zona transparente.
- Në profilin e kodimit është shtuar mbështetje për rregullimin e pronave shtesë, specifike për aplikacionet.
- Në Compositor është realizuar përkrahje për transformimin dhe përzierjen e videove në mod të shumëfishtë.
- Në klasat depayloader dhe payloader është unifikuar mbështetje për punën me cilësimet shtesë RTP (RTP Header Extensions).
- Shtuar mbështetje për mekanizmin e korrigjimit të parakohshëm të gabimeve SMPTE 2022-1 2-D (Forward Error Correction).
- Në encodebin dhe transcodebin për kodekët VP8, VP9 dhe H.265 është realizuar një mod inteligjent kodimi («smart encoding»), ku rikodimi ndodh vetëm kur është e nevojshme, përndryshe kalon rrjedhën ekzistuese.
- Siguruar pajtueshmërinë e pluginës souphttpsrc me libsoup2 dhe libsoup3.
- Shtuar mundësia e dekodimit të të dhënave hyrëse në nivelin e kadrove të ndërmjetme (sub-frame), që lejon fillimin e dekodimit pa pritur marrjen e një kadri të plotë. Mbështetje për këtë optimizim është aktivizuar në dekoduesit OpenJPEG JPEG 2000, FFmpeg H.264 dhe OpenMAX H.264/H.265.
- Gjatë dekodimit të videove për protokollet RTP, WebRTC dhe RTSP është siguruar përpunimi automatik i humbjes së paketave, dëmtimit të të dhënave dhe kërkesave për çelësat e kadrovit.
- Në paketuesit e kontejnerëve mediatik mp4 dhe Matroska është shtuar mbështetje për ndryshimin në kohë reale të të dhënave të koduesit, që lejon ndryshimin e profilit, nivelit dhe zgjatjes për rrjedhat H.264/H.265.
- ĂshtĂ« shtuar njĂ« mod nĂ« krijimin e kontejnerĂ«ve mediatikĂ« tĂ« fragmentuar mp4.
- Në portin e bazuar në WPE (WebKit Port për Embedded) është shtuar mbështetje për zë.
- ĂshtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« CUDA pĂ«r transformimin e hapĂ«sirĂ«s sĂ« ngjyrave, shkallĂ«zimin e elementeve dhe ngarkimin e elementeve.
- Për elementët OpenGL glupload dhe gldownload është shtuar mbështetje për memorien NVMM (NVIDIA Memory Module).
- ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r WebRTC.
- ĂshtĂ« propozuar njĂ« plugin i ri pĂ«r VA-API (Video Acceleration API), i cili mbĂ«shtet mĂ« shumĂ« dekodues dhe elemente pasprocesimi.
- Në API AppSink është shtuar mbështetje për ngjarjet përveç tamponëve dhe listave të tamponëve.
- Në AppSrc janë shtuar cilësime të tjera për radhët e brendshme.
- Janë përditësuar lidhjet në gjuhën Rust dhe janë shtuar 26 pluginë të rinj të shkruar në Rust (gst-plugins-rs).
- Janë shtuar elemente aesdec dhe aesenc për enkriptimin dhe dekriptimin me algoritmin AES.
- Janë shtuar elemente fakeaudiosink dhe videocodectestsink për testimin dhe depurimin.
- Janë përmirësuar mjetet për krijimin e ndërtimeve minimaliste GStreamer.
- ĂshtĂ« shtuar mundĂ«sia e ndĂ«rtimit me FFmpeg 5.0.
- Për Linux janë realizuar variante të kodekëve MPEG-2 dhe VP9, që funksionojnë pa mbajtjen e gjendjes (Stateless).
- Për Windows në dekoduesin e bazuar në Direct3D11/DXVA është shtuar mbështetje për AV1 dhe MPEG-2.
Burimi: opennet.ru
