Po pusantrų metų kūrimo išleista „GStreamer 1.20“ versija. Tai kelių platformų komponentų rinkinys, parašytas C kalba, skirtas kurti įvairias multimedijos programas – nuo medijos grotuvų ir garso/vaizdo failų keitiklių iki VoIP programų ir srautinio perdavimo sistemų. „GStreamer“ kodas platinamas pagal LGPLv2.1 licenciją. Tuo pačiu metu prieinami atnaujinimai įskiepiams „gst-plugins-base 1.20“, „gst-plugins-good 1.20“, „gst-plugins-bad 1.20“, „gst-plugins-ugly 1.20“, taip pat „gst-libav 1.20 wrapper“ ir „gst-rtsp-server 20“ srautinio perdavimo serveriui. Naujoji versija yra suderinama su 1.0 šaka API ir ABI lygmeniu. Dvejetainės versijos netrukus bus paruoštos. Android, IOS, macOS и Windows (in Linux (Rekomenduojama naudoti paketus iš platinamojo paketo).
Pagrindiniai GStreamer 1.20 patobulinimai:
- „GitLab“ kūrimas buvo perjungtas į vieną saugyklą, bendrą visiems moduliams.
- Pridėta nauja aukšto lygio „GstPlay“ biblioteka, kuri pakeičia „GstPlayer“ API ir siūlo panašias turinio atkūrimo funkcijas, kurios skiriasi tuo, kad naudoja pranešimų magistralę, kad praneštų programoms, o ne „GObject“ signalams.
- Pridėtas WebM skaidrumo informacijos dekodavimo palaikymas, leidžiantis atkurti VP8/VP9 vaizdo įrašus su skaidriomis sritimis.
- Kodavimo profiliai dabar palaiko papildomas konkrečios programos ypatybes.
- Kompozitorius palaiko kelių gijų vaizdo konvertavimą ir maišymą.
- Depayloader ir payloader klasės turi vieningą palaikymą darbui su papildomomis RTP antraštėmis (RTP Header Extensions).
- Pridėtas SMPTE 2022-1 2-D (Persiųsti klaidų taisymas) mechanizmo palaikymas.
- Encodebin ir transcodebin VP8, VP9 ir H.265 kodekams įgyvendina išmaniojo kodavimo režimą, kuriame perkodavimas atliekamas tik esant būtinybei, o likusį laiką persiunčiamas esamas srautas.
- Souphttpsrc papildinys dabar suderinamas su libsoup2 ir libsoup3.
- Pridėta galimybė dekoduoti įvesties duomenis tarpinių kadrų (sub-frame) lygiu, kas leidžia pradėti dekoduoti nelaukiant, kol bus gautas visas kadras. Šio optimizavimo palaikymas įtrauktas į OpenJPEG JPEG 2000, FFmpeg H.264 ir OpenMAX H.264/H.265 dekoderius.
- Dekoduojant vaizdo įrašą RTP, WebRTC ir RTSP protokolams, užtikrinamas automatinis paketų praradimo, duomenų sugadinimo ir raktų kadrų užklausų tvarkymas.
- Prie mp4 ir „Matroska“ medijos konteinerių pakuočių buvo pridėtas palaikymas, leidžiantis keisti kodeko duomenis skrydžio metu, todėl galite keisti H.264/H.265 įvesties srautų profilį, lygį ir skiriamąją gebą.
- Pridėtas suskaidytų mp4 medijos konteinerių kūrimo režimas.
- Garso palaikymas buvo pridėtas prie WPE (WebKit Port for Embedded) pagrįsto prievado.
- Pridėta galimybė naudoti CUDA spalvų erdvės konvertavimui, elementų mastelio keitimui ir elementų įkėlimui.
- Pridėtas NVMM (NVIDIA atminties modulio) atminties palaikymas, skirtas OpenGL glupload ir gldownload elementams.
- Patobulintas WebRTC palaikymas.
- Buvo pasiūlytas naujas VA-API (Video Acceleration API) papildinys, palaikantis daugiau dekoderių ir papildomo apdorojimo elementų.
- „AppSink“ API papildė įvykių palaikymą, be buferių ir buferių sąrašų.
- Prie AppSrc buvo pridėti papildomi vidinių eilių nustatymai.
- Atnaujinti Rust kalbos įrišimai ir pridėti 26 nauji papildiniai, parašyti Rust (gst-plugins-rs).
- Pridėta aesdec ir aesenc elementai šifravimui ir iššifravimui naudojant AES algoritmą.
- Pridėta fakeaudiosink ir videocodectestsink elementai, skirti testavimui ir derinimui.
- Patobulinti įrankiai, skirti kurti minimalistines GStreamer versijas.
- Pridėta galimybė kurti naudojant FFmpeg 5.0.
- Už Linux Įdiegtos MPEG-2 ir VP9 kodekų versijos be būsenos.
- Už Windows „Direct3D11/DXVA“ pagrindu sukurtas dekoderis dabar palaiko AV1 ir MPEG-2.
Šaltinis: opennet.ru
