Outils pour utilisateurs

Outils du site


le_datamoshing

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
le_datamoshing [2020/01/14 23:32] Benjamin Labomediale_datamoshing [2023/08/29 14:24] (Version actuelle) Benjamin Labomedia
Ligne 4: Ligne 4:
 C'est la déstructuration d'une vidéo en modifiant les repères temporels dans les paramètres d'encodage. En clair, quand une vidéo est compressée en divx, il y a des images clefs disons toutes les secondes, ces images clefs (keyframe) contiennent toutes les infos (ou tous les pixels) pour reconstituer l'intégralité de l'image alors que les autres images (qui ne sont pas "keyframe") ne contiennent qu'une partie de l'info (des pixels), c'est en partie comme cela qu'on "compresse" l'image, cad en ne stockant pas toutes les images intégralement dans le fichier vidéo. C'est la déstructuration d'une vidéo en modifiant les repères temporels dans les paramètres d'encodage. En clair, quand une vidéo est compressée en divx, il y a des images clefs disons toutes les secondes, ces images clefs (keyframe) contiennent toutes les infos (ou tous les pixels) pour reconstituer l'intégralité de l'image alors que les autres images (qui ne sont pas "keyframe") ne contiennent qu'une partie de l'info (des pixels), c'est en partie comme cela qu'on "compresse" l'image, cad en ne stockant pas toutes les images intégralement dans le fichier vidéo.
  
-{{ Skattak00100019.jpg?600 |Skattak00100019.jpg}}+{{ media_12:skattak00100019.jpg?600 |Skattak00100019.jpg}}
  
 ==== Exemples de réalisations ==== ==== Exemples de réalisations ====
Ligne 42: Ligne 42:
 **Pouff - Grocery Trip** **Pouff - Grocery Trip**
  
-{{youtube>DgPaCWJL7XI}}+{{ youtube>DgPaCWJL7XI }}
  
 ===== Tutoriel ===== ===== Tutoriel =====
Ligne 82: 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://github.com/grampajoe/Autodatamosh
  
 === Préparation de la vidéo === === Préparation de la vidéo ===
Ligne 121: 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'autes paramétrages
  
 === Data Moshing === === Data Moshing ===
Ligne 160: 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 /DESTINATION/Sam-Xvid-ogg.avi   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 /DESTINATION/Sam-Xvid-ogg.avi
   perl autodatamosh.pl -i /DESTINATION/Sam-Xvid-ogg.avi -dprob 1 -dmin 0 -dmax 0 -o /DESTINATION/Sam-Xvid-oggGlitech-1-0-0.avi   perl autodatamosh.pl -i /DESTINATION/Sam-Xvid-ogg.avi -dprob 1 -dmin 0 -dmax 0 -o /DESTINATION/Sam-Xvid-oggGlitech-1-0-0.avi
 +  
 +=== Un exemple de datamoshing où l'on conserve l'audio, le tout recompressé en mp4 ===
 +Au final, pour conserver l'audio, il doit falloir exporter l'audio du xvid moshé, exporter le xvid moshé en mjpeg et muxer les 2
 +
 +**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://tube.futuretic.fr/videos/watch/c18d7c6a-6303-4f81-a20c-1df151cdb718
  
 Pour ne recompresser qu'une partie de la vidéo : Pour ne recompresser qu'une partie de la vidéo :
Ligne 199: Ligne 226:
   * Glitch Codec tutorial http://nickbriz.com/glitchcodectutorial/https://vimeo.com/23653867   * Glitch Codec tutorial http://nickbriz.com/glitchcodectutorial/https://vimeo.com/23653867
   * Une autre ! http://rosa-menkman.blogspot.de/2009/02/how-to-datamoshing-create-compression.html   * Une autre ! http://rosa-menkman.blogspot.de/2009/02/how-to-datamoshing-create-compression.html
 +  * A voir quelques tutos sur [[http://datamoshing.com/|datamoshing.com]] ou encore [[https://mattrunks.com/fr/formations/divers/tuto-datamoshing-recreer-volontairement-des-erreurs-de-compression-video|ici]]
 +  * Un tutorial complet (en anglais) sur la théorie et l'utilisation du logiciel Avidemux pour le datamoshing : http://forum.glitchet.com/t/tutorial-make-video-glitch-art-how-to-datamosh-in-plain-english/36
  
 {{vimeo>23653867}}\\ {{vimeo>23653867}}\\
Ligne 218: Ligne 247:
   * Un logiciel pour macos x GoldMosh http://jonesypop.com/goldmosh/   * Un logiciel pour macos x GoldMosh http://jonesypop.com/goldmosh/
   * Un plug-in pour quartz composer http://kriss.cx/tom/2012/10/08/datamosh.html   * Un plug-in pour quartz composer http://kriss.cx/tom/2012/10/08/datamosh.html
 +  * Un outil libre et ouvert, écrit en python, pour appliquer différentes techniques de datamoshing à un fichier vidéo : https://github.com/itsKaspar/tomato
 +  * Un outil en python très complet avec une interface graphique (payante) pour win https://github.com/Akascape/Datamosher-Pro
  
  
Ligne 245: Ligne 276:
   ffmpeg -i 25FPSBEAUCLIBANDITS2.ogv  -vcodec libx264 -preset slow -profile:v high -level 30 -maxrate 50000000 -bufsize 10000000 -b 15M -f mp4 -threads 2 25FPSBEAUCLIBANDITS02.mp4   ffmpeg -i 25FPSBEAUCLIBANDITS2.ogv  -vcodec libx264 -preset slow -profile:v high -level 30 -maxrate 50000000 -bufsize 10000000 -b 15M -f mp4 -threads 2 25FPSBEAUCLIBANDITS02.mp4
      
-{{vimeo>240936109?medium}}+{{ vimeo>240936109 }}
    
 {{tag>bj video art_interactif}} {{tag>bj video art_interactif}}
le_datamoshing.1579044724.txt.gz · Dernière modification : 2020/01/14 23:32 de Benjamin Labomedia