После более года разработки состоялся (https://lists.freedesktop.org/archives/gstreamer-devel/2019-... релиз GStreamer 1.16 (http://gstreamer.freedesktop.org/), написанного на языке Си кроссплатформенного набора компонентов для создания широкого спектра мультимедиа приложений, от медиаплееров и конвертеров аудио/видео файлов, до VoIP-приложений и систем потокового вещания. Код GStreamer распространяется под лицензией LGPLv2.1. Одновременно доступны обновления плагинов gst-plugins-base 1.16, gst-plugins-good 1.16, gst-plugins-bad 1.16, gst-plugins-ugly 1.16, а также обвязка gst-libav 1.16 и сервер потокового вещания gst-rtsp-server 1.16. На уровне API и ABI новый выпуск обратно совместим с веткой 1.0. Бинарные сборки в скором времени будут подготовлены (http://gstreamer.freedesktop.org/download/) для Android, iOS, macOS и Windows (в Linux рекомендуется использовать пакеты из дистрибутива).
Ключевые улучшения (http://gstreamer.freedesktop.org/releases/1.16/) GStreamer 1.16:
- В стек WebRTC добавлена поддержка P2P каналов данных, реализвоанных с использованием протокола SCTP, а также поддержка механизма BUNDLE (https://webrtcglossary.com/bundle/) для отправки разных типов мультимедийных данных в рамках одного соединения и возможность работы с несколькими серверами TURN (расширение STUN для обхода трансляторов адресов);
- Добавлена поддержка видеокодека AV1 в контейнерах Matroska (MKV) и QuickTime/MP4. Реализованы дополнительные настройки AV1 и расширено число поддерживаемых кодировщиком форматов входных данных;
- Добавлена поддержка скрытых субтитров (https://ru.wikipedia.org/wiki/%D0%A1%D0%... а также возможность определения и извлечения из видео других видов интегрированных данных ANC (https://en.wikipedia.org/wiki/Ancillary_data) (Ancillary Data, дополнительная информация, такая как звук и метаданные, передаваемая через цифровые интерфейсы в неотображаемых частях строк развёртки);
- Добавлена поддержка некодированного (raw) звука без чередования звуковых каналов в памяти (Non-Interleaved, левый и правый звуковые каналы размещаются в отдельных блоках, вместо чередования каналов в виде "LEFT|RIGHT|LEFT|RIGHT|LEFT|RIGHT");
- В базовый набор плагинов (gst-plugins-base) перемещены GstVideoAggregator (https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gs... (класс для смешивания raw-видео), compositor (https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gs... (усовершенствованная замена videomixer) и элементы OpenGL mixer (glvideomixer, glmixerbin, glvideomixerelement, glstereomix, glmosaic), которые ранее размещались в наборе "gst-plugins-bad";
- Добавлен новый режим (https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gs... чередования полей, в котором каждый буфер обрабатывается как отдельное поле в чересстрочном видео c разделением верхнего и нижнего полей на уровне привязанных к буферу флагов;
- В распаковщик медиаконтейнеров Matroska добавлена поддержка WebM и шифрования содержимого;
- Добавлен новый элемент wpesrc, работающий как браузер на базе движка WebKit WPE (https://webkit.org/wpe/) (вывод браузера как источник данных);
- Для Video4Linux обеспечена поддержка кодирования и декодирования HEVC, кодирования JPEG и улучшенного импорта и экспорта dmabuf;
- В декодировщик видео, использующий средства аппаратного ускоренная GPU NVIDIA, добавлена поддержка декодирования VP8/VP9, а в кодировщик поддержка аппаратно ускоренного кодирования H.265/HEVC;
- Внесены многочисленные улучшения плагин msdk, позволяющий использовать средства аппаратного ускорения кодирования и декодирования на чипах Intel (основан на Intel Media SDK). В том числе добавлена поддержка импорта/экспора dmabuf, декодирования VP9, кодирования 10-разрядных HEVC, постобработки видео и динамического изменения разрешения;.
- В систему отрисовки субтитров ASS/SSA добавлена поддержка обработки нескольких пересекающихся субтитров, одновременно отображаемых на экране;
- Обеспечена полноценная поддержка сборочной системы Meson, которая теперь рекомендована для сборки GStreamer на всех платформах. Удаление поддержки Autotools ожидается в следующей ветке;
- В основной состав GStreamer включены биндинги для разработки на языке Rust и модуль с плагинами на Rust;
- Проведена оптимизация производительности.
URL: https://lists.freedesktop.org/archives/gstreamer-devel/2019-...
Новость: https://www.opennet.ru/opennews/art.shtml?num=50542