Пасля года распрацоўкі адбыўся рэліз GStreamer 1.22, кросплатформавага набору кампанентаў для стварэння шырокага спектру мультымедыя прыкладанняў, ад медыяплэераў і канвертараў аўдыё/відэа файлаў, да VoIP-прыкладанняў і сістэм струменевага вяшчання. Код GStreamer распаўсюджваецца пад ліцэнзіяй LGPLv2.1. Асобна развіваюцца абнаўленні плагінаў gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, а таксама абвязка gst-libav і сервер струменевага вяшчання gst-rtsp-server. На ўзроўні API і ABI новы выпуск зваротна сумяшчальны з галінкай 1.0. Бінарныя зборкі ў хуткім часе будуць падрыхтаваны для Android, iOS, macOS і Windows (у Linux рэкамендуецца выкарыстоўваць пакеты з дыстрыбутыва).
Ключавыя паляпшэнні GStreamer 1.22:
- Палепшана падтрымка фармату кадавання відэа AV1. Дададзена магчымасць выкарыстання апаратнага паскарэння кадавання і дэкадаванні AV1 праз API VAAPI/VA, AMF, D3D11, NVCODEC, QSV і Intel MediaSDK. Дададзены новыя RTP-апрацоўшчыкі для AV1. Палепшаны разбор AV1 у кантэйнерах MP4, Matroska і WebM. У склад зборак уключаны элементы з кадавальніка і дэкадавальнік AV1 на базе бібліятэк dav1d і rav1e.
- Рэалізавана падтрымка Qt6. Дададзены элемент qml6glsink, які выкарыстоўвае Qt6 для адмалёўкі відэа ўнутры сцэны QML.
- Дададзеныя элементы gtk4paintablesink і gtkwaylandsink для адмалёўкі з выкарыстаннем GTK4 і Wayland.
- Дададзены новыя кліенты для адаптыўнага стрымінгу, якія падтрымліваюць пратаколы HLS, DASH і MSS (Microsoft Smooth Streaming).
- Дадзена магчымасць стварэння ўрэзаных зборак, аптымізаваных для скарачэння памеру.
- Дададзена падтрымка WebRTC simulcast і Google Congestion Control.
- Прадастаўлены просты і самадастатковы убудова для адпраўкі праз WebRTC.
- Дададзены новы пакавальнік медыякантэйнераў MP4 з падтрымкай фрагментаваных і не фрагментаваных дадзеных.
- Дададзены новыя ўбудовы для сховішча Amazon AWS і сэрвісаў транскрыпцыі гуку.
- Абноўлены прывязкі для мовы Rust. Дададзена 19 новых плагінаў, эфектаў і элементаў, напісаных на Rust (gst-plugins-rs). Адзначаецца, што 33% з змен у новым GStreamer рэалізаваны на Rust (змены датычацца прывязак і плагінаў), а набор плагінаў gst-plugins-rs з'яўляецца адным і найбольш актыўна развіваюцца модуляў GStreamer. Убудовы, напісаныя на мове Rust, могуць выкарыстоўвацца ў праграмах на любых мовах і праца з імі аналагічная выкарыстанню плагінаў на C і C++.
- Забяспечана пастаўка плагінаў на Rust у складзе афіцыйных бінарных пакетаў для платформаў Windows і macOS (зборка і пастаўка падтрымліваецца для Linux, Windows і macOS).
- Рэалізаваны напісаны на Rust медыясервер на базе WebRTC, які падтрымлівае WHIP (WebRTC HTTP ingest) і WHEP (WebRTC HTTP egress).
- Дададзены элемент videocolorscale, які спалучае ў сабе магчымасці для канвертавання і маштабаванні відэа.
- Палепшана падтрымка відэа з вялікай глыбінёй колеру.
- У API Navigation дададзена падтрымка падзей ад сэнсарных экранаў.
- Дададзеныя элементы карэкцыі часавых пазнак H.264/H.265 для рэканструкцыі PTS/DTS перад пакаваннем медыякантэйнераў.
- На платформе Linux палепшана ўжыванне DMA для сумеснай працы з буферамі пры кадаванні, дэкадаванні, фільтраванні і адмалёўцы відэа з ужываннем апаратнага паскарэння.
- Палепшана інтэграцыя з CUDA: дабаўлены бібліятэка gst-cuda і элемент cudaconvertscale, забяспечана інтэграцыя з элементамі D3D11 і NVIDIA dGPU NVMM.
- Палепшана інтэграцыя з Direct3D11: дададзена новая бібліятэка gst-d3d11, пашыраны магчымасці плагінаў d3d11screencapture, d3d11videosink, d3d11convert і d3d11compositor.
- Для GPU AMD рэалізаваны новыя апаратна паскораныя кадавальнікі відэа ў фарматах H.264 / AVC, H.265 / HEVC і AV1, пабудаваныя з выкарыстаннем SDK AMF (Advanced Media Framework).
- У убудову applemedia дададзеная падтрымка кадавання і дэкадаванні відэа H.265 / HEVC.
- У убудову androidmedia дададзена падтрымка кадавання відэа H.265 / HEVC.
- У убудовы audiomixer, compositor, glvideomixer і d3d11compositor дададзена ўласцівасць force-live для прымусовага ўключэння live-рэжыму.
Крыніца: opennet.ru