Дата публикации:Wed, 28 Jan 2026 12:57:31 +0300
После почти года разработки представлен релиз GStreamer 1.28, кроссплатформенного набора компонентов для создания широкого спектра мультимедиа приложений, от медиаплееров и конвертеров аудио/видео файлов, до 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.28:
- Добавлен новый плагин HIP (Heterogeneous-computing Interface for Portability) для поддержки развиваемого компанией AMD программного интерфейса для гетерогенных вычислений, в которых помимо CPU используются средства параллельных вычислений GPU. HIP упрощает реализацию поддержки разных GPU в одной кодовой базе (для выполнения на GPU AMD задействован стек ROCm, а на GPU NVIDIA - прослойка для трансляции в CUDA). Плагином предоставляются компоненты, реализованные с использованием HIP, для выполнения таких операций, как смешивание видео, преобразования из одного цветового пространства в другое, изменение размера видео и организация обмена данными между системной памятью и видеопамятью. Дополнительно подготовлена библиотека для интеграции поддержки HIP в приложения. Добавлена поддержка стандарта кодирования видео LCEVC (Low Complexity Enhancement Video Coding), реализующего поверх штатных кодеков H.265 и H.266 дополнительный слой с метаданными для улучшения качества видео. Реализация кодировщика и декодировщика LCEVC базируется на библиотеках из SDK V-Nova. Добавлена поддержка возможностей графического API Vulkan для ускорения декодирования видео в форматах AV1 и VP9, а также кодирования видео в формате H.264. В базирующийся на Vulkan декодировщик видео H.265 добавлена поддержка глубины цвета с 10-битами на канал. В элементе gtkwaylandsink, предназначенном для отрисовки с использованием GTK4 и Wayland, расширены возможности для работы с цветом, например, добавлена поддержка разбора и выставления метаданных HDR10. Добавлен новый элемент для разделения источников звука (например, разделения голоса и фоновой музыки), основанный на библиотеке charon-audio, реализующей метод Demucs на языке Rust. Кроме того, в состав включён плагин Deepgram для распознавания речи, написанный на Rust. Расширены возможности аналитики и распознавания объектов. Добавлены элементы для объединения и разделения аналитики. Реализованы классификатор tensor-decoder, детектор лиц facedetector, детектор объектов YOLOv8, элемент для выполнения и декодировщик для модели распознавания объектов YOLOX. Добавлены элемент tensordecodebin для автоподключения декодировщиков и элемент для выполнения AI-моделей при помощи LiteRT (пришёл на смену TensorFlow Lite). Добавлен новый элемент для декодирования GIF-изображений, написанный на Rust и поддерживающий зацикленную анимацию. В элементе input-selector реализован двухфазный механизм переключения между входными потоками (sinkpad), исключающий возникновение состояния гонки при переключении. В элемент webrtcsink добавлена поддержка аппаратного ускорения кодирования при помощи VA-API и возможность повторного согласования соединения. Добавлены элементы для комбинирования и извлечения потоков в формате стандарта телевещания ST-2038. В элемент fallbacksrc добавлена поддержка кодированных потоков. В мультимедийном контейнере FLV, используемом для RTMP-вещания, улучшена поддержка видео H.265 и добавлена поддержка многотоекового звука. В элемент glupload добавлена поддержка загрузчика на базе udmabuf, позволяющего совместно использовать буферы между программными декодировщиками/источниками и GPU, дисплейными движками (wayland) и прочими устройствами. Добавлен элемент qml6 для отрисовки при помощи Qt6 QML. В библиотеку для работы с видео добавлены операции для кадрирования, масштабирования, поворота и сдвига. Добавлен объект GstContext, позволяющий использовать совместный пул потоков при выполнении элементов для повышения производительности таких операций, как композитинг и преобразование видео. Добавлен элемент icecastsink для приёма потоков из IceCast, поддерживающий формат AAC и написанный на Rust. Добавлен новый элемент клонирования голоса ElevenLabs. В синтезатор речи добавлен режим для ускорения воспроизведения с сохранением высоты тона. Добавлен элемент vmaf для оценки восприятия качества видео с использованием фреймворка VMAF от Netflix. Добавлен новый плагин декодирования звука MPEG-H, основанный на декодировщике Fraunhofer MPEG-H и поддерживающий распаковку медиаконтейнеров MP4. Расширена поддержка скрытых субтитров (CC - Closed Captions) и обработки текста.
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=64691