Skip to Content

gst-launch : la puissance de gstreamer en ligne de commande

Gstreamer est un framework freedesktop permettant de décoder ou encoder de la musique et de la vidéo. gst-launch est un outil qui permet de construire et de jouer des pipelines GStreamer. Ce document est orienté audio, mais il est possible de faire le même genre de chose avec la vidéo.

Introduction a gst-launch

Pour commencer, nous allons écouter un fichier ogg/vorbis grâce à gst-launch, pour cela nous tappons :

gst-launch filesrc location=musique.ogg ! vorbisfile ! osssink

Nous demandons ici de lire un fichier (filesrc) situé dans le répertoire courant avec le nom musique.ogg. Ce fichier est lu dans un pipe vorbisfile et envoyé dans la sortie audio osssink.

Approfondissons chacune des options :

  •  à la place de filesrc, il est possible de mettre httpsrc, ... ou plus simplement gnomevfssrc qui permet d’accéder au fichier en utilisant gnomevfs (file, http, ftp, smb ...).
  •  vorbisfile désigne les fichiers vorbis, mad pour mp3, wavparse pour wav, ... spider permet de ne pas déterminer le type. GStreamer se débrouillera tout seul.
  •  osssink est la sortie audio (utilisant ici oss), il est possible de mettre alsasink, esdsink, artsdsink, ...

    gst-launch pour ripper un cédérom audio

    Commençons par lire le cédérom audio avec gst-launch.

    J’utilise l’outil gst-inspect pour tenter de trouver le greffon utile à la lecture du cédérom audio :

    # gst-inspect
    [...]
    cdparanoia:  cdparanoia: CD Audio (cdda) Source, Paranoia IV
    [...]

    Dans la longue liste de greffons, je remarque cdparanoia. Je lance donc gst-launch avec ce greffon et avec comme sortie ma carte son oss :

    # gst-launch cdparanoia ! osssink

    Il est possible de convertir un cédérom dans un seul fichier mp3. En jouant avec les pipes, nous n’avons qu’à faire :

    # gst-launch cdparanoia ! mpegaudio ! filesink location=cd.mp3

    Ici, nous envoyons le contenu du cédérom audio vers le convertisseur mpegaudio et enfin vers la sortie audio ’fichier’ cd.mp3.

    gst-launch pour convertir un mp3 en ogg

    Avec les pipes, il est facile de faire ce genre de chose :

    # gst-launch filesrc location=music.mp3 ! mad ! vorbisenc ! filesink location=musique.ogg

    Il est possible de jouer avec les options de vorbisenc. Commençons par lister toutes les options disponibles :

    # gst-inspect vorbisenc
    [...]
    quality             : Specify quality instead of specifying a particular bitrate.
    [...]

    Nous voyons qu’il est possible de jouer avec la qualité du ogg/vorbis. Nous allons donc faire, par exemple :

    gst-launch filesrc location=music.mp3 ! mad ! vorbisenc quality=0.5 ! filesink location=musique.ogg

    Il faut bien comprendre que gst-launch n’est pas fait réellement pour être utilisé. En effet gstreamer est plus une boîte à outil multimédia. Des bibliothèques pour un grand nombre de langage existent déjà (C, C++, python, ruby ...). Il est déjà utilisé par un grand nombre de projets libres.

    Encoder en mp3 des cédéroms avec sound-juicer

    Sound-juicer, dans ses dernières versions, ne permet pas d’encoder en mp3 directement. Voici comment rajouter cette fonctionnalité :

    Lancer gnome-audio-profiles-properties et ajouter un nouveau profil :

    Nom du profil: Qualité CD, mp3
    Description du profile : Test
    Pipeline GStreamer : audio/x-raw-int,rate=44100,channels=2 ! lame name=enc
    Extension du fichier : mp3

    Et voilà :)

  • Commentaires

    > gst-launch : la puissance de gstreamer en ligne de commande

    J’ai corrigé 2-3 fautes.

    Autrement,je suis surpris de lire de ta part un article sur le mp3 qui n’est pas libre... ;-)

    Sinon, il est déconseillé de convertir du mp3 en ogg, car ce sont deux formats destructif et dans ce cas il y a une grosse perte de qualité.