Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !


GSTreamer

Testé sous Breezy.

Rédigée et maintenue par Id2ndR.

GSTreamer est utilisé par d'autres applications pour lire les fichiers multimédia.

Mots-clefs : GSTreamer, ubuntu, linux.

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.

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 pour gstreamer0.8(warty,hoary et breezy)paquet pour gstreamer0.10 (dapper) Plus d'informations
mp3 gstreamer0.8-mad gstreamer0.10-plugins-ugly Lecture de fichiers MP3
mpc gstreamer0.8-musepack Le cas du format MPC
aac gstreamer0.8-faac gstreamer0.10-plugins-bad-multiverse Décodage du AAC
<video> gstreamer0.10-ffmpeg Utilisé par Totem…
Les plugins prévus pour GSTreamer 0.8 fonctionnent avec GSTreamer 0.10.

La version incluse dans les dépôts de Breezy lit mal les fichiers mp3 pro. Ce problème n'est plus présent dans GSTreamer 0.10 (et supérieur). Si vous avez toujours des problèmes, forcez l'utilisation de la nouvelle version.

Cette section explique seulement comment mettre à jour GSTreamer vers la dernière version. Elle sera incluse dans la version Dapper.

  1. Vous pouvez installer GSTreamer à partir des sources (utilisateurs avertis) ou à partir d'un paquet (plus simple).
  2. Forcez ensuite l'utilisation de la nouvelle version.

A partir des sources

Prérequis

  • Il vous faut télécharger les sources :
    1. Rendez-vous sur le sur le site Officiel.
    2. Dans la section Download, cliquez sur source download directory.
    3. Naviguez dans le dossier gstreamer et téléchargez alors les sources de la dernière version de gstreamer au format tar.bz2.
  • Décompressez ensuite l'archive téléchargée (avec file-roller sous Ubuntu). (Ceux qui préfèrent la commande utiliseront $ tar -xjvf <archive>).
  • Il vous faut ajouter quelques paquets supplémentaires (liste non exhaustive) : bison et flex
    (avec un gestionnaire de paquets).

Compilation

La compilation ne peut se faire qu'en commande (cf les principales commandes de la console).
  • Ouvrez un terminal et déplacez-vous dans le dossier de l'archive décompressée.
  • Exécutez la commande suivante pour vérifier les dépendances requises :
    $ ./configure

Si cette étape provoque des erreurs, merci de m'en informer : des paquets supplémentaires sont probablement nécessaires.
Dans le cas contraire, les deux commandes suivantes ne devraient pas poser de problème.

  • Exécutez la commande suivante pour compiler le
    $ make

Patientez le temps que cette opération soit réalisée.

Installation proprement dite

  • Créez un paquet debian et installez-le :
    1. Installez d'abord le paquet checkinstall si vous ne l'avez jamais utilisé (avec un gestionnaire de paquets).
    2. Installez GSTreamer :
      $ sudo checkinstall

      Quelques informations vous seront demandées :

      • pour la première tapez entrée (choix par défaut),
      • pour la description vous pouvez copier la description de l'introduction par exemple. Validez par entrée (deux fois).
      • Validez encore une ou deux fois et le paquet sera créé puis installé.
Vous pouvez aussi utiliser la commande classique :
$ sudo make install

Néanmoins ceci ne vous permet pas de profiter des avantages des paquets.

A partir d'un paquet

J'ai créé un paquet avec la commande checkinstall citée plus haut. Il a été compilé pour l'architecture i386 et devrait être utilisable sur la plupart des PC.

  • Télécharger le paquet
  • Installez le avec dpkg :
$ sudo dpkg -i <répertoire de téléchargement>/gstreamer-0.10.3_i386.deb
  • Si vous obtenez des erreurs à l'installation, utilisez synaptic2 pour réparer les paquets cassés.

Nouvelle version

  • Pour être sûr de bien exploiter GSTreamer 0.10, il faut supprimer les paquets gstreamer0.8-oss et gstreamer0.8-alsa avec un gestionnaire de paquets.
  • Vérifiez alors que vous pouvez toujours lire des fichiers multimédia (cf utilisation).

Cette section est donnée seulement à titre d'information pour ceux qui souhaitent en savoir plus sur le fonctionnement interne.

De plus les informations contenues dans cette section peuvent être inexactes : elles sont interprétées par des exemples construit à partir des informations des pages de manuels. Merci d'informer l'auteur des erreurs éventuelles.

Les pipelines

<FIXME>

Un pipeline relie la sortie d'une fonction à l'entrée de la suivante.
Ainsi pour lire un fichier multimédia, les fonction suivantes sont utilisées : lecture du fichier, décodage, conversion et envoi vers le pilote de la carte son.
Elle sont reliées par le pipeline (symbole ! dans la ligne de commande).

Voici un exemple :

$ gst-launch-0.8 filesrc location=<fichier.ogg> ! oggdemux ! vorbisdec ! audioconvert ! osssink

Cette commande décode <fichier.ogg> et l'envoit vers le pilote oss.

Pour utiliser alsa il faut rajouter audioscale :

$ gst-launch-0.8 filesrc location=<fichier.ogg> ! oggdemux ! vorbisdec ! audioconvert ! audioscale ! alsasink
Id2ndR : je n'ai réussi à utiliser la version 0.10 car les plugins de décodage présents sous dapper sons ceux de la version 0.8. C'est possible puisque les applications utilisant GStreamer le font. Je suppose qu'il faut passer en paramètre le répertoire des plugins, ce que je n'ai pas encore essayé.

Quelques commandes (préciser éventuellement la version en complétant le nom de la commande avec -0.8 ou -0.10) :

  • lister les plugins :
    $ gst-inspect
  • Quelques exemples sur les pipelines :
    $ man gst-launch
  • applications/gstreamer.1161934747.txt.gz
  • Dernière modification: Le 18/04/2011, 14:47
  • (modification externe)