Доступний мультимедійний фреймворк GStreamer 1.16.0

Після більш ніж року розробки відбувся реліз GStreamer 1.16, написаного мовою Сі кросплатформового набору компонентів для створення широкого спектру мультимедіа додатків, від медіаплеєрів та конвертерів аудіо/відео файлів, до 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-rt. На рівні API та ABI новий випуск назад сумісний із гілкою 1.16. Бінарні зборки незабаром будуть підготовлені для Android, iOS, macOS та Windows (в Linux рекомендується використовувати пакети з дистрибутива).

Ключові поліпшення GStreamer 1.16:

  • У стек WebRTC додано підтримку P2P каналів даних, реалізованих з використанням протоколу SCTP, а також підтримку механізму БУНД для надсилання різних типів мультимедійних даних у рамках одного з'єднання та можливість роботи з кількома серверами TURN (розширення STUN для обходу трансляторів адрес);
  • Додано підтримку відеокодека AV1 у контейнерах Matroska (MKV) та QuickTime/MP4. Реалізовано додаткові налаштування AV1 та розширено число підтримуваних кодувальником форматів вхідних даних;
  • Додана підтримка прихованих субтитрів, а також можливість визначення та вилучення з відео інших видів інтегрованих даних АНК (Ancillary Data, додаткова інформація, така як звук і метадані, що передається через цифрові інтерфейси в частинах рядків розгортки, що не відображаються);
  • Додано підтримку некодованого (raw) звуку без чергування звукових каналів у пам'яті (Non-Interleaved, лівий та правий звукові канали розміщуються в окремих блоках, замість чергування каналів у вигляді «LEFT|RIGHT|LEFT|RIGHT|LEFT|RIGHT»);
  • У базовий набір плагінів (gst-plugins-base) переміщено GstVideoAggregator (клас для змішування raw-відео), композитор (удосконалена заміна videomixer) та елементи OpenGL mixer (glvideomixer, glmixerbin, glvideomixerelement, glstereomix, glmosaic), які раніше розміщувалися в наборі gst-plugins-bad;
  • Доданий новий режим чергування полів, в якому кожен буфер обробляється як окреме поле у ​​черезрядковому відео з поділом верхнього та нижнього полів на рівні прив'язаних до буфера прапорів;
  • У розпакувальник медіаконтейнерів Matroska додано підтримку формату WebM та шифрування вмісту;
  • Доданий новий елемент wpesrc, що працює як браузер на базі двигуна WebKit 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;
  • Проведено оптимізацію продуктивності.

Джерело: opennet.ru

Додати коментар або відгук