Релиз мультимедийного фреймворка GStreamer 1.14.0

Увидел свет релиз GStreamer 1.14, написанного на языке Си кроссплатформенного набора компонентов для создания широкого спектра мультимедиа приложений, от медиаплееров и конвертеров аудио/видео файлов, до VoIP-приложений и систем потокового вещания. Код GStreamer распространяется под лицензией LGPLv2.1. Одновременно доступны обновления плагинов gst-plugins-base 1.14, gst-plugins-good 1.14, gst-plugins-bad 1.14, gst-plugins-ugly 1.14, а также обвязка gst-libav 1.14 и сервер потокового вещания gst-rtsp-server 1.14. На уровне API и ABI новый выпуск обратно совместим с веткой 1.0. Бинарные сборки в скором времени будут подготовлены для Android, iOS, macOS и Windows (в Linux рекомендуется использовать пакеты из дистрибутива).

Ключевые улучшения GStreamer 1.14:

  • Поддержка технологии WebRTC для организации потокового вещания звука и видео. Разработчикам предложен элемент webrtcbin и библиотека с поддержкой webrtc, позволяющие интегрировать в приложения возможность установки соединений с другими WebRTC-приложениями и web-браузерами. В приложениях могут использоваться любые другие возможности GStreamer, включая аппаратное ускорение кодирования и декодирования, интеграция с OpenGL, обработка данных без лишней буферизации и поддержка встраиваемых платформ;
  • Экспериментальная поддержка видеокодека нового поколения AV1, который развивается альянсом Open Media, в который входят Google, Microsoft, Apple, Mozilla, Facebook, Amazon, Intel, AMD, ARM, NVIDIA, Netflix и Hulu;
  • Для Video4Linux реализованы кодировщики видео VP8, VP9, MPEG4 и H263. Ускорен процесс определения V4L-устройств;
  • Поддержка протокола потокового видеовещания SRT (Secure Reliable Transport);
  • Поддержка прямой коррекции ошибок для протокола RTP — FEC (Forward Error Correction);
  • В rtspsrc и gst-rtsp-server добавлена поддержка протокола RTSP 2.0 и дополнительных потоков со звуком (backchannel), описанных в спецификации ONVIF (Open Network Video Interface Forum);
  • В playbin3 добавлена поддержка неразрывного (gapless) воспроизведения и упреждающей буферизации;
  • В tee, механизме разделения/дублирования потоков, повышена эффективность обработки данных и устранена излишняя буферизация (zero-copy);
  • В упаковщике медиаконтейнеров QuickTime (muxer) реализован новый режим записи, позволяющий открывать файлы в Adobe Premiere и FinalCut Pro ещё до окончания их записи;
  • Добавлен новый плагин nvdec, предоставляющий средства для аппаратного ускорения декодирования видео при помощи NVIDIA NVDEC API;
  • Добавлена возможность использования trick-режимов (перемотка назад и вперёд на другой скорости) при воспроизведении адаптивных потоков MPEG-DASH;
  • Реализован новый плагин ipcpipeline, позволяющий разделить поток между несколькими процессами;
  • Улучшена поддержка интроспекции GObject в различных частях библиотечного API;
  • Возобновлена разработка биндингов для проектов на языке C#;
  • В неофициальном биндинге для языка Rust реализован охват большей части API.

Среди основных возможностей GStreamer:

  • Локальное проигрывание контента, обработка потокового вещания и проигрывание DVD;
  • Поддерживаемые видеокодеки: Theora, VP8, VP9, Dirac, MJPEG, h.264, h.265, h.263, MPEG2, MPEG4, WMV/VC1 и т.д.
  • Поддерживаемые аудиокодеки: Vorbis, FLAC, Speex, WavPack, AAC, MP3, WMA, Dolby Digital (AC3), DTS/DCA, AMR NB/WB и т.д.
  • Поддерживаемые мультимедиа контейнеры: Ogg, WebM, Matroska, MP4, Quicktime, AVI, FLV, 3GPP, WAV, Real Media, ASF, MPEG PS/TS и т.д.
  • Поддерживаемые протоколы: работа с локальными файлами, HTTP, Shoutcast/Icecast, HLS, RTSP, RTP и MMS;
  • Интеграция с тулкитами для формирования GUI-интерфейса (GTK+, Clutter);
  • Автоматическое определение контейнеров и кодеков;
  • Функции извлечения метаданных;
  • Поддержка субтитров;
  • Средства для наглядной визуализации звукового потока;
  • Поддержка переключения на лету между разными потоками со звуком и субтитрами;
  • Перемещение внутри потока по абсолютной позиции;
  • Режимы замедления и ускорения воспроизведения, перемотки в обратном порядке и покадрового просмотра;
  • Автоматическое устранение чересстрочности (деинтерлейсинг), масштабирование и установка цветового баланса;
  • Поддержка проброса сжатого звука;
  • Поддержка функций рендеринга текстур библиотеки Clutter.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.