Il n’existe pas de package de distribution officiel de GStreamer sous Mac OS X. Les versions disponibles dans les MacPorts sont anciennes et incomplètes. Nous allons donc dans ce billet voir comment installer GStreamer et ses plugins sur un Mac OS X.
Pre-requis
Il faut un certain nombre de pré-requis système pour compiler et installer GStreamer. La première chose à faire est d’installer les MacPorts (disponibles ici).
Ensuite, il faut ouvrir un terminal est saisir les commandes suivantes:
# sudo port install gzip m4 perl5.8 pkgconfig bison flex gettext glib2 libiconv libxml2 py25-gobject py25-numeric python25 zlib liboil libogg libtheora libvorbis cdparanoia
puis:
# sudo port install libcdio aalib flac jpeg libcaca libdv libpng libshout2 speex taglib wavpack XviD libdts faac faad2 libmusicbrainz neon libsdl a52dec lame libmpeg2 libmad libid3tag libdvdread
Pour installer le support de la librairie X.264, j’ai du faire:
# sudo port
> install x264
—> Fetching yasm
—> Attempting to fetch yasm-0.7.2.tar.gz from http://arn.se.distfiles.macports.org/yasm
—> Verifying checksum(s) for yasm
—> Extracting yasm
—> Configuring yasm
—> Building yasm
—> Staging yasm into destroot
—> Installing yasm @0.7.2_0
—> Activating yasm @0.7.2_0
—> Cleaning yasm
—> Fetching x264
—> Attempting to fetch x264-snapshot-20080724-2245.tar.bz2 from ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
—> Verifying checksum(s) for x264
—> Extracting x264
—> Configuring x264
—> Building x264
—> Staging x264 into destroot
—> Installing x264 @20080724_1
—> Activating x264 @20080724_1
—> Cleaning x264
Installation de GStreamer
GStreamer est composé de plusieurs packages:
- gstreamer: le coeur du système
- gst-plugins-base: les plugins de base
- gst-plugins-good: les plugins jugés de bonne qualité et sous licences LGPL
- gst-plugins-ugly: les plugins jugés de bonne qualité mais non validé sur toutes les OS
- gst-plugins-bad: les plugins en développement ou non stable
- gst-ffmpeg: le plugin FFMpeg (indispensable :))
On va commencer par récupérer les dernières versions disponibles sur le site officiel. On moment de l’écriture de ce billet, j’ai:
- gstreamer: version 0.10.22
- gst-plugins-base: version 0.10.22
- gst-plugins-good: version 0.10.13
- gst-plugins-ugly: version 0.10.10
- gst-plugins-bad: version 0.10.10
On télécharge donc tout ce beau monde:
# cd
# mkdir src
# cd src
# wget http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.22.tar.gz
# wget http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.22.tar.gz
# wget http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.13.tar.gz
# wget http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-0.10.10.tar.gz
# wget http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.10.tar.gz
Puis on commence par compiler GStreamer:
# tar zxvf gstreamer-0.10.22.tar.gz
# cd gstreamer-0.10.22
# LDFLAGS=”-L/usr/local/lib -L/opt/local/lib” \
CFLAGS=”-I/usr/local/include -I/opt/local/include” \
PKG_CONFIG_PATH=”/usr/local/lib/pkgconfig:/opt/local/lib/pkgconfig” \
./configure --prefix=/usr/local \
& make DEPRECATED_CFLAGS=”" \
& sudo make install
puis on continue avec les plugins-base:
# cd ..
# tar zxvf gst-plugins-base-0.10.22.tar.gz
# cd gst-plugins-base-0.10.22
# LDFLAGS=”-L/usr/local/lib -L/opt/local/lib” \
CFLAGS=”-I/usr/local/include -I/opt/local/include” \
PKG_CONFIG_PATH=”/usr/local/lib/pkgconfig:/opt/local/lib/pkgconfig” \
./configure --prefix=/usr/local \
& make DEPRECATED_CFLAGS=”" \
& sudo make install
… et les plugins-good:
# cd ..
# tar zxvf gst-plugins-good-0.10.13.tar.gz
# cd gst-plugins-good-0.10.13
# LDFLAGS=”-L/usr/local/lib -L/opt/local/lib” \
CFLAGS=”-I/usr/local/include -I/opt/local/include” \
PKG_CONFIG_PATH=”/usr/local/lib/pkgconfig:/opt/local/lib/pkgconfig” \
./configure --prefix=/usr/local \
& make DEPRECATED_CFLAGS=”" \
& sudo make install
… et les plugins-ugly:
# cd ..
# tar zxvf gst-plugins-ugly-0.10.10.tar.gz
# cd gst-plugins-ugly-0.10.10
# LDFLAGS=”-L/usr/local/lib -L/opt/local/lib” \
CFLAGS=”-I/usr/local/include -I/opt/local/include” \
PKG_CONFIG_PATH=”/usr/local/lib/pkgconfig:/opt/local/lib/pkgconfig” \
./configure --prefix=/usr/local \
& make DEPRECATED_CFLAGS=”" \
& sudo make install
… et les plugins-bad:
# cd ..
# tar zxvf gst-plugins-bad-0.10.10.tar.gz
# cd gst-plugins-bad-0.10.10
# LDFLAGS=”-L/usr/local/lib -L/opt/local/lib” \
CFLAGS=”-I/usr/local/include -I/opt/local/include” \
PKG_CONFIG_PATH=”/usr/local/lib/pkgconfig:/opt/local/lib/pkgconfig” \
./configure --prefix=/usr/local \
& make DEPRECATED_CFLAGS=”" \
& sudo make install
Vous devriez vous retrouver avec environ:
# gst-inspect-0.10
…
Nombre total :147 greffons, 439 fonctionnalités
Source: ce billet se base en grande partie sur ce Wiki.