GStreamer: differenze tra le versioni
m robot Aggiungo: nl:GStreamer |
m dimensioni logo |
||
(43 versioni intermedie di 32 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Software |
|||
[[Immagine:Gstreamer-logo.png|right|Logo GStreamer]] |
|||
⚫ | |||
⚫ | |||
|Screenshot = |
|||
|Didascalia = |
|||
|DimensioneLogo = 250px |
|||
|Sviluppatore = GStreamer Team |
|||
|DataPrimaVersione = |
|||
|UltimaVersione = |
|||
|DataUltimaVersione = |
|||
|UltimaVersioneBeta = |
|||
|DataUltimaVersioneBeta = |
|||
|SistemaOperativo = multipiattaforma |
|||
|Linguaggio = C |
|||
|Genere = lettore multimediale |
|||
|Licenza = [[GNU Lesser General Public License]] |
|||
|SoftwareLibero = sì |
|||
|Lingua = |
|||
}} |
|||
⚫ | |||
== Introduzione == |
== Introduzione == |
||
L'idea alla base della concezione di '''GStreamer''' è la ''[[pipeline software|pipeline]]'': questo termine (in inglese significa tubatura) è usato per indicare un insieme di ''elementi'' collegati uno in serie all'altro. |
L'idea alla base della concezione di '''GStreamer''' è la ''[[pipeline software|pipeline]]'': questo termine (in inglese significa tubatura) è usato per indicare un insieme di ''elementi'' collegati uno in serie all'altro. |
||
Gli ''elementi'' con i quali costituire una pipeline sono di tre tipi: ''source''(sorgente), ''filter''(filtro), ''sink''(pozzo, ad indicare un elemento finale, senza uscite). Ogni applicazione che utilizzi GStreamer contiene almeno una pipeline. |
Gli ''elementi'' con i quali costituire una pipeline sono di tre tipi: ''source''(sorgente), ''filter''(filtro), ''sink''(pozzo, ad indicare un elemento finale, senza uscite). Ogni applicazione che utilizzi GStreamer contiene almeno una pipeline. |
||
La metafora della pipeline si può spiegare facilmente con un esempio. Un comune player [[ |
La metafora della pipeline si può spiegare facilmente con un esempio. Un comune player [[MP3]], visto come pipeline, è composto da tre elementi: |
||
# '''source''': la parte di [[Programma (informatica)|programma]] che si occupa di prelevare i dati da un [[file]], o da un server [[rtsp]], o da una qualsiasi altra sorgente. |
# '''source''': la parte di [[Programma (informatica)|programma]] che si occupa di prelevare i dati da un [[file]], o da un server [[rtsp]], o da una qualsiasi altra sorgente. |
||
# ''[[decoder]]'' '''filter''': un componente in grado di [[decodifica |
# ''[[decoder (elettronica)|decoder]]'' '''filter''': un componente in grado di [[decodifica]]re o di [[Compressione dei dati|decomprimere]] i dati provenienti dall'elemento precedente in modo da portarli ad un formato non compresso e facile da maneggiare e comprensibile alle altre parti del programma |
||
# '''sink''': l'elemento che dialoga con i driver audio del sistema operativo al fine di riprodurre sulle casse i dati |
# '''sink''': l'elemento che dialoga con i driver audio del sistema operativo al fine di riprodurre sulle casse i dati |
||
Ognuno degli elementi che costituisce il player |
Ognuno degli elementi che costituisce il player MP3 è di norma contenuto in un [[plugin (informatica)|plugin]]. |
||
Il vero scopo di GStreamer è quello di rendere possibile la realizzazione di applicazioni [[ |
Il vero scopo di GStreamer è quello di rendere possibile la realizzazione di applicazioni [[multimedia]]li utilizzando ''elementi'' già esistenti (plugin) in grado di interagire: in sostanza definisce un protocollo/modello di comunicazione e di scambio di dati ed eventi tra ''elementi''. |
||
== I plugin == |
== I plugin == |
||
⚫ | I plugin sono molto diffusi soprattutto nel campo delle applicazioni multimediali. Un problema molto diffuso è quello della compatibilità: un particolare plugin funziona soltanto con l'applicazione per la quale è stato sviluppato. GStreamer tenta di porre fine a queste incompatibilità definendo una [[Application programming interface|API]] multimediale. L'applicazione di uno sviluppatore che utilizzi GStreamer come piattaforma per la gestione e generazione di plugin |
||
⚫ | |||
⚫ | I plugin sono molto diffusi soprattutto nel campo delle applicazioni multimediali. Un problema molto diffuso è quello della compatibilità: un particolare plugin funziona soltanto con l'applicazione per la quale è stato sviluppato. GStreamer tenta di porre fine a queste incompatibilità definendo una [[API]] multimediale. L'applicazione di uno sviluppatore che utilizzi GStreamer come piattaforma per la gestione e generazione di plugin |
||
⚫ | |||
=== Black Box === |
=== Black Box === |
||
⚫ | Una ''[[Scatola nera|Black Box]]'' (dall'inglese scatola nera) è qualcosa con cui si interagisce senza sapere come funziona internamente. Uno dei vantaggi maggiori nell'utilizzo di una piattaforma come GStreamer è quello di poter interagire con plugin senza conoscerne il funzionamento. Basta sapere a cosa serve e che tipi di dati (audio, video, ...) e formati ([[WAV|wave]], [[Raw (fotografia)|RAW]], [[MPEG-4]]...) usa per usare un qualsiasi plugin di GStreamer. |
||
⚫ | Una ''[[Black Box]]'' (dall'inglese scatola nera) è qualcosa con cui si interagisce senza sapere come funziona internamente. Uno dei vantaggi maggiori nell'utilizzo di una piattaforma come GStreamer è quello di poter interagire con plugin senza conoscerne il funzionamento. Basta sapere a cosa serve e che tipi di dati (audio, video, ...) e formati ([[WAV|wave]], [[ |
||
== Elementi in dettaglio == |
== Elementi in dettaglio == |
||
⚫ | Per formare una pipeline, gli elementi vanno collegati gli uni agli altri utilizzando quello che è l'equivalente in GStreamer dei comuni connettori: i '''pad'''. Per immaginare un pad si pensi a delle apparecchiature elettroniche che si collegano tra di loro, per esempio [[televisione]] e [[videoregistratore]]: la connessione avviene tramite i connettori [[SCART]]. In GStreamer i pad sono caratterizzati da un particolare ''tipo'' di dati e dal tipo di connessione permessa: per continuare con l'esempio del televisore e del videoregistratore, si può dire che non è possibile collegare un connettore SCART ad un connettore per le cuffie. |
||
⚫ | Per formare una pipeline, gli elementi vanno collegati gli uni agli altri utilizzando quello che è l'equivalente in GStreamer dei comuni connettori: i '''pad'''. Per immaginare un pad si pensi a delle apparecchiature elettroniche che si collegano tra di loro, per esempio [[televisione]] e [[videoregistratore]]: la connessione avviene tramite i connettori [[SCART]]. In GStreamer i pad sono caratterizzati da un particolare ''tipo'' di dati e dal tipo di connessione permessa: per continuare con l'esempio del televisore e del videoregistratore, si può dire che non è possibile collegare |
||
Gli elementi, classificati in base al tipo e al numero di pad, possono essere di tre tipi: |
Gli elementi, classificati in base al tipo e al numero di pad, possono essere di tre tipi: |
||
# '''source''': prelevano dati da fonti esterne al programma come |
# '''source''': prelevano dati da fonti esterne al programma come file, altri programmi, connessioni di rete, etc.<br />Hanno una uscita '''source pad'''. |
||
# '''sink''': mandano dati provenienti dal programma a componenti esterne come |
# '''sink''': mandano dati provenienti dal programma a componenti esterne come file, altri programmi, connessioni di rete, etc.<br />Hanno un ingresso '''sink pad'''. |
||
# '''filter''': possono essere collegati solo ad altri elementi, quindi non sono usati per comunicare con l'esterno. Il loro scopo è quello di modificare, convertire o elaborare i dati. |
# '''filter''': possono essere collegati solo ad altri elementi, quindi non sono usati per comunicare con l'esterno. Il loro scopo è quello di modificare, convertire o elaborare i dati.<br />hanno sempre almeno un '''source pad''' e un '''sink pad''' |
||
<gallery> |
<gallery> |
||
Riga 41: | Riga 54: | ||
</gallery> |
</gallery> |
||
== Altri progetti == |
|||
⚫ | |||
{{interprogetto}} |
|||
*{{en}} [http://gstreamer.freedesktop.org/ Sito ufficiale di Gstreamer] |
|||
⚫ | |||
* {{Collegamenti esterni}} |
|||
{{Freedesktop.org}} |
|||
{{GNOME}} |
|||
{{Portale|software libero}} |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
[[en:GStreamer]] |
|||
[[es:GStreamer]] |
|||
[[fr:GStreamer]] |
|||
[[ja:GStreamer]] |
|||
[[nl:GStreamer]] |
|||
[[pl:GStreamer]] |
|||
[[pt:GStreamer]] |
|||
[[sv:GStreamer]] |
|||
[[tr:Gstreamer]] |
|||
[[zh:GStreamer]] |
Versione attuale delle 15:58, 8 set 2020
GStreamer software | |
---|---|
Genere | Lettore multimediale |
Sviluppatore | GStreamer Team |
Data prima versione | giugno 1999 |
Ultima versione | 1.24.9 (31 ottobre 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | C |
Licenza | GNU Lesser General Public License (licenza libera) |
Sito web | gstreamer.freedesktop.org/ |
GStreamer è una piattaforma software altamente modulare utilizzata per creare applicazioni multimediali.
Introduzione
[modifica | modifica wikitesto]L'idea alla base della concezione di GStreamer è la pipeline: questo termine (in inglese significa tubatura) è usato per indicare un insieme di elementi collegati uno in serie all'altro.
Gli elementi con i quali costituire una pipeline sono di tre tipi: source(sorgente), filter(filtro), sink(pozzo, ad indicare un elemento finale, senza uscite). Ogni applicazione che utilizzi GStreamer contiene almeno una pipeline.
La metafora della pipeline si può spiegare facilmente con un esempio. Un comune player MP3, visto come pipeline, è composto da tre elementi:
- source: la parte di programma che si occupa di prelevare i dati da un file, o da un server rtsp, o da una qualsiasi altra sorgente.
- decoder filter: un componente in grado di decodificare o di decomprimere i dati provenienti dall'elemento precedente in modo da portarli ad un formato non compresso e facile da maneggiare e comprensibile alle altre parti del programma
- sink: l'elemento che dialoga con i driver audio del sistema operativo al fine di riprodurre sulle casse i dati
Ognuno degli elementi che costituisce il player MP3 è di norma contenuto in un plugin.
Il vero scopo di GStreamer è quello di rendere possibile la realizzazione di applicazioni multimediali utilizzando elementi già esistenti (plugin) in grado di interagire: in sostanza definisce un protocollo/modello di comunicazione e di scambio di dati ed eventi tra elementi.
I plugin
[modifica | modifica wikitesto]I plugin sono molto diffusi soprattutto nel campo delle applicazioni multimediali. Un problema molto diffuso è quello della compatibilità: un particolare plugin funziona soltanto con l'applicazione per la quale è stato sviluppato. GStreamer tenta di porre fine a queste incompatibilità definendo una API multimediale. L'applicazione di uno sviluppatore che utilizzi GStreamer come piattaforma per la gestione e generazione di plugin multimediali è compatibile con tutti gli altri plugin e tutte le altre applicazioni che a loro volta sono basate su GStreamer.
Black Box
[modifica | modifica wikitesto]Una Black Box (dall'inglese scatola nera) è qualcosa con cui si interagisce senza sapere come funziona internamente. Uno dei vantaggi maggiori nell'utilizzo di una piattaforma come GStreamer è quello di poter interagire con plugin senza conoscerne il funzionamento. Basta sapere a cosa serve e che tipi di dati (audio, video, ...) e formati (wave, RAW, MPEG-4...) usa per usare un qualsiasi plugin di GStreamer.
Elementi in dettaglio
[modifica | modifica wikitesto]Per formare una pipeline, gli elementi vanno collegati gli uni agli altri utilizzando quello che è l'equivalente in GStreamer dei comuni connettori: i pad. Per immaginare un pad si pensi a delle apparecchiature elettroniche che si collegano tra di loro, per esempio televisione e videoregistratore: la connessione avviene tramite i connettori SCART. In GStreamer i pad sono caratterizzati da un particolare tipo di dati e dal tipo di connessione permessa: per continuare con l'esempio del televisore e del videoregistratore, si può dire che non è possibile collegare un connettore SCART ad un connettore per le cuffie.
Gli elementi, classificati in base al tipo e al numero di pad, possono essere di tre tipi:
- source: prelevano dati da fonti esterne al programma come file, altri programmi, connessioni di rete, etc.
Hanno una uscita source pad. - sink: mandano dati provenienti dal programma a componenti esterne come file, altri programmi, connessioni di rete, etc.
Hanno un ingresso sink pad. - filter: possono essere collegati solo ad altri elementi, quindi non sono usati per comunicare con l'esterno. Il loro scopo è quello di modificare, convertire o elaborare i dati.
hanno sempre almeno un source pad e un sink pad
-
Elemento source
-
Elemento sink
-
Elemento filter
Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su GStreamer
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su gstreamer.freedesktop.org.
- GStreamer / GStreamer (altra versione) / GStreamer (altra versione) / GStreamer (altra versione), su packages.debian.org.
- Repository sorgenti di GStreamer, su gitlab.freedesktop.org.
- Sito di segnalazione bug, su gitlab.freedesktop.org.
- (EN) GStreamer, su Free Software Directory.