You are on page 1of 20

Kawenga, territoires numriques

Lieu rgional d'exprimentation arts et cultures numriques Cahier Pratique Samedi Numrique n 4

VJ'Ing Open Source


Intervenant : Pierre Mersadier

I. Fiche Projet
1. Intitul de l'atelier : VJ'ing Open Source. 2. Type de public : Tous types de publics. 3. Pr-requis des publics : Aucun 4. Pr-requis pour l'animateur : Maitriser Pure Data 5. Dates et dure de l'atelier : Samedi 9 Juin et Samedi 23 Juin 2012 de 10h 17h. 6. Descriptif dtaill : Encore rserv, il y a quelques temps au nerds barbus, la vido temps rel sous linux se dmocratise, les outils se dveloppent, s'interfacent de mieux en mieux avec toute sorte de contrleurs, deviennent de plus en plus ais la prise en main. Sur deux journes, dans un ambiance d'atelier et de hacking curieux, on abordera les concepts d'images live ou temps rel , ce qui implique l'encodage de vidos, la manipulation en temps rel de camra dans un environnement 3D, de scnes et d'objets 3D, de textures... On verra comment interfacer un contrleur midi, un gamepad, une kinect avec nos logiciels pour manipuler tout a le souplement possible. On parlera de code source, de BPM, de codecs, de FPS, de glitch, de programmation graphique, de composition graphique, de mapping vido... Le tout bien sur en environnement Libre / Open Source ! Alors bien sr, on n'aura pas le temps de tout matriser loin s'en faut, l'atelier sera plus de l'ordre du panorama de solutions ou chacun pourra trouver ce qui l'intresse et surtout dcouvrir de nouvelles pistes cratives. 7. Objectifs pdagogiques : Ces deux sessions abordent la manipulation de la vido, des images et du texte en temps-rel et leur synchronisation avec toutes sources audio. Via l'utilisation de logiciels libres, les participants sont emmens diter et produire des boucles vido et crer leur propre set up pour des performances audio-visuelles en direct.

8. Droulement - prsentation de linux/debian, du shell, des Windows Managers, des paquets, de code source - installation des divers logiciels sur les postes (compilation si ncessaire) - rcupration des mdias (photos, vidos, modles 3d, textes) - encodage vido avec FFMPEG, handbrake - prsentation livecoding avec fluxus, ibniz, processing - modelage 3D, export du modle - montage vido avec openshot, effets - mix de boucles vidos (veejay) - prsentation circuit bending, openhardware : milkymist - programmation gephex (surement sous windows) - programmation pd-extended/gem, OpenGL - exprimentations avec des contrleurs midi, joysticks, gamepad, kinect 9. Nom et Contacts de l'intervenant : Pierre Mersadier rep@314r.net http://www.cumulonimbus.fr/?

II. Tutoriel et droulement de l'atelier


VJ'ING OPEN SOURCE Nous pratiquerons plus de PureData /Gem que les autres logiciels pour plusieurs raisons : -c'est un logiciel trs riche qui dpasse largement la domaine du vj'ing (audio, arduino etc etc) -c'est le logiciel le plus souple, celui qui permet le plus de choses, -avec PureData on peut, pour des non programmeurs, approcher les paradigmes de la programmation, -objet accessoirement c'est le logiciel avec lequel je suis le plus l'aise :) On va commencer par le dbut : qu'est ce que linux, d'ou a vient, ce que a implique, qu'est ce que qu'on peut faire avec, et quelle sont les diffrences avec les autres systmes (notamment les propritaire) ? Linux -prsentation de debian/ubuntu, qu'est ce qu'un code source, le gestionnaire de packages, la compilation d'un code source, -ergonomie gnrale (Windows Managers), avantages/dfauts (gnome, xfce, fluxbox), -un point aussi sur les drivers graphique et en particulier les driver propritaires NVIDIA (on parlera aussi des pilotes amd/ati et du driver libre NOUVEAU),

Rcupration des mdias : photos, vidos, modles 3d -sous linux avec USB, avec WEBCAM, rip de CD ou DVD -logiciels : picasa, shotwell, nautilus Rien de particulier ici, juste se familiariser avec les interfaces graphiques et comprendre l'arborescence de fichiers dans nautilus, organiser ses fichiers.

Montage vido Important : il y a beaucoup de tutorials sur youtube sur les logiciels : cinelerra, openshot, openmovieeditor, flowblade, kdenlive. -petit rappel sur les codecs : qu'est ce qu'une compression temporelle, une compression spatiale, pourquoi MJPEG est beaucoup utilis en vj'ing -mthode de montage avec OpenShot

1-importer des fichiers 2-raliser une transition entre 2 pistes 3-ajouter un effet 4-exporter la compo en utilisant un profil d'export (par exemple DVD, ou en mjpeg car trs utile pour le vj'ing) 5-(bug : en mode plein cran quand on dite une proprit de vido ou d'effet la fentre de proprit est cache sous la fentre principale) -montage avec flowblade http://code.google.com/p/flowblade/ http://vimeo.com/40929683 -OpenMovieEditor -kdenlive -cinelerra -pitivi... -montage live avec toonloop

Encodage vido -ligne de commande : FFMPEG, compresser une vido en ligne de commande en mjpeg en bonne qualit voir ce propos : http://codelab.fr/295 -ligne de commande : MENCODER -HandBrake, trs pratique en utilisant les profils tout faits pour encoder pour iphone ou encore pour vimeo -graphique : VLC

Un environnement 3D -prsentation de la modification du code source de quake3 : une vido du moteur de jeu glitch : ioUrt_GlitchMod.ogg une page de ressources sur codelab : http://codelab.fr/2910 des binaires linux i386 : http://fichiers.cumulonimbus.fr/240___Projet_UrbanTerrorMod/ -Blender rien de compliqu ici, le but n'est pas de matriser blender mais de s'en servir pour voir comment on peut rcuprer ensuite le modle cr

1. nettoyer sa scne 2. ajouter une sphere 3. dformer la sphre en passant en 'Scultp Mode' 4. exporter la forme en .obj dans le but de la rcuprer avec pd/gem voir le lien sur flossmanual : http://fr.flossmanuals.net/performance-audiovisuelle-et-pratique-du-vjing/ch012_objets-3d

Mix de vidos -jouer ses boucles vidos avec VeeJay 1. IMPORTANT : avoir toutes ces boucles vidos de la mme taille (cf encodage ffmpeg) 2. lancer veejay -p 3490 (par ex.) 3. lancer reloaded, le connecter sur le port 3490 (defaut) 4. dcouvrir le squenceur 5. dcouvrir le sampleur 6. dcouvrir les effets

Hardware / Circuitbending - exemples de circuit bending sur le site de karl komp : http://karlklomp.nl/ - du matriel pas cher et qui se prte bien au circuit bending vido : sony xvt-3F, cartes ISA ou PCI graphiques pour 386/486 - du matriel openHardware tout intgr : http://milkymist.org/wp/ Comme dit au dbut de ce document la plus grosse parti du contenu sera ax sur PdExtended et Gem, car vritable outils multiforme, couteaux suisses redoutables, qui si bien abords se trouvent tre trs puissant, trs souple et surprenant. On essaiera tout de mme de faire marcher GePhex, qui bien que modeste est un logiciel simple d'accs, puissant et qui peut s'avrer trs utile pour comprendre la programmation graphique modulaire.

Programmation - GePhex comme introduction la programmation graphique modulaire - PuredateExtended/Gem pour rentrer au coeur d'OpenGL - Exemple de modification du code source de quake 3

Pd-extended / Gem [intro] - comprendre comment marche la programmation avec Pd - crer une fentre Gem, single ou double buffer - crer une chaine de rendu - ajouter des objets notre scne - appliquer des textures - charger des fichiers 3d (.obj) - utiliser les polices de caractres, crire du texte - dplacer, tourner, agrandir les objets

Pd-extended / Gem [avanc] -bouger sa camera -les abstractions, ou comment se simplifier la vie, les arguments dans les abstractions -interfacer pd avec la kinect -patchage dynamique -l'objet [gemframebuffer] -l'objet [vertexbuffer] -les shaders GLSL GLSL -live coding glsl online : http://glsl.heroku.com/ -live coding glsl online : http://www.kickjs.org/example/shader_editor/shader_editor.html

10

EXERCICES PD/GEM

1. crer et grer les paramtres (dimension, placement) de la fentre Gem 2. crer et placer un cube dans la scne 3. colorier le cube en rouge 4. changer la couleur de fond de notre scne, rajouter un peu de brouillard 5. ajouter une rotation sur notre cube dirige par les coordonnes de la souris 6. appliquer une texture image sur notre [cube] 7. appliquer une texture image sur notre [cube] dont certaines rgions sont transparentes, cf [alpha] 8. texturer le cube avec une vido prcdemment encodes , et/ou essayer avec un flux vido webcam 9. mixer 2 vidos sur notre cube [pix_mix] 10. placer le cube une position alatoire dans la scne au chargement de notre patch 11. dplacer sa camra dans la scne grace aux coordonnes de la souris, programmer un travelling latral 12. refactoriser ses patchs pour en faire des abstractions (ex. [cube_transparent]) 13. crer et placer alatoirement pleins de cubes dans notre scne facilement grce notre abstractions tout juste ralise 14. faire bouger tous ces cubes avec l'objet [line] et [metro] 15. refaire le cube avec les objets OpenGL de Gem 16. particules : faire une fontaine de pixels (voir : le tutorial en anglais sur le site de Gem ) 17. retrouver et appliquer une texture glsl sur notre cube 18. commander le patch avec un gamepad/joystick 19. commander le patch avec une kinect 20. crer et disposer alatoirement des points dans l'espace relis par une ligne, cf objet [until] 21. render2texture : crer une scne, la rendre dans une texture, la r-appliquer un objet

Exercices Kawenga

12

13

14

15

16

17

18

III. Rfrences, Bibliographie et Rseaugraphie


Autres Tutoriels voir la page ressource sur codelab.fr voir le tutorial de Iohannes voir le tutorial sur labomedia

Logiciels abords + ressources programmation graphique modulaire programmation graphique modulaire programmation graphique modulaire programmation texte, livecoding programmation texte, livecoding programmation texte, livecoding mix de vidos, sampleur mix de vidos montage en temps rels, timelapse mapping vido bibliothque graphique bibliothque encodage vido circuit bending vido open hardware vj'ing forum code/art/web livre vj'ing opensource http://www.gephex.org/ http://puredata.info/downloads/pdextended http://gem.iem.at/ http://www.pawfal.org/fluxus/ http://processing.org/ http://pelulamu.net/ibniz/ http://www.veejayhq.net/ http://lives.sourceforge.net/ http://toonloop.com/ http://hv-a.com/lpmt/ http://www.opengl.org/ http://ffmpeg.org/ http://karlklomp.nl/ http://milkymist.org/wp/ http://codelab.fr/ http://fr.flossmanuals.net/performanceaudiovisuelle

19

Cette oeuvre est mise disposition selon les termes de la Licence Creative Commons Paternit Pas dUtilisation Commerciale Pas de Modification 2.0 France.

Kawenga - territoires numriques 21 boulevard Louis Blanc 34000 MONTPELLIER www.kawenga.org / contact@kawenga.org / + 33(0)4 67 06 51 66
20

You might also like