Formation Pure Data - Vidéo

  Pd système interactif temps réel - intro <> install/base <> audio  
  Intro Pd + Vidéo // GEM // PDP - PidiP // Framenstein // GridFlow // +  

 
Intro ::: Pure Data + vidéo ====> Télécharger tous les Patchs exemples
  Pure Data a naturellement évolué vers le traitement de l'image et de la vidéo à travers plusieurs librairies :

GEM : "GEM" pour Graphics Environment for Multimedia, un"external" (plugin) pour Pure Data
Permet la manipulation d'objet de synthèse, d'images et de vidéos via l'utilisation de l'OpenGl
~~~ Linux - Win - Mac OS

PDP - PidiP : Pure Data Packet est dédié au traitement de la vidéo - overview / PidiP de Yves Degoyon lui confère des fonctions supplémentaires
~~~ Linux - Mac OS

Framestein : une partie logicielle que l'on ajoute à Pd pour le traitement vidéo avec des fonctions plus "digérées" que les librairies précédentes
~~~ Win

GridFlow : A Multidimensional dataflow processing library - plus "bas niveau" que les précédentes lib, GridFlow permet de tout calculer : de l'image, du son, des matrices, ...
~~~ Linux - Mac OS - +/-Win

+++ : Ne pas oublier la combinaison de Pure Data avec d'autres logiciels de video en communiquant via le protocole MIDI ou l'OSC : Eyesweb (captation gestuelle) - Gephex (Mix vidéo) - vvvv (Pd like) - Processing (multimedia - MIT)

 
GEM - Linux - Win - Mac Os
 

Installation
Les installers de Hans pour Windows et MacOs X sont particulièrement bien fait
La version stable de GEM est 0.90, mais vous pouvez télécherger une version issue du CVS cad intégrant les toutes dernières évolutions >>>> voir sur cette page (Particulièrement pour Windows, bien choisir la 0.90.1 sinon webcam marche pas) ou la compiler vous même depuis le CVS pour être au top
A noter que si vous utilisez Pd extende fait par Hans, vous disposerez d'une lib GEM intègrant des objets supplémentaires / 0.90 (pour utiliser les effets freeframe notammehnt)

Sous Linux, ça dépend des distributions : via site de Nyvals pour Mandrake (en l'ajoutant aux sources de rpm), avec un simple apt-get install puredata sous Debian (Ubuntu, Kaella, Knoppix) après avoir rajouté les sources suivantes :
deb http://sindominio.net/~caedes/debian/ unstable main
deb ftp://ftp.nerim.net/debian-marillat/ unstable main

au fichier sources.list et avoir fait un apt-get update

>>> Il faut bien placer la librairie dans un des répertoires "vu" par Pure Data cad classiquement le rép /extra, sous répertoire de Pure Dara ou alors indiquer le "path" dans le fichier de lancement (voir ci-dessous)

Une fois installée, il faut dire à Pd que la librairie existe et ajouter dans le fichier de lancement (normalement automatique avec les scripts d'installation pour win Mac Os et Linux, pour le travail manuel, c'est là) avec un éditeur de texte la commande -lib gem.


Les objets de gestion de l'affichage [Gemwin] et les [GEOS]
Gemgeobasic15.pd : utilisation de Gemwin avec un rectangle
Gemgeo16.pd : les opérations applicables aux GEOS
Gemgeo17light.pd : l'utilisation de la lumière globale et locale, du brouillard

La manipulation d'images et de vidéos
L'objet pix_image : voir l'exemple.01 de GEM
Gemvid18.pd : la manipulation video enregistrées avec [pix_movie] et [pix_film]

COMMENT CHOISIR LE BON CODEC avec GEM ??????
Il n'y a malheureusement pas de réponse définitve à cette question, cela dépend en fait de l'utilisation des vidéos : interaction rapide type "scratch" video ou lecture et mix video type "cinéma"
Ce qu'il faut considérer, c'est que + une vidéo est compressée (divx par ex.), plus le processeur a besoin de travailler pour la manipuler
A contrario, moins la vidéo est compressée, + elle sollicite le disque dur. Le nombre d'images clefs défini lors de l'encodage permet à "la tête de lecture" de se répérer dans la vidéo : pour du scratch 1 image clef à chaque image.
Tout cela est à mettre en perspective selon les codes installés sur votre machine, l'OS, ....
Pour encoder, sur win : virtual dub, sous linux : ffmpeg

Les codecs : les espaces colorimétriques : à consulter
Pour Windows => (du - compressé au +) non compressé / dvsd / .mov sorenson et codec "quicktime"/ cinepak / midvid / divx
Pour Linux / Mac OS => (Post de la mailing list Pd)
"- mjpeg A (as encoded by transcode) chews 65% cpu
- mjpeg B (as encoded by Premiere) chews around 50% cpu
- component video (packed yuv422) chews around 30% cpu  (acceptible) but takes up too much hard drive space
- planar 4:2:0 is good ... its the closest ..... chews 25% cpu , takes less hard drive than component but still too much hard drive.
- theora is yuck, sorenson too much cpu, divx is small, fast and reasonable quality ....... but all these have frame differencing.
- indeo 3 is poor quality but decode is very fast.... cant read indeo 4+ on linux (I think it is frame differencing anyway)
- cinepak would do it, ..fast decode... but very poor quality."


A key fact of [pix_movie] is that it immediately sends the movie data to OpenGL as a texture map. This means that you do not need the [pix_texture] object in your chain. This also means that you cannot process the movie data with pix objects

GemCam19.pd : utiliser des sources vidéo live
Faire fonctionner une webcam, une caméra DV, une carte d'acquisition analogique
GemEffets20.pd : les effets applicables aux différentes sources d'images animées
GemBlob21.pd : l'objet Blob qui permet de faire du "motion tracking"


 
PdP - PidiP - Linux - Mac OS
 

Installation
PDP - PidiP
Sous Linux, c'est le + facile : soit on attaque au Live CD qui intègre Pd et PdP : Dynebolic - Piksel - APO33
voir le tutoriel de Dr Pasquier pour install sur Debian - il y a toujours la compilation à la main (doc dans la lib à télécharger)

Pour Mac, voir si les installers de Hans intègrent bien PDP, sinon, c'est plus ardu : 2 howto : umatic.nl - M. Canning - Install notes de Y. Degoyon

PdP est la librairie principale qui permet le traitement vidéo
PidiP de Yves Degoyon apporte des fonctions complémentaires (intégration d'une partie des effets d'EffecTV notamment)


 
Framenstein - Win
 

Uniquement pour windows, installation facile : il suffit de décompresser le zip à télécharger ici, de lancer Framestein.exe AVANT Pd, de faire ok à la boite de dialogue qui s'ouvre (config des ports sur lesquels Framestein discute avec Pd) et d'essayer un exemple. Une bonne collec de fonctions avancées pour le traitement de l'image. A noter que cette librairie n'est plus développée depuis 2 ans.


 
GridFlow - Linux - Mac +/- win
 

Cette librairie très "bas niveau" est pour les utilisateurs avancés : le site


+ De la ressource pour aller + vite
 
Des sources ouvertes et libres de droit
 

Logiciels / Patch Pd pour la vidéo
PixelTANGO : outil modulaire (Vj - perf) développé avec GEM
V3 : Vidéo au Cube logiciel Vj basé sur GEM
MAPI : Vj Tool avec GEM
PidiVj : Sous Linux avec Pdp Pidip



 
  Pd système interactif temps réel - intro <> install/base <> vidéo  

/ô\