Выпуск мультимедийного фреймворка GStreamer 1.4
21 июля 2014 года
После десяти месяцев разработки увидел свет релиз 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+ (Архивная копия от 31 октября 2016 на Wayback Machine), Clutter (Архивная копия от 25 октября 2016 на Wayback Machine));
- Автоматическое определение контейнеров и кодеков;
- Функции извлечения метаданных;
- Поддержка субтитров;
- Средства для наглядной визуализации звукового потока;
- Поддержка переключения на лету между разными потоками со звуком и субтитрами;
- Перемещение внутри потока по абсолютной позиции;
- Режимы замедления и ускорения воспроизведения, перемотки в обратном порядке и покадрового просмотра;
- Автоматическое устранение чересстрочности (деинтерлейсинг), масштабирование и установка цветового баланса;
- Поддержка проброса сжатого звука;
- Поддержка функций рендеринга текстур библиотеки Clutter.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.