Выпуск мультимедийного фреймворка GStreamer 1.6

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

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

  • Реализована инфраструктура для обработки стереоскопического 3D-контента и стереоскопического видео.
  • Trick mode API для ускоренного воспроизведения в прямом и обратном направлении с использованием только ключевых кадров;
  • Добавлен ещё один декодировщик видео H.265 на основе libde265. В состав включен кодировщик x265 для H.265;
  • В библиотеке GStreamer GL и различных компонентах фреймворка реализована поддержка OpenGL3;
  • Представлены новые элементы gtksink, gtkglsink, qmlglsink и caopengllayersink для интеграции отрисовки кадров видео в приложениях на GTK+ (через Cairo или OpenGL), Qt и OS X/iOS;
  • Поддержка потоков с отрицательным DTS (decoding timestamp);
  • Новый API GstVideoConverter, обеспечивающий более быстрое и корректное преобразование исходных (raw) кадров видео с изменением масштаба из одного формата в другой;
  • В v4l2src добавлена поддержка повторного согласования параметров (renegotiation);
  • В v4l2transform обеспечена поддержка масштабирования;
  • Упрощена организация записи в форматах MP4, Matroska, Ogg, MPEG-TS с разбиением на отдельные небольшие файлы вместо записи одного большого файла;
  • Для DASH/MP4 добавлена поддержка API защиты и шифрования контента (Content Protection и Common Encryption);
  • Улучена реализация адаптивного потокового вещания (DASH, HLS и MSS);
  • Поддержка определения точного времени с использованием протоколов PTP и NTP (синхронизация времени необходима для поддержки профессиональных стандартов вещания AES67, RAVENNA, AVB, SMPTE ST 2059-2);
  • Улучшено качество вывода субтитров на экранах высокого разрешения;
  • В RTSP Server добавлена поддержка команды RECORD, используемой для отправки клиентом данных на сервер;
  • В клиент и сервер RTSP добавлена поддержка повторной передачи (RTX, Retransmissions), устранены проблемы при изменении позиции в потоке; В упаковщик (muxer) медиаконтента в формате MP4/MOV добавлен режим "robust", при котором осуществляется попытка поддержания записываемого файла в корректном состоянии в любой момент времени;
  • Значительно улучшена реализация Live-микшера в aggregator, audiomixer и compositor;
  • В compositor добавлена поддержка изменения масштаба и конвертации потоков на лету;
  • Добавлено новый элемент audiointerleave, обеспечивающий корректную синхронизацию входного потока и поддержку ввода в live-режиме;
  • С нуля переписана поддержка карт захвата видео Blackmagic Design DeckLink, добавлена поддержка разрешений 2k/4k;
  • Для RTP и MPEG-TS добавлена поддержка метаданных KLV metadata support in RTP and MPEG-TSKLV;




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

  • Локальное проигрывание контента, обработка потокового вещания и проигрывание DVD;
  • Поддерживаемые видеокодеки: Theora, VP8, Dirac, MJPEG, h.264*, h.263*, MPEG2*, MPEG4*, WMV/VC1* и т.д. (здесь и далее звёздочкой помечены форматы, по умолчанию не включаемые в GStreamer SDK, так как они могут потребовать приобретения лицензии в некоторых странах);
  • Поддерживаемые аудиокодеки: 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.

© OpenNet