Доступен мультимедийный фреймворк GStreamer 1.22.0
После года разработки состоялся релиз 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.
- Добавлен элемент qml6glsink, использующий Qt6 для отрисовки видео внутри сцены QML.
Добавлены элементы gtk4paintablesink и gtkwaylandsink для отрисовки с использованием GTK4 и Wayland.
Добавлены новые клиенты для адаптивного стриминга, поддерживающие протоколы HLS, DASH и MSS (Microsoft Smooth Streaming).
- Предоставлена возможность создания урезанных сборок, оптимизированных для сокращения размера.
- Добавлена поддержка WebRTC simulcast и Google Congestion Control.
- Реализован написанный на Rust медиасервер на базе WebRTC, поддерживающий WHIP (WebRTC HTTP ingest) и WHEP (WebRTC HTTP egress).
- Предоставлен простой и самодостаточный плагин для отправки через 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).
- Добавлен элемент 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-режима.
Источник: http://www.opennet.ru/opennews/art.shtml? num=58537
© OpenNet