Dostępny jest framework multimedialny GStreamer 1.22.0

Po roku prac wypuszczono GStreamer 1.22, wieloplatformowy zestaw komponentów 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. Oddzielnie opracowywane są aktualizacje wtyczek gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, a także powiązanie gst-libav i serwer przesyłania strumieniowego gst-rtsp-server . Na poziomie API i ABI nowa wersja jest kompatybilna wstecz z gałęzią 1.0. Już wkrótce zostaną przygotowane zestawy binarne dla systemów Android, iOS, macOS i Windows (w systemie Linux zaleca się korzystanie z pakietów z dystrybucji).

Kluczowe ulepszenia w GStreamer 1.22:

  • Ulepszona obsługa formatu kodowania wideo AV1. Dodano możliwość użycia akceleracji sprzętowej do kodowania i dekodowania AV1 poprzez interfejsy API VAAPI/VA, AMF, D3D11, NVCODEC, QSV i Intel MediaSDK. Dodano nowe procedury obsługi RTP dla AV1. Ulepszone parsowanie AV1 w kontenerach MP4, Matroska i WebM. W skład zespołów wchodzą elementy z koderami i dekoderami AV1 bazującymi na bibliotekach dav1d i rav1e.
  • Zaimplementowano wsparcie dla Qt6. Dodano element qml6glsink, który używa Qt6 do renderowania wideo wewnątrz sceny QML.
  • Dodano elementy gtk4paintablesink i gtkwaylandsink do renderowania przy użyciu GTK4 i Wayland.
  • Dodano nowych klientów do adaptacyjnego przesyłania strumieniowego, którzy obsługują protokoły HLS, DASH i MSS (Microsoft Smooth Streaming).
  • Zapewnia możliwość tworzenia uproszczonych zespołów zoptymalizowanych pod kątem zmniejszania rozmiaru.
  • Dodano obsługę simulcastu WebRTC i Google Congestion Control.
  • Dostarczona jest prosta i samodzielna wtyczka do wysyłania za pośrednictwem WebRTC.
  • Dodano nowy paker kontenerów multimediów MP4 z obsługą pofragmentowanych i niefragmentowanych danych.
  • Dodano nowe wtyczki do usług przechowywania i transkrypcji dźwięku Amazon AWS.
  • Zaktualizowano powiązania dla języka Rust. Dodano 19 nowych wtyczek, efektów i elementów napisanych w języku Rust (gst-plugins-rs). Należy zauważyć, że 33% zmian w nowym GStreamerze zostało zaimplementowanych w Ruście (zmiany dotyczą powiązań i wtyczek), a zestaw wtyczek gst-plugins-rs jest jednym z najaktywniej rozwijanych modułów GStreamera. Wtyczek napisanych w Rust można używać w programach w dowolnym języku, a praca z nimi przypomina korzystanie z wtyczek w C i C++.
  • Wtyczki Rust są dostarczane jako część oficjalnych pakietów binarnych dla platform Windows i macOS (montaż i dostawa są obsługiwane dla systemów Linux, Windows i macOS).
  • Zaimplementowano serwer multimediów oparty na WebRTC napisany w języku Rust, obsługujący WHIP (przyjmowanie HTTP przez WebRTC) i WHEP (wyjście HTTP przez WebRTC).
  • Dodano element videocolorscale, który łączy możliwości konwersji wideo i skalowania.
  • Ulepszona obsługa wideo o dużej głębi kolorów.
  • Dodano obsługę zdarzeń na ekranie dotykowym do interfejsu API nawigacji.
  • Dodano elementy korekcji sygnatury czasowej H.264/H.265 do rekonstrukcji PTS/DTS przed pakowaniem pojemników z mediami.
  • Na platformie Linux ulepszono użycie DMA, aby współpracować z buforami podczas kodowania, dekodowania, filtrowania i renderowania wideo przy użyciu akceleracji sprzętowej.
  • Poprawiono integrację z CUDA: dodano bibliotekę gst-cuda i element cudaconvertscale, zapewniono integrację z elementami D3D11 i NVIDIA dGPU NVMM.
  • Poprawiono integrację z Direct3D11: dodano nową bibliotekę gst-d3d11, rozszerzono możliwości wtyczek d3d11screencapture, d3d11videosink, d3d11convert i d3d11compositor.
  • W przypadku procesorów graficznych AMD zaimplementowano nowe, przyspieszane sprzętowo kodery wideo w formatach H.264 / AVC, H.265 / HEVC i AV1, zbudowane przy użyciu pakietu SDK AMF (Advanced Media Framework).
  • Wtyczka Applemedia dodała obsługę kodowania i dekodowania wideo H.265/HEVC.
  • Do wtyczki Androidmedia dodano obsługę kodowania wideo H.265/HEVC.
  • Do wtyczek audiomixer, compositor, glvideomixer i d3d11compositor dodano właściwość force-live, aby wymusić włączenie trybu na żywo.

Źródło: opennet.ru

Dodaj komentarz