Проект GStreamer, являющийся фундаментом для множества медиаприложений, плееров и даже веб-браузеров в Linux-экосистеме, представляет свою первую крупную версию в 2026 году. GStreamer 1.28 — это эволюционный, но важный шаг, в котором особое внимание уделяется современным практикам разработки. Команда продолжает активно внедрять язык программирования Rust для создания новых компонентов, что сулит повышенную стабильность и защиту от ошибок, связанных с управлением памятью.
Новые элементы на Rust: от AI до GIF
Основные новинки релиза — это именно компоненты, написанные на Rust:- Элементы для машинного обучения (AI): Добавлены burn-based YOLOX inference element и YOLOX tensor decoder. Эти элементы позволяют интегрировать в мультимедийные конвейеры модель компьютерного зрения YOLOX для задач обнаружения объектов в реальном времени, открывая дорогу для «умной» обработки видео.
- Разделение аудиоисточников: Появился новый элемент для source separation, способный разделять смешанные аудиодорожки (например, выделять голос из музыкальной композиции).
- Современный декодер GIF: Внедрён новый декодер для формата GIF, написанный на Rust, что обещает более стабильную и эффективную работу с анимированными изображениями.
- Поддержка потокового вещания: Добавлен элемент Icecastsink с поддержкой кодеков AAC и MP3, упрощающий создание интернет-радиостанций или аудиопотоков.
Улучшения существующего кода и контейнеров
Помимо новинок, в GStreamer 1.28 проведена масштабная работа по улучшению и исправлению существующих компонентов:- Улучшение inference-элементов: Общий код и элементы, отвечающие за вывод моделей машинного обучения (inference), получили доработки для повышения производительности и гибкости.
- Бесшовное зацикливание в GstPlay: Медиафреймворк высокого уровня GstPlay теперь поддерживает плавное, без пауз, зацикливание (gapless looping) воспроизведения, что важно для аудиоплееров и создания фоновых видеоэффектов.
- Исправления в парсерах и демультиплексорах:
- Парсер JPEG теперь корректно обрабатывает изображения с картами усиления для HDR.
- Демультиплексор Matroska (mkv) научился работать с несжатым 4K видео.
- Исправлены проблемы с демультиплексированием MP4 в элементе Qtdemux.
- Общие улучшения: Внесены многочисленные исправления ошибок и оптимизации производительности по всему кодовой базе.
Почему это важно?
GStreamer 1.28 укрепляет позиции проекта как одного из самых современных и безопасных мультимедийных фреймворков.- Безопасность через Rust: Продолжающаяся миграция на Rust — это не просто модный тренд, а осознанная стратегия по снижению уязвимостей, связанных с памятью, что критично для систем, обрабатывающих ненадёжные данные из сети.
- Поддержка современных задач: Добавление элементов для AI и потокового вещания показывает, что проект не стоит на месте и развивается в сторону актуальных сценариев использования.
- Фундамент для экосистемы: Улучшения в базовых парсерах и демультиплексоре напрямую повышают стабильность и совместимость всех приложений, построенных на GStreamer, включая видеоплееры, редакторы и стриминговые сервисы.
Исходный код GStreamer 1.28 уже доступен для загрузки на FreeDesktop.org GitLab.