GStreamer: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
SieBot (discussione | contributi)
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]]
|Nome = GStreamer
GStreamer è una piattaforma [[software]] altamente modulare utilizzata per creare [[applicazioni multimediali]].
|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 =
}}
'''GStreamer''' è una piattaforma [[software]] altamente modulare utilizzata per creare [[software|applicazioni]] multimediali.


== 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 [[mp3]], visto come pipeline, è composto da tre elementi:
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|decodificare]] 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
# ''[[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 mp3 è di norma contenuto in un [[plugin]].
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 [[Multimedia|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''.
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

multimediali è compatibile con '''tutti''' gli altri plugin e tutte le altre applicazioni che a loro volta sono basate su GStreamer.
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 applicationi che a loro volta sono basate su GStreamer.


=== 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]], [[raw]], [[mpeg4]], ...) usa per usare un qualsiasi plugin di GStreamer.


== 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 una 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:
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 files, altri programmi, connessioni di rete, etc. <br/> Hanno una uscita '''source pad'''.
# '''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 files, altri programmi, connessioni di rete, etc.<br/> Hanno un ingresso '''sink pad'''.
# '''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. <br/> hanno sempre almeno un '''source pad''' e un '''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.<br />hanno sempre almeno un '''source pad''' e un '''sink pad'''


<gallery>
<gallery>
Riga 41: Riga 54:
</gallery>
</gallery>


== Altri progetti ==
==Collegamenti esterni==
{{interprogetto}}
*{{en}} [http://gstreamer.freedesktop.org/ Sito ufficiale di Gstreamer]

== Collegamenti esterni ==
* {{Collegamenti esterni}}

{{Freedesktop.org}}
{{GNOME}}


{{Portale|software libero}}
[[Categoria:Software multimediale]]
[[Categoria:Ambienti di sviluppo]]


[[Categoria:Freedesktop.org]]
[[de:GStreamer]]
[[Categoria:Librerie software]]
[[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
Logo
Logo
Schermata di esempio
Schermata di esempio
GenereLettore multimediale
SviluppatoreGStreamer Team
Data prima versionegiugno 1999
Ultima versione1.24.9 (31 ottobre 2024)
Sistema operativoMultipiattaforma
LinguaggioC
LicenzaGNU Lesser General Public License
(licenza libera)
Sito webgstreamer.freedesktop.org/

GStreamer è una piattaforma software altamente modulare utilizzata per creare applicazioni multimediali.

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:

  1. 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.
  2. 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
  3. 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 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.

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:

  1. source: prelevano dati da fonti esterne al programma come file, altri programmi, connessioni di rete, etc.
    Hanno una uscita source pad.
  2. sink: mandano dati provenienti dal programma a componenti esterne come file, altri programmi, connessioni di rete, etc.
    Hanno un ingresso sink pad.
  3. 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

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
  Portale Software libero: accedi alle voci di Wikipedia che trattano di software libero