Forum Programmation.shell Récursivité des commande et script ? ImageMagick

Posté par  . Licence CC By‑SA.
2
16
sept.
2024

Bonjour,

J'ai découpé des videos en images, je me retrouve avec des dossiers avec 250 K de fichiers, j'ai fait un script avec montage de imagemagick, et quand le dossier à plus de 20 K de fichier, les planches ne se crée pas ?

J'utilise sur un HP Dual-core 4 Go de Ram Fedora 37

montage -verbose -label '%wx%h' -font Waree -pointsize 8 -background '#FFFFFF' -fill 'white' -geometry 120x68+2+2 -auto-orient *.jpg out-contact-sheeet.jpg

Je souhaiterai aussi améliorer cette ligne de commande avec montage.
Elle recherche tous les fichier *.jpg, je cherche une qui se limite au video, que chaque planche en sortie soit limité au titre du fichier qui est le nom de la video accompagné d'une incrementation par compteur je decoupe les video via ffmpeg !

Merci

Philippe

  • # Limites classiques

    Posté par  (site web personnel) . Évalué à 5.

    Je vois au moins deux limites qui peuvent poser problème :

    • le nombre de fichiers dans un même répertoire — même si cela me semble peu probable dans ton cas, c'est bon de savoir que ça peut être un facteur limitant ;
    • la taille de la ligne de commande.

    Ici ton *.jpg fait probablement exploser la 2e limite. Tu peux essayer avec un simple ls *.jpg pour confirmer.

    Debian Consultant @ DEBAMAX

    • [^] # Re: Limites classiques

      Posté par  . Évalué à 7. Dernière modification le 16 septembre 2024 à 17:02.

      Oui, d'après la doc (https://imagemagick.org/script/command-line-processing.php ) ImageMagick peut générer la liste des fichiers à partir du motif *.jpg. Cette possibilité a été pensée pour Windows mais fonctionne sous Linux. Il suffit donc de quoter en '*.jpg' :

      montage -verbose -label '%wx%h' -font Waree -pointsize 8 -background '#FFFFFF' -fill 'white' -geometry 120x68+2+2 -auto-orient '*.jpg' out-contact-sheeet.jpg
      

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.