le_datamoshing
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
le_datamoshing [2019/01/19 14:05] – serge | le_datamoshing [2023/08/29 14:24] (Version actuelle) – Benjamin Labomedia | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ======Le | + | ======Le |
===== Le Data Moshing Qu' | ===== Le Data Moshing Qu' | ||
C'est la déstructuration d'une vidéo en modifiant les repères temporels dans les paramètres d' | C'est la déstructuration d'une vidéo en modifiant les repères temporels dans les paramètres d' | ||
- | {{ Skattak00100019.jpg?600 |Skattak00100019.jpg}} | + | {{ media_12: |
+ | |||
+ | ==== Exemples de réalisations ==== | ||
+ | |||
+ | **InfiniteGlitch - Ben Baker-Smith** | ||
+ | |||
+ | * voir le projet (stream offline now) : http:// | ||
+ | |||
+ | **Rosa Menkam** | ||
+ | |||
+ | * artiste ayant exploré l' | ||
+ | |||
+ | **Accouchement Sonique - Jérome Blanquet** {{ youtube> | ||
+ | |||
+ | **Click on it - andrew benson** {{ vimeo> | ||
+ | |||
+ | **Chairlift, | ||
+ | |||
+ | **Datamosh - Yung Jake** {{ youtube> | ||
+ | |||
+ | **Jacques Perconte - Impressions / teaser n°2** | ||
+ | |||
+ | {{ vimeo> | ||
+ | |||
+ | **Yaoguai** | ||
+ | |||
+ | {{ vimeo> | ||
+ | |||
+ | **SamsaraGlithced** | ||
+ | |||
+ | {{ vimeo> | ||
+ | |||
+ | **Julian Zigerli X (LA)HORDE** | ||
+ | |||
+ | {{ vimeo> | ||
+ | |||
+ | **Pouff - Grocery Trip** | ||
+ | |||
+ | {{ youtube> | ||
===== Tutoriel ===== | ===== Tutoriel ===== | ||
Ligne 44: | Ligne 82: | ||
==== Exemple pratique de datamoshing avec un script perl ==== | ==== Exemple pratique de datamoshing avec un script perl ==== | ||
+ | |||
+ | Un script perl fort amusant AutodataMosh : https:// | ||
=== Préparation de la vidéo === | === Préparation de la vidéo === | ||
Ligne 83: | Ligne 123: | ||
ffmpeg -y -i 00076.wav -i SOUIRCE.avi -vcodec copy -acodec copy DESTINATIONwithSound.avi | ffmpeg -y -i 00076.wav -i SOUIRCE.avi -vcodec copy -acodec copy DESTINATIONwithSound.avi | ||
+ | |||
+ | Il existe plusieurs paramètres pour préparer la vidéo en xvid et placer les images clefs là où le script de datamoshing va ensuite les enlever | ||
+ | |||
+ | Ici on met une image clef quasi toutes les 2 images, ça va faire des plans très rapprochés pour systématiser le glissement de plans ensuite | ||
+ | ffmpeg -threads 12 -i videnentre.mp4 -vcodec libxvid -b 50000k -g 2 -sc_threshold 1000000000 videmoshed.xvid.avi; | ||
+ | |||
+ | Voir plus bas pour d' | ||
=== Data Moshing === | === Data Moshing === | ||
Ligne 122: | Ligne 169: | ||
ffmpeg -i Sam.1080p.BluRay.x264-GECKOS.mkv -f avi -vcodec libxvid -b 50000k -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -acodec libvorbis -ab 328k -ar 44100 -ac 2 / | ffmpeg -i Sam.1080p.BluRay.x264-GECKOS.mkv -f avi -vcodec libxvid -b 50000k -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -acodec libvorbis -ab 328k -ar 44100 -ac 2 / | ||
perl autodatamosh.pl -i / | perl autodatamosh.pl -i / | ||
+ | | ||
+ | === Un exemple de datamoshing où l'on conserve l' | ||
+ | Au final, pour conserver l' | ||
+ | |||
+ | **Compression initiale en xvid** (différentes stratégies possibles, cf plus haut) | ||
+ | ffmpeg -threads 12 -i Unborn0x9-Marseille-2020-11-13.mp4 -f avi -vcodec libxvid -b 20000k -g 25 -sc_threshold 1000000000 -acodec libvorbis -ab 192k -ar 44100 -ac 2 Unborn0x9-Marseille-2020-11-13-25audio.xvid | ||
+ | **Datamoshing** | ||
+ | perl autodatamosh.pl -i Unborn0x9-Marseille-2020-11-13.xvid -dprob 1 -dmin 20 -dmax 80 -o Unborn0x9-Marseille-2020-11-13.moshed128.xvid | ||
+ | **Compression mjpeg** | ||
+ | ffmpeg -threads 12 -i Unborn0x9-Marseille-2020-11-13.moshed128-25audio.xvid -r 25 -vcodec mjpeg -b 20000k -g 25 -an -acodec copy Unborn0x9-Marseille-2020-11-13.moshed128-25audio.mov | ||
+ | **Extraction audio** | ||
+ | ffmpeg -y -i Unborn0x9-Marseille-2020-11-13.moshed128-25audio.xvid -ar 44100 -vn -acodec pcm_s16le -ac 2 Unborn0x9-Marseille-2020-11-13.moshed128-25audio.wav | ||
+ | **On remix le tout en mp4 aac** | ||
+ | ffmpeg -threads 12 -i Unborn0x9-Marseille-2020-11-13.moshed128-25audio.wav -i Unborn0x9-Marseille-2020-11-13.moshed128-25audio.mov -c:v libx264 -profile high -c:a aac -b:a 256k Unborn0x9-Marseille-2020-11-13.moshed128-25audio.mp4 | ||
+ | **Si le résultat glitch au niveau temporel, on cut à 10 minutes** | ||
+ | ffmpeg -threads 12 -to 9:59 -i Unborn0x9-Marseille-2020-11-13.moshed128-25audio.mp4 -c:v copy -c:a copy Unborn0x9-Marseille-2020-11-13.moshed128-25audio-10mn.mp4 | ||
+ | |||
+ | Voir le résultat ; https:// | ||
Pour ne recompresser qu'une partie de la vidéo : | Pour ne recompresser qu'une partie de la vidéo : | ||
Ligne 161: | Ligne 226: | ||
* Glitch Codec tutorial http:// | * Glitch Codec tutorial http:// | ||
* Une autre ! http:// | * Une autre ! http:// | ||
+ | * A voir quelques tutos sur [[http:// | ||
+ | * Un tutorial complet (en anglais) sur la théorie et l' | ||
{{vimeo> | {{vimeo> | ||
Ligne 180: | Ligne 247: | ||
* Un logiciel pour macos x GoldMosh http:// | * Un logiciel pour macos x GoldMosh http:// | ||
* Un plug-in pour quartz composer http:// | * Un plug-in pour quartz composer http:// | ||
+ | * Un outil libre et ouvert, écrit en python, pour appliquer différentes techniques de datamoshing à un fichier vidéo : https:// | ||
+ | * Un outil en python très complet avec une interface graphique (payante) pour win https:// | ||
- | ==== Exemples de réalisations ==== | ||
- | |||
- | **InfiniteGlitch - Ben Baker-Smith** | ||
- | |||
- | * voir en ligne : http:// | ||
- | |||
- | **Rosa Menkam** | ||
- | |||
- | * artiste ayant exploré l' | ||
- | |||
- | **Accouchement Sonique - Jérome Blanquet** {{ youtube> | ||
- | |||
- | **Click on it - andrew benson** {{ vimeo> | ||
- | |||
- | **Chairlift, | ||
- | |||
- | **Datamosh - Yung Jake** {{ youtube> | ||
- | |||
- | **Jacques Perconte - Impressions / teaser n°2** | ||
- | |||
- | {{ vimeo> | ||
- | |||
- | **Yaoguai** | ||
- | |||
- | {{ vimeo> | ||
- | |||
- | **SamsaraGlithced** | ||
- | |||
- | {{ vimeo> | ||
- | |||
- | **' | ||
- | |||
- | {{ vimeo> | ||
== Datamoshing des traversées renardes == | == Datamoshing des traversées renardes == | ||
Script DataMoshing | Script DataMoshing | ||
+ | <code bash> | ||
#!/bin/bash | #!/bin/bash | ||
for i in / | for i in / | ||
Ligne 230: | Ligne 266: | ||
rm " | rm " | ||
done | done | ||
+ | </ | ||
- | Patchs Pure Data | + | Patchs Pure Data voir https:// |
- | + | ||
- | | + | |
Pour enregistrer le système de montage generatif issu de Pd : | Pour enregistrer le système de montage generatif issu de Pd : | ||
- | + | | |
- | ffmpeg -thread_queue_size 512 -discard noref -f video4linux2 -i /dev/video0 -vcodec libx264 -profile:v high422 -preset fast -crf 18 -b-pyramid none -t 1800 / | + | |
Encodage H264 pour lire les vidéos sur les Pi par omxplayer | Encodage H264 pour lire les vidéos sur les Pi par omxplayer | ||
- | + | | |
- | ffmpeg -i 25FPSBEAUCLIBANDITS2.ogv | + | |
+ | {{ vimeo> | ||
- | + | {{tag> | |
- | + | ||
- | {{tag> | + |
le_datamoshing.1547906718.txt.gz · Dernière modification : 2019/01/19 14:05 de serge