Aller au contenu principal
Emir Chouchane - Carnet de notes

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 :

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 :

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 :

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.