Accueil > How to ? > Petit répertoire de commandes pour un Terminal

Petit répertoire de commandes pour un Terminal

Utilisateur de Gnu/Linux, la ligne de commande est d’une grande efficacité mais retenir les commandes et leurs paramètres... d’où l’idée de ce répertoire qui me permet d’éviter de perdre du temps à retrouver la commande si pratique utilisée il y a quelques mois... Et si ça peut servir à d’autres, autant le mettre sur ce site.

Ces commandes sont utilisées sur Ubuntu.

Autour des images

Convertir un lot d’images en un fichier pdf


Pour cela on a besoin d’ImageMagick : on se place dans le dossier qui contient les images et on lance :

convert *.jpg aaa.pdf

Et hop, j’obtiens un fichier pdf : aaa.pdf. Cela fonctionne aussi très bien avec des png ou des gif. Attention l’extension est sensible à la casse (.JPG est différent .jpg). Les pages du pdf sont créées dans l’ordre alphabétique des noms de fichiers jpg. Attention : mon_fichier_2.jpg sera placé après mon_fichier_198.jpg. Pour régler cette histoire d’ordre, on peut passer par pyRenamer et nommer nos fichiers avec cette règle : mon_ficher_{num3}.jpg. On obtiendra alors dans l’ordre : mon_fichier_001.jpg, mon_fichier_002.jpg, ... mon_fichier_198.jpg, ...

Créer une « planche contact » à partir d’un dossier de photos


On place nos photos dans un dossier, puis on lance la commande :

montage *JPG -tile 3x -geometry 200x planche.jpg

Pour faire une planche avec des images dont la plus grande dimension sera 200 pixels. On peut ajouter un espacement avec +2+2 (montage *JPG -tile 3x -geometry 200x+2+2 planche.jpg)

Planche contact à partir de 12 photos

Redimensionner un lot d’images


Attention les images d’origine seront écrasées :

mogrify -resize 300x200 *.JPG

Avec cette commande ImageMagick, les .JPG de ce dossier auront la dimension 300x200 pixels... ou ???x200 pixels si elles sont verticales. On peut aussi utiliser la commande en % :

mogrify -resize 25% *.JPG

Créer un gif animé à partir d’un lot d’images

convert -delay 20 -loop 0 *.JPG Animation.gif


L’unité du paramètre delay est le centième de seconde, donc ici 0.2s soit 5 i/s. Beaucoup plus d’infos sur cette page.

Autour des pdf

Optimiser un pdf, réduire sa taille

On utilise gs qui est déjà installé sur Ubuntu :

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=bbb.pdf aaa.pdf

Ainsi, le fichier aaa.pdf est enregistré en bbb.pdf une fois optimisé. Selon le type de pdf à optimiser les résultats seront plus ou moins intéressants. Pour un pdf riche en images les résultats peuvent être spectaculaires. Par exemple ici, deux pdf officiels avec une réduction de 0.8 à 0.3...

Exemples à partir de 2 pdf

Récupérer chaque page d’un pdf en images (jpg ou png)


À l’école on a un copieur qui numérise des liasses de feuilles en quelques secondes jusqu’au format A3. Mais le résultat est en pdf dès lors qu’on a plus d’une page. Comme je n’ai pas envie de numériser feuille par feuille pour obtenir des jpg... je souhaite convertir chaque page de mon pdf en fichier image, en jpg par exemple. On va utiliser Image Magick, la commande de base est celle-ci

convert mon_pdf.pdf page.jpg

Cela nous donne des fichiers de 595x842 pixels pour du A4, soit du 72ppp. Et si on ne précise rien la qualité jpg est de 100, soit zéro perte. On adapte notre commande en intégrant ces paramètres :

convert -density 100 -quality 70 mon_pdf.pdf page.jpg

Ce qui revient à demander une conversion en 100ppp (density 100) et une petite compression jpg (quality 70). Pour se repérer, une page A4 fait 8.2x11.7 pouces. Avec density à 100 on aura une image d’à peu près 800x1200 pixels, avec 200 : 1600x2400, ...
Et hop facile de scanner les productions d’élèves pour les intégrer au site/ENT de l’école ! Pour la liste des paramètres de convert, sur la documentation en ligne d’Image Magick

Autour de la vidéo

Extraire les images d’une vidéo

Avec cette commande qui nécessite mPlayer, on obtient des images png (si on veut du jpg il faut utiliser jpeg à la place de png) numérotées. Pour notre exemple, une vidéo de 6s secondes à 30i/s en 1920x1080 donne 184 images de même dimension.

mplayer -vo png aaa.MP4
6 s de vidéo pour 180 images...

Avec ffmpeg, on obtient le même résultat avec la commande

ffmpeg -i aaa.MP4 image_%04d.png

Cependant les images on été compressées (2,1Mo au lieu de 6) et sont nommées image_0001.png, image_0002.png...
En général, on souhaite extraire les images d’une petite partie de la vidéo, pour cela on se sert des paramètres -s (début en secondes) et -t (durée en secondes), on peut aussi choisir le nombre d’images par seconde avec -r (nombre d’images par seconde)

ffmpeg -i aaa.MP4 -r 12 -ss 3 -t 1 image_%04d.png

Un très bon site pour en apprendre plus sur ffmpeg..

Transcoder une vidéo pour du montage

Mon logiciel de montage n’accepte pas mes vidéos ! C’est chose courante pour MS Movie Maker, la seule solution transcoder pour qu’il accepte notre vidéo (ici un fichier webm téléchargé sur Wikimedia)

Movie Maker ne prend pas en charge le type de fichier sélectionné
ffmpeg -i aa.webm -strict -2 bb.mp4

Avec aa.webm comme fichier à transcoder et bb.mp4 comme résultat.

Transcoder ma vidéo en webm ou en mp4 pour site

Je cherche à mettre ma vidéo sur notre beau site html5, mais elle trop grosse (1280x720) et elle ne peut être visionnée directement sur la page sans lecteur flash. FFmepg va la transcoder en webm et on va lui demander de réduire ses dimensions à 320x240

ffmpeg -i donator.mp4 -vf scale=320:240 -strict -2 bb.webm

Ah tiens... depuis qu’on m’a prêté une tablette avec une pomme, je m’aperçois que les vidéos en webm ne sont pas lues nativement par Safari. Donc le mp4 est le conteneur le plus « universel » pour la vidéo-web [1]. Du coup mon exemple est bidon, mais bon on adapte la commande pour faire du mp4 depuis du wmv, de l’avi, du mov, ...

ffmpeg -i DSCN1804.MOV -vf scale=480:270 -strict -2 exemple.mp4
Fichier vidéo créé par un appareil Nikon - 1920:1080 codec H.264 dans un conteneur MOV
Après transcodage et redimensionnement même codec H.264 et conteneur mp4

Au passage, notons qu’un petit redimensionnement change considérablement le poids du fichier. Exemple : une vidéo en 1920:1080 redimensionnée en 1280:720 passe de 700 Mo (trop grosse pour Viméo gratuit) à 80 Mo

Extraire le son d’une vidéo

Récupérer la bande son d’une vidéo. Par exemple la bande son de cette « pub » pour Wikipédia

ffmpeg -i Video_Wikipedia_CKoi_Maladie_-_Sickeness.webm audio.mp3
Wikipédia c’est quoi ?
Extrait de la bande originale du film. A video by Michael Epaka, directed by Regis Talla, triggered by Iolanda Pensa and produced by doual’art within the frame of the project What is about - C’est quoi. A series of communication tools about Wikipedia. Cameroon pilot project.

Inverser une vidéo

Inverser le déroulement d’une vidéo, commencer par la dernière image pour finir par la première. J’en ai eu besoin pour inverser une séquence faite avec iMotion qui pour une raison inconnue me l’a construite à l’envers.

ffmpeg -i ma_video.mov -vf reverse ma_video_inversee.mov

Si on souhaite en plus inverser la bande son on ajoutera le paramètre -af areverse
NB : le manuel de ffmpeg précise que la vidéo est entièrement chargée en mémoire pour être inversée, du coup il est conseillé de travailler sur des segments au lieu d’une vidéo longue.

Historique de la page