GStreamer

avoimen lähdekoodin alustariippumaton multimediakehys

GStreamer on sovelluskehys multimediaohjelmistojen tekemiseen.[3][4] GStreamer on toteutettu enimmäkseen C-kielellä.[4] GStreamerin pluginit on julkaistu GNU LGPL -lisenssillä ja lisäksi joissakin tapauksissa käytetään lisäehtoa, jolloin GNU GPL-lisensoituja ohjelmia voi levittää yhdessä GStreamerin kanssa.[5]

GStreamer
Kehityshistoria
Ensijulkaisu 11. tammikuuta 2001
Vakaa versio 1.24.0 ()[1] ja 1.24.2 ()[2]
Kehitystilanne aktiivinen
Tiedot
Ohjelmistotyyppi ohjelmistokehys
Alusta Alustariippumaton
Ohjelmointikielet C
Lisenssi LGPL
Aiheesta muualla
Verkkosivusto
Versiohallinta

GStreamer toimii useimmilla merkittävillä käyttöjärjestelmillä joita ovat Linux, Android, Mac OS X, Windows, iOS sekä useimmat BSD-johdannaiset sekä kaupalliset Unixit, Solaris ja Symbian.[6] GStreameria voidaan suorittaa useimmilla merkittävillä laitteistoarkkitehtuureilla mukaanlukien x86, ARM, MIPS, SPARC ja PowerPC 32- ja 64-bittisinä versioina.[6] Se on siirretty useille käyttöjärjestelmille, suorittimille ja kääntäjille.[6]

Sovereign Tech Fund (STF) on rahoittanut projektia jotta osat siitä kirjoitettaisiin uudestaan Rust-kielellä. STF:n rahoittaja on Saksan hallituksen Bundesministerium für Wirtschaft und Klimaschutz, joka on rahoittanut myös GNOME-projektia.[7][8]

Käyttö muokkaa

GStreamer on sisältynyt GNOME-työpöytäympäristöön julkaisusta 2.2 lähtien. GNOME suosittelee GSteamerin hyödyntämistä GNOME- ja GTK+ -sovelluksissa.

GStreamer on käytössä myös Nokian Internet Tablet -laitteissa Nokia 770, N800, N810 ja N900.

Tekniikka muokkaa

GStreamer voi kytkeytyä toisiin multimediakehyksiin olemassa olevien komponenttien käyttämiseksi:[9]

  • OpenMAX-IL (Linux/Unix)
  • DirectShow (Windows)
  • QuickTime (Mac OS X)

Heinäkuussa 2021 kerrottiin kokeellisesta tuesta Vulkan Video -laajennukselle.[10] Vulkan Video -tukea on kehitetty myös FFmpeg ja Mesa 3D -kirjastoissa.[11][12] Myös Intelin VA-API-rajapinnalle on kehitetty tukea.[13] Vulkan-tuki H.264 ja H.265 -dekoodaukselle julkaistiin versiossa 1.24.[14]

GStreamer sisältää ohjelmointirajapinnan (API) sovelluksille, arkkitehtuurin laajentamiselle, mediatyyppien tunnistamisen, synkronointimekanismin ja lisäosia sekä työkaluja. Lisäosat jaetaan protokollan, lähteen, mediatyypin, koodekin, suodattimen ja kohteen (sink) mukaan. GStreamer jaetaan useissa paketeissa, joita ovat ydinpaketti, plugins-base, plugins-good, plugins-ugly, plugins-bad ja libav-tuki. Plugins-paketit ovat jaettu sen mukaan, miten laadukkaita koodekkien toteutukset ovat tai onko jakelemisessa mahdollisesti lisenssien yhteensopivuuden kanssa ongelmia.[3]

Lähteet muokkaa

  1. (en) GStreamer 1.24.0 new major feature release, (viitattu ). Tieto on haettu Wikidatasta.
  2. GStreamer 1.24.2 stable bug-fix release, (viitattu ). Tieto on haettu Wikidatasta.
  3. a b What is GStreamer? gstreamer.freedesktop.org. Viitattu 18.12.2023. (englanniksi)
  4. a b Ohloh: Ohloh Analysis Summary ohloh.net. Arkistoitu . Viitattu 9.10.2010. (englanniksi)
  5. GStreamer: Licencing advice gstreamer.freedesktop.org. Viitattu 9.10.2010. (englanniksi)
  6. a b c Multiplatform gstreamer.freedesktop.org. Viitattu 5.2.2022. (englanniksi)
  7. Liam Dawe: GStreamer gets funding from the Sovereign Tech Fund to rewrite parts in Rust gamingonlinux.com. 17.1.2024. Viitattu 18.1.2024. (englanniksi)
  8. GStreamer sovereigntechfund.de. Viitattu 18.1.2024. (englanniksi)
  9. Multiplatform gstreamer.freedesktop.org. Viitattu 2.9.2021. (englanniksi) 
  10. Video decoding in GStreamer with Vulkan blogs.igalia.com. 9.7.2021. Viitattu 2.9.2021. (englanniksi)
  11. Video decoding in GStreamer with Vulkan Video extension (part 2) blogs.igalia.com. 18.12.2022. Viitattu 18.12.2023. (englanniksi)
  12. Víctor Jáquez / Stéphane Cerveau: Vulkan Video in GStreamer (PDF) indico.freedesktop.org. syyskuu 2023. Viitattu 18.12.2023. (englanniksi)
  13. GStreamer / gstreamer-vaapi github.com. Viitattu 2.9.2021. (englanniksi)
  14. GStreamer 1.24 Release Notes gstreamer.freedesktop.org. 4.3.2024. Viitattu 10.3.2024. (englanniksi)

Aiheesta muualla muokkaa