Fejlesztette | Freedesktop.org |
---|---|
Az első verzió | 1999. június |
Utolsó verzió | 1.18.4 (2021. március 15) |
Letét | gitlab.freedesktop.org/gstreamer/gstreamer.git |
Projekt állapota | Fejlesztés alatt |
Beírva | VS |
Operációs rendszer | Többplatformos |
Olvassa el a formátumokat | Advanced Systems Format , Audio Video Interleave , 3GPP ( d ) , Quicktime File ( en ) , FLV ( d ) , MPEG Transport Stream , Matroska , WebM , Material Exchange Format és Ogg |
Nyelvek | Többnyelvű |
típus | Multimédiás keretrendszer |
Forgalmazási politika | Ingyenes |
Engedély | GNU Lesser General Public License 2.0 vagy újabb ( d ) |
Dokumentáció | gstreamer.freedesktop.org/documentation/index.html |
Weboldal | gstreamer.freedesktop.org |
A GStreamer egy hang- és képmanipulációs szoftverkönyvtár (más néven multimédiás keretrendszer ), C-ben írva és ingyenes licenc alatt terjesztve .
Kezdetben kifejlesztett megoldást kínál, amelyek képesek a QuickTime és DirectShow a GNU / Linux , az első nyilvános változata időpontokat 1999. október 31.
A szerző videó- és hangszinkronizálásának munkája lehetővé tette számára, hogy ezt a részt megvalósítsa a PipeWire-ben , a Linux multimédiás adatfolyam-kezelőjében, amely egyesíti az audio menedzserek API-jait JACK , alacsony késleltetésű, audio orientált professzionális és még több asztali - orientált PulseAudio , valamint videofolyamok. Cserébe ezek a hozzájárulások megkönnyítik a Gstreamer szinkronizálásának kezelését.
Azóta a GNU / Linuxon kívül számos más operációs rendszerbe került , például BSD , OpenSolaris , Android , OS X , iOS , Windows , OS / 400 .
Ez egy projekt, amelyet a Freedesktop.org webhelyen tartanak fenn .
A GNOME projekt gyorsan elfogadta a GStreamer programot (utóbbi 2.2. Verziójától, amely 2007 - ben jelent meg)2003. február) amelynek oszlopa lett (a Totem , a Rhythmbox , a Vízkereszt és a Pitivi például nagy hasznot húznak belőle).
A Phonon , a KDE4 multimédiás absztrakciós rétege is használja .
Ezután kezdték használni Windows és MacOS rendszereken : a Songbird erre támaszkodva kínált verziókat kínál, amelyek ezeken a különböző platformokon működnek, ahogyan az Opera is arra támaszkodott, hogy megjelenítse a HTML5 video elemet Windows, GNU / Linux és FreeBSD rendszereken ( 10.5-ös verzió, és úgy tűnik, egészen addig, amíg a Presto ház webes renderelő motorját el nem hagyják a Blink javára).
A WebOS is ezt használja.
A GStreamer kereskedelmi használatának megkönnyítése érdekében a Fluendo (en) és a Collabora (en) közösen létrehoztak egy multiplatform SDK-t ( GNU / Linux , Windows és Mac OS X az Amazon nevű első verzióhoz, amely megjelent a2012. június 7, majd az Android a Brahmaputra verzióval megjelent2012. november 28és az iOS a kongói verzióval megjelent2013. június 12). Azóta az SDK frissítése továbbra is maga a GStreamer mellett történt.
A GStreamer egy csővezeték-műveleten alapszik, amely a Unix alatti csövekre emlékeztet : az elemek csöveken keresztül kapcsolódnak egymáshoz. De a GStreamer esetében a csövön áthaladó áram típusa ismert az elemek számára (a kimeneti és bemeneti formátumot nem kell minden elemnél megadni). A paranccsal egy folyamatot is lemásolhat tee.
Itt van egy olyan folyamat, amely lehetővé teszi a "my_son.ogg" audiofájl lejátszását - amely a Vorbis kodekkel tömörített és Ogg konténer formátumban bemutatott hangból áll - a PulseAudio hangszerver (ebben a példában a "filesrc") használatával. használt állapítsa meg a forrás fájl „oggdemux»lehetővé teszi demuitipiexáió (in) a fájlt«vorbisdec»dekódolni és«pulsesink” küldeni az eredményt PulseAudio)
gst-launch filesrc location=mon_son.ogg ! oggdemux ! vorbisdec ! pulsesinkAz előző példa egyszerűsíthető azzal, hogy hagyja, hogy a GStreamer maga észlelje a tároló és a kodek természetét a "decodebin" plugin segítségével:
gst-launch filesrc location=mon_son.ogg ! decodebin ! pulsesinkMég az is engedélyezhető, hogy a GStreamer észlelje magát a hangkiszolgálót az "autoaudiosink" plugin segítségével:
gst-launch filesrc location=mon_son.ogg ! decodebin ! autoaudiosink Audio-video fájl lejátszásaItt van egy olyan folyamat, amely lehetővé teszi a "my_video.webm" WebM audio-video fájl lejátszását (ebben a példában a "decodebin" plugin bármilyen nevet kap - itt "foo"), hogy minden cső újra felhasználható legyen - az egyik a videofolyam feldolgozásához, a másik a hangfolyam feldolgozásához - amelyet a "várólista" plugin segítségével várakoztatunk, hogy mindkét részt egyszerre játsszák):
gst-launch filesrc location=ma_vidéo.webm ! decodebin name=foo \ foo. ! queue ! autovideosink \ foo. ! queue ! autoaudiosink Audio-video fájl átkódolásaItt van egy olyan folyamat, amely lehetővé teszi egy MP4 fájl átkódolását (általában egy H.264 kodekkel tömörített videorészt és egy AAC kodekkel tömörített audio részt tartalmaz , de ebben a példában nem releváns, ahol a "Decodebin" plugint elhagyjuk. "vigyázzon minderre, amint azt korábban láttuk) az ogv fájlban, amely a Vorbis és a Theora kodekeket társítja hanghoz és videóhoz (a" decodebin "plugin ismét nevet kap," foo ", hogy újra felhasználható legyen az audio és video csövek, valamint az „oggmux” plugin, amely a „bar” alkalomra van elnevezve, és amely lehetővé teszi az audio és video részek multiplexelését):
gst-launch filesrc location=ma_vidéo.mp4 ! decodebin name=foo \ foo. ! queue ! vorbisenc ! oggmux name=bar \ foo. ! queue ! theoraenc ! bar. \ bar. ! filesink location=ma_vidéo.ogvA GStreamer a beépített pluginok rendszerét a "Jó", "Rossz" és "Csúnya" néven csoportosítva alkalmazza a nekik nyújtott támogatásnak megfelelően, amelyet maga a plugin minősége, licencje és mások szerint határoznak meg. dolgok:
Megjegyzendő, hogy a "Jó", "Rossz" és "Ugly" elnevezéseket Sergio Leone egy híres filmjének angol címe ihlette: A jó, a rossz és a csúnya ( A jó, a rossz és a csúnya) ).
A GStreamer Editing Services könyvtárat a GStreamer tetején fejlesztették ki, hogy egyszerűsített programozási felületet biztosítson a multimédiás szerkesztési műveletekhez, különös tekintettel a nemlineáris szerkesztésre, beleértve a nemlineáris videoszerkesztést is.
Pontosabban: a GStreamer Editing Services a nemlineáris motorra (a GNonLin utódja) támaszkodik, amely maga is a GStreamerre támaszkodik e célból.
A nem-lineáris motor média agnosztikus, és nincs koncepciója a videók szerkesztéséről. A nemlineáris motor alapvetően néhány, a GStreamer számára szálbiztos beépülő modulból áll, amelyek lehetővé teszik az írást és a keverést, valamint a projekt szerkesztési sávját dinamikusan konvertálják a GStreamer számára.
A 0.91-es verziótól kezdve a Pitivi a GES-en alapul.
A projekt kezdődik, mint egy proof of concept in1999. június, a 0.0.1 verzió kiadásával. A2001. január 11, a projekt közzéteszi az első igazi verzióját, a 0.1.0-t.
Ban ben 2002. júliusMegjelent a 0.4.0 verzió, amely egyben az első verzió, amely integrálódott a GNOME projektbe . A kiadott 0.6.0 verzióval2003. február 2, a projekt úgy véli, hogy az audio támogatás végül teljesen működőképes.
A 0,8-as sorozat indult 2004. március, amelyet gyorsan követett a 0.10-es sorozat, amelyet elindítottak 2005. december, amely a keret érettségének valódi jele .
1.0 verzió, kiadva 2012. szeptember 24, végül sikeres lesz a 0.10 verzió. Ezt a verziót úgy tervezték, hogy képes legyen együtt élni az előzővel ugyanazon a rendszeren az átmenet megkönnyítése érdekében.
1.2 verzió, kiadva 2013. szeptember 24, különösen támogatja a hardveres grafikus processzor általi gyorsítását bizonyos kodekek és processzorok dekódolásának vagy akár videokódolásának (a gstreamer- vaapi könyvtár segítségével ).
Az 1.4-es verzió többek között kijavítja az MPEG-TS formátum támogatását .
Az 1.6-os verziótól kezdve 2015. szeptember 25, A nemlineáris motor (NLE) helyettesíti a GNonLin-t.