После года разработки увидел свет релиз GStreamer 1.2, написанного на языке Си кроссплатформенного набора компонентов для создания широкого спектра мультимедиа приложений, от медиаплееров и конвертеров аудио/видео файлов, до VoIP-приложений и систем потокового вещания. Код GStreamer распространяется под лицензией LGPLv2.1. Одновременно доступны обновления плагинов gst-plugins-base 1.2, gst-plugins-good 1.2, gst-plugins-bad 1.2, gst-plugins-ugly 1.2, а также обвязка gst-libav 1.2. На уровне API и ABI новый выпуск обратно совместим с веткой 1.0.
Ключевые улучшения GStreamer 1.2:
- В набор gst-plugins-base добавлена утилита gst-play-1.0 для тестирования воспроизведения из командной строки;
- Новые плагины:
- mssdemux - поддержка Microsoft Smooth Streaming;
- dashdemux - адаптивный потоковый протокол DASH;
- bluez - взаимодействие с устройствами через Bluetooth;
- openjpeg - кодирование и декодирование изображений в формате JPEG2000;
- daala - кодирование и декодирование с использованием экспериментального видеокодека Daala, развиваемого сообществом Xiph.Org;
- vpx - кодирование и декодирование с использованием видеокодека VP9, идущего на смену VP8;
- webp - декодирование изображений в формате WebP;
- а также новые плагины yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, accuraterip и audiofxbad;
- Плагины dtmf, vp8rtp, scaletempo и rtpmux перемещены в набор gst-plugins-good;
- В подсистемах конвертации видео и звука проведения работа по минимизации потери качества в случае необходимости выполнения преобразования;
- Большая порция улучшений, связанных с поддержкой v4l2 в Linux и BSD;
- Поддержка статического связывания плагинов;
- Поддержка протоколов SRTP (Secure Real-time Transport Protocol) и DTLS (Datagram Transport Layer Security);
- Добавлена вспомогательная библиотека с поддержкой EGL;
- Добавлена библиотека с набором структур данных MPEG-TS;
- Закрыто более тысячи отчётов об ошибках.
Среди базовых возможностей GStreamer:
- Локальное проигрывание контента, обработка потокового вещания и проигрывание DVD;
- Поддерживаемые видеокодеки: Theora, VP8, Dirac, MJPEG, h.264*, h.263*, MPEG2*, MPEG4*, WMV/VC1* и т.д.
- Поддерживаемые аудиокодеки: 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.