Table des matières
Pure Data vs GStreamer
GStreamer
GStreamer est une librairie pour construire des liens entre des outils vidéo. Cette application permet une grande variété d'usages : de la simple lecture de fichiers Ogg/Vorbis, du streaming audio/video, jusqu'à des mixages audio et vidéo complexes, des traitements non linéaires. http://gstreamer.freedesktop.org/
PdGst
PdGst est une brique supplémentaire ajoutée à la librairie Gem qui permet d'intégrer les fonctionnalités de GStreamer à l'intérieur de Pd/Gem : streaming audio vidéo d'une fenêtre Gem, lecture de streams, …
- dépot de PdGst https://svn.umlaeute.mur.at/svnroot/zmoelnig/projects/pdgst/
- Papier de IOhannes à propos de PdGst à la Pd Conv 09 http://umlaeute.mur.at/Members/zmoelnig/projects/pdgst/PdGst.pdf/at_download/file
Installation PdGst
- installer la librairie libgstreamer-plugins-base0.10-dev
sudo apt-get install libgstreamer-plugins-base0.10-dev
en option, installer d'autres composantes et un gstreamer à jour http://blog.nicolargo.com/2010/05/installation-de-tout-les-composants-gstreamer-sous-ubuntu.html
sudo add-apt-repository ppa:gstreamer-developers
- récupération des sources de PdGst
svn co [[https://svn.umlaeute.mur.at/svnroot/zmoelnig/projects/pdgst/| https://svn.umlaeute.mur.at/svnroot/zmoelnig/projects/pdgst/]]
- Indiquer dans pdgst/src/Makefile le chemin des sources de Pd
- Indiquer dans pdgst/src/gem/Makefile le chemin des sources de Pd + Gem
cd pdgst (et non pas pdgst/src) make
Installer la librairie (fichier .pd_linux et fichiers d'aide .pd) + ne pas oublier ceux dans le rép Gem dans (par exemple) :
~/pd-externals/pdgst
- Important :
- indiquer à Pd le chemin où a été copiée pdgst (~/pd-externals/pdgst)
- charger pdsgt comme une librairie en ajoutant
- lib pdgst
dans les options au démarrage des préférences de Pd
un test préalabe :
gst-launch videotestsrc ! aasink
- voir ensuite les exemples dans le répertoire “tests”
Utilisation PdGst
test stream serveur icecast :
gst-launch-0.10 v4l2src ! queue ! ffmpegcolorspace ! videoscale ! video/x-raw-yuv,width=320,height=240 ! theoraenc quality=16 ! queue ! oggmux name=mux alsasrc ! audio/x-raw-int,rate=8000,channels=1,depth=8 ! queue ! audioconvert ! vorbisenc ! queue ! mux. mux. ! queue ! shout2send ip=labomedia.org port=8000 password=xxxxx mount=/trial5.ogg
ressources stream + ffmpeg
- gstreamer SDK http://docs.gstreamer.com/display/GstSDK/Basic+tutorials