Datamosh - mode d’emploi
1 – C’est quoi ?
Le datamoshing est le processus de manipulation des données d’un fichier média afin d’obtenir intentionnellement des erreurs de compression à des fins artistiques.
La technique est apparue au début des années 2000, inspirée par les artefacts issus des premiers codecs numériques comme le DivX. Des artistes ont commencé à exploiter ces erreurs de compression et à pirater des vidéos pour générer des effets visuels imprévisibles et organiques.
Personne ne sait avec certitude quand le mot « datamosh » a été utilisé pour la première fois, mais des artistes comme Takeshi Murata, Paper Rad, Kris Moyes ou encore David O’Reilly ont largement contribué à faire connaître cette esthétique.
Voici une sélection chronologique d’œuvres marquantes :
- Owi Mahn & Laura Baginski – Pastell Kompressor – 2003
- David O'Reilly – Venetian Snares – Szamar Madar – 2005
- Kris Moyes – The Presets – Are You the One ? – 2005
- Takeshi Murata – Untitled (Silver) – 2006
- Takeshi Murata – Untitled (Pink Dot) – 2007
- Paper Rad et Paul B. Davis – Umbrella Zombie Datamosh Mistake – 2007
- David O'Reilly – Compression Reel – 2008
- Takeshi Murata – Monster Movie – 2009
Une histoire de glitch avant le numérique
Les combinaisons d’erreurs et d’échecs à but artistique ne datent pas d’hier. Dès les années 60, des cinéastes du cinéma structurel comme Paul Sharits, George Landow ou Tony Conrad filmaient volontairement hors focus, utilisaient des images vides ou manipulaient la pellicule. En parallèle, des pionniers de l’image électronique comme Nam June Paik (Magnet TV), Joan Jonas (Vertical Roll) ou encore Steina et Woody Vasulka (synthétiseur vidéo Rutt/Etra) expérimentaient les distorsions vidéo. Cette exploration de la « matière » visuelle permet de mieux comprendre pourquoi des artistes comme Takeshi Murata ont été séduits par le datamosh.
Appropriation grand public
Le mainstream s’en est emparé rapidement : Kanye West dans Welcome to Heartbreak (2009), ou encore Leos Carax dans Holy Motors (2012). Même Hollywood s’est essayé au glitch avec la bande-annonce de Man of Steel (2013).
2 – I, P, B frames et GOP
Pour comprendre le datamosh, il faut se pencher sur la structure interne d’une vidéo numérique. Elle est composée de différents types d’images :
- I-frame (intra-frame) : image clé complète.
- P-frame (predicted-frame) : encode les différences avec une image précédente.
- B-frame (bi-directional) : encode les différences entre l’image précédente et suivante.
Ces images forment un GOP (Group of Pictures). Supprimer ou corrompre une I-frame entraîne une dérive des images suivantes qui tentent de se baser dessus, ce qui crée l’effet datamosh.
3 – Détournement des I-frames
En supprimant ou corrompant une I-frame, les images suivantes (P-frames) se réfèrent à une base erronée ou ancienne. C’est ce décalage temporel qui génère le glitch.
4 – Les outils
Voici les outils nécessaires pour faire du datamosh :
- ffmpeg : pour convertir les vidéos.
- AVIglitch : pour supprimer les keyframes.
- Moshy : pour réparer la vidéo corrompue.
- (Optionnel) youtube-dl : pour télécharger des vidéos YouTube.
5 – Installation (macOS/Linux)
5.1 Installer Homebrew et ffmpeg
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install ffmpeg
5.2 Installer Ruby, Moshy et AVIglitch
brew install ruby
gem install moshy
gem install aviglitch
5.3 Bonus : youtube-dl
brew install youtube-dl
6 – Utilisation
6.1 Terminal
Crée un répertoire pour travailler :
cd Desktop
mkdir datamosh && cd $_
6.2 Télécharger une vidéo
youtube-dl -F "URL"
youtube-dl -f 313 "URL"
6.3 Conversion en AVI
ffmpeg -i input.mp4 -c:v libxvid -qscale 1 -g 150 -me_method epzs -bf 0 -mbd 0 -c:a copy output.avi
6.4 Appliquer le datamosh
datamosh output.avi -o datamoshed.avi
moshy -m bake -i datamoshed.avi -o final.avi
ffmpeg -i final.avi -c:v libx264 -crf 23 -c:a copy final.mp4
7 – Automatiser avec un script Bash
#!/bin/bash
tempfoo=`basename $0`
TMPFILE=`mktemp /tmp/${tempfoo}.XXX`
TMPFILE1=`mktemp /tmp/${tempfoo}.XXX`
for i in *.mp4;
do
echo "||| Datamosh... conversion vers AVI avec -g $1 |||"
ffmpeg -i "$i" -c:v libxvid -q:v 1 -g $1 -me_method epzs -bf 0 -mbd 0 -c:a copy -y $TMPFILE.avi
echo "||| Datamosh... en cours ! |||"
datamosh $TMPFILE.avi -o $TMPFILE1.avi
moshy -m bake -i $TMPFILE1.avi -o $TMPFILE.avi
echo "||| Datamosh... conversion vers mp4 |||"
ffmpeg -i $TMPFILE.avi -strict -2 -y "${i%.*}-datamosh.mp4"
clear
echo "||| Datamosh... Done! |||"
done
Pour l’utiliser :
chmod a+x datamosh.sh
./datamosh.sh 100
C’est certainement l’un des effets les plus organiques et imprévisibles dans la manipulation d’une vidéo.
- ← Précédent
Configurer un serveur MQTT avec Raspberry Pi - Suivant →
WebP - Le format d'image du futur