Ceci est une ancienne révision du document !



Lecteur multimédia : GStreamer

GStreamer est un moteur utilisé par d'autres applications pour lire les fichiers multimédia.

Ceci est une traduction du site officiel (cf liens).

GStreamer est une bibliothèque permettant la connexion de composants de gestion de média, allant de la simple lecture Ogg/Vorbis à de l'édition audio complexe (mixage) et vidéo (édition non linéaire).
Les applications peuvent ainsi profiter des avancées technologiques faites au niveau des codecs et des filtres de manière totalement transparente. Les développeurs peuvent ajouter des nouveaux codecs et filtres en écrivant de simples plugins avec une interface générique propre.
GStreamer est sous licence LGPL.

GStreamer est installé par défaut sous Ubuntu.

Pour ceux désirant les dernières versions un dépôt ppa est disponible à cette adresse.

Vous allez installer un dépôt non officiel. Les logiciels installés à partir de ce dépôt n'auront pas de support officiel. Contactez le mainteneur du dépôt si vous avez un problème.
Import de la clé PGP
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 051D8B58
Pour Jaunty
deb http://ppa.launchpad.net/gstreamer-developers/ppa/ubuntu jaunty main 

Vous utilisez de manière totalement transparente GSTreamer lors de la lecture de fichiers multimédia par le biais d'une des applications utilisant GSTreamer.

Plugins

Comme précisé dans l'introduction, GSTreamer est modulaire et de nombreux plugins viennent enrichir ses possibilités. En voici quelques uns (tiré d'autres pages du wiki) :

Format Paquet dépôts Plus d'informations
Ogg, Vorbis, Theora, Flac, etc gstreamer0.10-plugins-good main installé par défaut
mp3, DVD, mpeg2, asf gstreamer0.10-plugins-ugly universe
<video> + w32codecs gstreamer0.10-ffmpeg universe w32codecs
<diffusion> + mpc gstreamer0.10-plugins-bad universe Flash (swf), QT, flux mms etc
aac gstreamer0.10-plugins-bad-multiverse multiverse
QuickTime QTX and DirectShow/DMO DLL gstreamer0.10-pitfdll universe Ne semble pas fonctionner sur la 0.10
m4a gstreamer0.10-plugins-really-bad Il n'est pas dans les dépôts de Hardy. Liens vers des paquets: i386 amd64. Si vous avez l'erreur "dépendances non satisfaites pour libwavpack0", installer le paquet de Dapper (marche parfaitement) disponible ici

En une ligne, ça donne (sans l'installation du support m4a) :

sudo apt-get install gstreamer0.10-ffmpeg gstreamer0.10-fluendo-mp3 gstreamer0.10-gl gstreamer0.10-pitfdll gstreamer0.10-sdl gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse mpg321

Vous pouvez aussi lister les plugins supportés avec la commande suivante :

gst-inspect-0.10

Les pipelines

Un pipeline relie la sortie d'une fonction à l'entrée de la suivante. Il est symbolisé par le point d'exclamation ! (exemple de fonctions : lecture du fichier, décodage, conversion et envoi vers le pilote de la carte son).

Les pipelines sont utilisés pour décoder les flux multimédia bien sûr mais aussi pour les encoder. Ainsi pour encoder vos CD de musique, l'application Sound juicer les utilise. Vous pouvez les éditer en lançant directement la commande suivante :

gnome-audio-profiles-properties

Vous trouverez donc ici les exemples qui vous permettront d'encoder votre musique vers différents formats :

Extension Pipeline GStreamer Commentaire(s)
ogg audio/x-raw-float,rate=44100,channels=2 ! vorbisenc name=enc quality=0.5 ! oggmux
flac audio/x-raw-int,rate=44100,channels=2 ! flacenc name=enc
mp3 audio/x-raw-int,rate=44100,channels=2 ! lame name=enc nécessite le plugin correspondant
aac audio/x-raw-int,rate=44100,channels=2 ! faac ! ffmux_mp4 nécessite le plugin correspondant
wav audio/x-raw-int,rate=44100,channels=2 ! wavenc name=enc

D'autres précisions pour le mp3 :

  1. vous pouvez rajouter d'autres paramètres pour Lame (en plus de name=enc), comme par exemple preset=standard. La liste complète est la sortie de la commande suivante :
    $ gst-inspect-0.10 lame
  2. Si les méta-informations (id3tag) ne sont pas correctes, ajoutez les pipelines suivants après le pipeline de Lame : ! xingmux ! id3v2mux exemple pour le mp3
    audio/x-raw-int,rate=44100,channels=2 ! lame name=enc ! id3v2mux

D'autres exemples sur les pipelines :

Après installation de Beryl, les vidéos peuvent ne pas s'afficher dans les applications utilisant gstreamer (exemple : totem). Ce bug (aussi présent XGL) peut être outrepassé en utilisant cette astuce.

Billet résumant tout ce qui concerne le multimédia :


Contributeurs : Rédigée et maintenue par Id2ndR. Inspiré de la documentation anglophone https://help.ubuntu.com/community/CDRipping

  • gstreamer.1252392328.txt.gz
  • Dernière modification: Le 18/04/2011, 14:56
  • (modification externe)