1

После десяти месяцев разработки увидел свет релиз 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