Sites


Performance audiovisuelle et pratique du VJing

Appliquer des effets

Il existe deux types d'effets, les filtres qui agissent sur les pixels calculés par le processeur (par le programme les appelant ou via un système de plugins), et les shaders, effets en temps réel rendus par la carte graphique. Les effets (ou filtres comme ils sont techniquement décrits), peuvent être répartis en différentes sous-catégories suivant leur fonction. Les générateurs n'ont pas de source video, mais produisent de la vidéo, comme des aplats colorés, du bruit, du plasma. Les transitions permettent de mélanger ou superposer deux sources vidéo pour n'en faire plus qu'une. Les effets à proprement parler que nous allons aborder ici ont une source vidéo et une seule sortie. Par abus de langage, on désigne souvent par effet l'ensemble de ces catégories.

Les filtres intégrés aux logiciels

La plupart des outils de mix vidéo possèdent une série d'effets applicables aux médias importés. Ils correspondent généralement à ceux que l'on peut trouver dans des logiciels de traitement d'image ou de montage vidéo.

Un filtre est une transformation mathématique (appelée produit de convolution) permettant, pour chaque pixel de la zone à laquelle il s'applique, de modifier sa valeur en fonction des valeurs des pixels avoisinants, affectées de coefficients.

On distingue généralement les types de filtres suivants :

Les filtres d'atténuation généralement utilisés pour atténuer le bruit de l'image, c'est la raison pour laquelle on parle habituellement de lissage. Les filtres moyenneurs sont un type de filtre dont le principe est de faire la moyenne des valeurs des pixels avoisinants. Le résultat de ce filtre est une image plus floue.

Les filtres d'accentuation, qui permettent notamment d'accentuer les détails et le contraste.

Les filtres directionnels, qui appliquent une transformation selon une direction donnée.

Les filtres de couleur agissant sur la teinte, la saturation et l'étalonnage des couleurs RVB.

Images : Laurent Carlier - Licence CC BY-SA

Ces effets sont parfois paramétrables, et selon le logiciel, il est possible de les combiner entre eux. Un effet peut modifier totalement une image, la rendre abstraite, et l'application d'effets peut être utilisée de manière exclusive et constituer une pratique particulière du VJing, un style de performance vidéo.

Les standards d'effets collaboratifs

Deux initiatives collaboratives notables ont vu le jour pour mutualiser les efforts des développeurs de plugins d'effets vidéo libres : Freeframe (http://community.freeframe.org) et freiOr (http://www.dyne.org/software/frei0r/). Ces deux projets ont pour point commun de proposer aux programmeurs un cadre de développement standardisé afin que leurs plugins soient compatibles avec de nombreux logiciels de traitement vidéo (qu'ils soient dédiés au mix ou au montage vidéo).

Le standard freiOr, conçu par Georg Seidel, Phillip Promesberger et Martin Bayer, s'adresse en priorité à la communauté GNU/Linux, mais a également été porté sous Mac OS X et est notamment supporté par les logiciels LiVES, VeeJay, FreeJ, Gephex et PureData, parmi beaucoup d'autres.

Le framework* Freeframe, créé par Russell Blakeborough et Marcus Clement avec l'aide de Pete Warden, a, lui été pensé dès sa création comme cadre de développement multi-plateforme. Le site http://community.freeframe.org/plugindatabase recense donc aussi bien des effets vidéo utilisables sous GNU/Linux que sous Mac OS X et Windows.

Sélection de filtres disponibles sur freeframe.org.

Développer ses propres effets avec des Shaders

Les shaders, préalablement évoqués dans la partie "Images génératives", sont donc des programmes que l'on va pouvoir faire exécuter directement par la carte graphique. Ces programmes s'appuient sur les instructions OpenGL comprises par la carte graphique et sont donc exécutés très rapidement et efficacement, d'autant qu'aujourd'hui, sous la pression de l'industrie du jeu vidéo, les cartes graphiques sont devenues de véritables bêtes de calcul.

Il est ainsi tout à fait possible de récupérer ou de programmer des effets spéciaux en utilisant un langage comme le GLSL qui va permettre de produire des shaders. A nouveau, ces shaders peuvent être utilisés au sein d'environnements de programmation comme Processing, Pure Data, openFramework ou encore dans des langages comme Python.

Ce mode de programmation est un peu particulier dans la mesure où via les shaders, on a accès à chaque pixel de l'image, c'est à dire aux vertex* (la position dans les 3 dimensions de chaque pixel), et aux fragments (les pixels en eux-mêmes : couleur, transparence). Cela permet de développer toute une kyrielle d'effets, des classiques flous et filtres évoqués précédemment à des effets originaux et élaborés.

Pour appréhender les bases du langage GLSL, un tutoriel : http://www.siteduzero.com/tutoriel-3-8862-les-bases-du-langage.html

Shader simulant la profondeur de champ d'un objectif de caméra développé par Guido Tamino

Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.

Vous devriez rafraîchir la page.