Выпуск мультимедийного фреймворка 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