Dostępny jest framework multimedialny GStreamer 1.16.0

Po ponad roku rozwoju odbyła się wydanie GStreamer 1.16, wieloplatformowy zestaw komponentów napisany w C do tworzenia szerokiej gamy aplikacji multimedialnych, od odtwarzaczy multimedialnych i konwerterów plików audio/wideo, po aplikacje VoIP i systemy przesyłania strumieniowego. Kod GStreamera jest objęty licencją LGPLv2.1. Jednocześnie dostępne są aktualizacje wtyczek gst-plugins-base 1.16, gst-plugins-good 1.16, gst-plugins-bad 1.16, gst-plugins-ugly 1.16, a także powiązanie gst-libav 1.16 i serwer strumieniowy gst-rtsp-server 1.16. Na poziomie API i ABI nowa wersja jest kompatybilna wstecz z gałęzią 1.0. Kompilacje binarne już wkrótce będzie przygotowany dla systemów Android, iOS, macOS i Windows (w systemie Linux zaleca się korzystanie z pakietów z dystrybucji).

Klucz ulepszenia GStreamer 1.16:

  • Stos WebRTC dodał obsługę kanałów danych P2P realizowanych przy użyciu protokołu SCTP, a także obsługę PAKIET do przesyłania różnych typów danych multimedialnych w ramach jednego połączenia oraz możliwość współpracy z wieloma serwerami TURN (rozszerzenie STUN umożliwiające ominięcie tłumaczy adresów);
  • Dodano obsługę kodeka wideo AV1 w kontenerach Matroska (MKV) i QuickTime/MP4. Zaimplementowano dodatkowe ustawienia AV1 i zwiększono liczbę formatów danych wejściowych obsługiwanych przez koder;
  • Dodano wsparcie napisy zamknięte, a także możliwość identyfikacji i wyodrębnienia innych typów zintegrowanych danych z wideo ANC (Dane pomocnicze, dodatkowe informacje, takie jak dźwięk i metadane, przesyłane poprzez interfejsy cyfrowe w niewyświetlanych częściach linii skanowania);
  • Dodano obsługę niekodowanego (surowego) dźwięku bez naprzemiennych kanałów audio w pamięci (bez przeplotu, lewy i prawy kanał audio są umieszczane w oddzielnych blokach, zamiast naprzemiennych kanałów w formie „LEWY|PRAWY|LEWY|PRAWY|LEWY|PRAWY” );
  • Przeniesiono do podstawowego zestawu wtyczek (gst-plugins-base) GstVideoAgregator (klasa miksowania surowego wideo), kompozytor (ulepszony zamiennik videomixera) oraz elementy miksera OpenGL (glvideomixer, glmixerbin, glvideomixerelement, glstereomix, glmosaic), które wcześniej były umieszczone w zestawie „gst-plugins-bad”;
  • Dodano nowy tryb naprzemienność pól, w której każdy bufor jest przetwarzany jako osobne pole w wideo z przeplotem z separacją pola górnego i dolnego na poziomie flag powiązanych z buforem;
  • Do rozpakowywacza kontenerów multimediów Matroska dodano obsługę formatu WebM i szyfrowania treści;
  • Dodano nowy element wpesrc, który działa jako przeglądarka oparta na silniku WebKita WPE (pozwala traktować dane wyjściowe przeglądarki jako źródło danych);
  • Video4Linux zapewnia obsługę kodowania i dekodowania HEVC, kodowania JPEG oraz ulepszony import i eksport dmabuf;
  • Do dekodera wideo przy użyciu procesora graficznego NVIDIA z akceleracją sprzętową dodano obsługę dekodowania VP8/VP9, a do kodera dodano obsługę kodowania z akceleracją sprzętową H.265/HEVC;
  • Liczne ulepszenia wprowadzono we wtyczce msdk, która umożliwia wykorzystanie akceleracji sprzętowej do kodowania i dekodowania na chipach Intel (w oparciu o Intel Media SDK). Obejmuje to dodatkową obsługę importu/eksportu dmabuf, dekodowania VP9, ​​10-bitowego kodowania HEVC, końcowego przetwarzania wideo i dynamicznej zmiany rozdzielczości;
  • System renderowania napisów ASS/SSA dodał obsługę przetwarzania wielu napisów przecinających się w czasie i wyświetlania ich jednocześnie na ekranie;
  • Zapewniono pełne wsparcie dla systemu kompilacji Meson, który jest obecnie zalecany do budowania GStreamera na wszystkich platformach. W następnej gałęzi spodziewane jest usunięcie obsługi Autotools;
  • Główna struktura GStreamera zawiera powiązania do programowania w języku Rust oraz moduł z wtyczkami w Rust;
  • Przeprowadzono optymalizację wydajności.

Źródło: opennet.ru

Dodaj komentarz