Traitement d'images et de vidéos

De WikiRP

Pour traiter des images ou de la vidéo, vous pouvez utiliser les outils suivants :

  • Inkscape (gratuit et open-source, disponible sous Windows ou Linux) pour toutes les images vectorielles (logos, etc.),
  • GIMP (gratuit et open-source, disponible sous Windows ou Linux) pour toutes les images raster (photographies, etc.),
  • Kdenlive ou shotcut (gratuits et open-source, disponibles sous Windows ou Linux) pour éditer des vidéos.
  • Pour toute vidéo, il est fortement recommandé de la recompiler avec handbrake pour être sûr que ça fonctionne dans toutes circonstances. Sauf sur YouTube où tout est réencodé de toutes manières par eux, mais les usages "film à la maison", "présentation powerpoint", "je veux pouvoir le lire sur smartphone, sur mac, sur le grille-pain connecté", c'est indispensable.

En lignes de commandes (gratuit et open-source) uniquement :

Sous Windows, l'installateur d'Imagemagick propose de cocher une case pour aussi installer ffmpeg. Je vous conseille de le faire.

Sous Linux, FFMPEG et Imagemagick sont en général installés par défaut.

Lignes de commandes utiles avec FFMPEG & Imagemagick

Liste

Extraire les images une par une d'un GIF

convert -coalesce brocoli.gif out%05d.pgm

Convertir un GIF en vidéo

ffmpeg -i input.gif output.mp4

Changer le format d'une vidéo

ffmpeg -i input.mp4 output.mkv

Extraire l'audio d'une vidéo avec FFMPEG

ffmpeg -i input.mp4 -vn output.mp3

Supprimer l'audio d'une vidéo avec FFMPEG

ffmpeg -i input.mp4 -an mute-output.mp4

Changer la vitesse d'une vidéo

Le paramètre 0.5 multiplie par 0.5 la durée de la vidéo. Ainsi, avec 0.5 on double la vitesse de la vidéo. Pour ralentir, mettre un paramètre supérieur à 1.

ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" output.mkv

Retirer les passages sans changements d'une vidéo longue

Usage typique, montrer en accéléré quelque chose d'enregistré, cette méthode permet de retirer les passages où l'image est statique sans changements de façon automatisée, plutôt que de devoir le faire en édition vidéo. Attention car il faut que la vidéo soit encodée "proprement" (avec handbrake par exemple), sinon ça cause facilement des bugs.

ffmpeg -y -i in.mp4 -vf mpdecimate,setpts=N/FRAME_RATE/TB out.mp4

Voir aussi : https://stackoverflow.com/questions/37088517/remove-sequentially-duplicate-frames-when-using-ffmpeg/52062421#52062421