GStreamer 1.20.0 мультимедиялық фреймворк қолжетімді

Бір жарым жылдан кейін GStreamer 1.20 шығарылды, медиа ойнатқыштар мен аудио/бейне файлдарды түрлендіргіштерден бастап, VoIP қолданбалары мен ағындық жүйелерге дейін мультимедиялық қолданбалардың кең ауқымын жасауға арналған C тілінде жазылған кросс-платформалық компоненттер жинағы. GStreamer коды LGPLv2.1 бойынша лицензияланған. Сонымен қатар, gst-plugins-base 1.20, gst-plugins-good 1.20, gst-plugins-bad 1.20, gst-plugins-ugly 1.20, сондай-ақ gst-libav 1.20 байланыстыру және gst-rtsp-server 20 ағындық сервері. API және ABI деңгейінде жаңа шығарылым 1.0 тармағымен кері үйлесімді. Жақында екілік жинақтар Android, iOS, macOS және Windows үшін дайындалады (Linux жүйесінде тарату пакеттерін пайдалану ұсынылады).

GStreamer 1.20 негізгі жақсартулары:

  • GitLab жүйесінде әзірлеу барлық модульдерге ортақ бір репозиторийді пайдалануға ауыстырылды.
  • Жаңа жоғары деңгейлі GstPlay кітапханасы қосылды, ол GstPlayer API ауыстырады және GObject сигналдарының орнына қолданбаларды хабарлау үшін хабарлар шинасын пайдалану арқылы ерекшеленетін мазмұнды ойнату үшін ұқсас функционалдылықты ұсынады.
  • VP8/VP9 бейнелерін мөлдір аймақтармен ойнатуға мүмкіндік беретін WebM мөлдірлік ақпаратын декодтау үшін қосылды.
  • Кодтау профильдері енді қолданбаға тән қосымша сипаттарды орнатуға қолдау көрсетеді.
  • Compositor көп ағынды бейне түрлендіру мен араластыруды қолдайды.
  • Depayloader және payloader сыныптарында қосымша RTP тақырыптарымен (RTP Header Extensions) жұмыс істеу үшін бірыңғай қолдау бар.
  • SMPTE 2022-1 2-D (Forward Error Correction) механизміне қолдау қосылды.
  • VP8, VP9 және H.265 кодектеріне арналған кодтау және транскодебин смарт кодтау режимін жүзеге асырады, онда қайта кодтау қажет болғанда ғана орындалады, ал қалған уақытта бар ағын қайта жіберіледі.
  • souphttpsrc плагині енді libsoup2 және libsoup3-пен үйлесімді.
  • Толық кадрдың қабылдануын күтпей-ақ декодтауды бастауға мүмкіндік беретін аралық кадрлар (қосалқы кадр) деңгейінде кіріс деректерін декодтау мүмкіндігі қосылды. Бұл оңтайландыруға қолдау OpenJPEG JPEG 2000, FFmpeg H.264 және OpenMAX H.264/H.265 декодерлеріне кіреді.
  • RTP, WebRTC және RTSP протоколдары үшін бейнені декодтау кезінде пакеттердің жоғалуын, деректердің бүлінуін және негізгі кадр сұрауларын автоматты өңдеу қамтамасыз етіледі.
  • H.4/H.264 кіріс ағындары үшін профильді, деңгейді және ажыратымдылықты өзгертуге мүмкіндік беретін mp265 және Matroska медиа контейнер бумаларына жылдам кодек деректерін өзгертуге қолдау қосылды.
  • Фрагменттелген mp4 медиа контейнерлерін жасау режимі қосылды.
  • Аудио қолдау WPE (енгізілген WebKit порты) негізіндегі портқа қосылды.
  • Түс кеңістігін түрлендіру, элементтерді масштабтау және элементтерді жүктеу үшін CUDA пайдалану мүмкіндігі қосылды.
  • OpenGL glupload және gldownload элементтері үшін NVMM (NVIDIA жад модулі) жадына қолдау қосылды.
  • Жақсартылған WebRTC қолдауы.
  • VA-API (Video Acceleration API) үшін жаңа плагин ұсынылды, ол көбірек декодерлерді және кейінгі өңдеу элементтерін қолдайды.
  • AppSink API буферлер мен буфер тізімдеріне қосымша оқиғаларға қолдауды қосты.
  • Ішкі кезектерге арналған қосымша параметрлер AppSrc қолданбасына қосылды.
  • Rust тілінің байланыстары жаңартылды және Rust тілінде жазылған 26 жаңа плагин қосылды (gst-plugins-rs).
  • AES алгоритмі арқылы шифрлау және шифрды шешу үшін aesdec және aesec элементтері қосылды.
  • Тестілеу және жөндеу үшін жалған радиосинк және videocodecttestsink элементтері қосылды.
  • Минималистік GStreamer құрастыруларын жасауға арналған жақсартылған құралдар.
  • FFmpeg 5.0 көмегімен құру мүмкіндігі қосылды.
  • Linux үшін күйді сақтамай жұмыс істейтін MPEG-2 және VP9 кодектерінің нұсқалары енгізілді (тұрғылықты жері жоқ).
  • Windows үшін AV3 және MPEG-11 қолдауы Direct1D2/DXVA негізіндегі декодерге қосылды.

Ақпарат көзі: opennet.ru

пікір қалдыру