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

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

  • Проведено расширение API, например, добавлены новые вызовы GstDeviceMonitor для проверки наличия устройств и GstFlowAggregator для агрегации нескольких источников потоков, представлены API для настройки TLS-подтверждения для соединений RTSP и API для доступа к статистике RTP;
  • В утилиты для работы с кодеками и различные библиотеки добавлена поддержка h265/HEVC и VP8;
  • В библиотеку для работы с RTSP и SDP добавлена поддержка протокола обмена ключами MIKEY (RFC 3830) и возможность переключения между разными профилями RTSP;
  • В gst-rtsp-server добавлена поддержка SRTP и MIKEY;
  • В rtpbin добавлена поддержка вспомогательных (aux) потоков;
  • Добавлена поддержка видео в raw-формате;
  • Из gst-plugins-gl в gst-plugins-bad добавлен код библиотеки GL, что позволило использовать базовые средства обработки GL во внутренних операциях и плагинах GStreamer. В настоящее время поддерживаются такие платформы, как Android, Cocoa (OS X), DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows), X11, Wayland и EGL;
  • В dvbsrc добавлены механизмы доставки и другие возможности, включая поддержку DVB S2 и T2;
  • Новые плагины:
    • OpenNI2 для работы с 3D-камерами, такими как камера Kinect.
    • OpenEXR для декодирования EXR-изображений с широким динамическим диапазоном;
    • Из GStreamer 0.10 портированы плагины videosignal, ivfparse и sndfile;
  • Новые элементы:
    • v4l2videodec для доступа к аппаратным кодекам на платформах для которых поддерживается V4L2 (Video4Linux). v4l2videodec пришёл на смену mfcdec.
    • Новый элемент downloadbuffer заменил собой функцию буферизации загрузки из состава queue2. Новая реализация отличается простотой и ориентацией на решение одной конкретной задачи;
    • rtpstreampay и rtpstreamdepay для передачи RTP-пакетов поверх stream API (TCP)
    • rtprtx с соответствующей стандартам реализацией системы повторной передачи, интегрируемой в плагин rtpmanager;
    • audiomixer для смешивания нескольких звуковых потоков с обеспечением их синхронизации;
    • curlsshsink и curlsftpsink для записи файлов через SSH/SFTP;
    • Из GStreamer 0.10 портированы элементы avfvideosrc, vtdec и т.д.



    Среди базовых возможностей 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.



    Источник: http://www.opennet.ru/opennews/art.shtml?num=40239