Na voljo je multimedijsko ogrodje GStreamer 1.20.0

Po letu in pol razvoja je bil izdan GStreamer 1.20, večplatformski nabor komponent, napisanih v C za ustvarjanje širokega nabora večpredstavnostnih aplikacij, od medijskih predvajalnikov in pretvornikov avdio/video datotek do VoIP aplikacij in pretočnih sistemov. Koda GStreamer je licencirana pod LGPLv2.1. Hkrati so na voljo posodobitve vtičnikov gst-plugins-base 1.20, gst-plugins-good 1.20, gst-plugins-bad 1.20, gst-plugins-ugly 1.20 ter vezava gst-libav 1.20 in pretočni strežnik gst-rtsp-server 20. Na ravni API-ja in ABI je nova izdaja nazaj združljiva z vejo 1.0. Kmalu bodo pripravljeni binarni sklopi za Android, iOS, macOS in Windows (v Linuxu je priporočljiva uporaba paketov iz distribucije).

Ključne izboljšave v GStreamer 1.20:

  • Razvoj v GitLabu je prešel na uporabo enega samega repozitorija, ki je skupen vsem modulom.
  • Dodana je bila nova knjižnica GstPlay na visoki ravni, ki nadomešča API GstPlayer in ponuja podobno funkcionalnost za predvajanje vsebine, razlikuje pa se po uporabi sporočilnega vodila za obveščanje aplikacij namesto signalov GObject.
  • Dodana podpora za dekodiranje informacij o prosojnosti WebM, kar omogoča predvajanje videoposnetkov VP8/VP9 s prosojnimi območji.
  • Profili kodiranja imajo zdaj podporo za nastavitev dodatnih lastnosti, specifičnih za aplikacijo.
  • Compositor podpira večnitno pretvorbo in mešanje videa.
  • Razreda depayloader in payloader imata enotno podporo za delo z dodatnimi glavami RTP (Razširitve glav RTP).
  • Dodana podpora za mehanizem SMPTE 2022-1 2-D (Forward Error Correction).
  • Encodebin in transcodebin za kodeke VP8, VP9 in H.265 izvajata način pametnega kodiranja, pri katerem se transkodiranje izvede le, ko je potrebno, preostali čas pa se posreduje obstoječi tok.
  • Vtičnik souphttpsrc je zdaj združljiv z libsoup2 in libsoup3.
  • Dodana možnost dekodiranja vhodnih podatkov na nivoju vmesnih okvirjev (podokvir), kar omogoča začetek dekodiranja brez čakanja na prejem celotnega okvirja. Podpora za to optimizacijo je vključena v dekodirnike OpenJPEG JPEG 2000, FFmpeg H.264 in OpenMAX H.264/H.265.
  • Pri dekodiranju videa za protokole RTP, WebRTC in RTSP je zagotovljeno samodejno obravnavanje izgube paketov, poškodb podatkov in zahtev po ključnih okvirjih.
  • Podpora za sprotno spreminjanje podatkov o kodekih je bila dodana paketnikom za pakiranje medijskih vsebnikov mp4 in Matroska, kar omogoča spreminjanje profila, ravni in ločljivosti za vhodne tokove H.264/H.265.
  • Dodan način za ustvarjanje fragmentiranih medijskih vsebnikov mp4.
  • Zvočna podpora je bila dodana vratom, ki temeljijo na WPE (WebKit Port for Embedded).
  • Dodana možnost uporabe CUDA za pretvorbo barvnega prostora, skaliranje elementov in nalaganje elementov.
  • Dodana podpora za pomnilnik NVMM (pomnilniški modul NVIDIA) za elemente OpenGL glupload in gldownload.
  • Izboljšana podpora za WebRTC.
  • Predlagan je bil nov vtičnik za VA-API (API za video pospeševanje), ki podpira več dekoderjev in elementov za naknadno obdelavo.
  • AppSink API je dodal podporo za dogodke poleg medpomnilnikov in seznamov medpomnilnikov.
  • V AppSrc so bile dodane dodatne nastavitve za notranje čakalne vrste.
  • Posodobljene jezikovne vezave Rust in dodanih 26 novih vtičnikov, napisanih v Rustu (gst-plugins-rs).
  • Dodani elementi aesdec in aesenc za šifriranje in dešifriranje z uporabo algoritma AES.
  • Dodani elementi fakeaudiosink in videocodectestsink za testiranje in odpravljanje napak.
  • Izboljšana orodja za ustvarjanje minimalističnih zgradb GStreamer.
  • Dodana možnost gradnje s FFmpeg 5.0.
  • Za Linux sta implementirani različici kodekov MPEG-2 in VP9, ​​ki delujeta brez shranjevanja stanja (Stateless).
  • Za Windows je bila dekodirniku, ki temelji na Direct3D11/DXVA, dodana podpora za AV1 in MPEG-2.

Vir: opennet.ru

Dodaj komentar