Annonce

  •  » Utilisation
  •  » Réduire la taille des images sur le ftp

#1 2022-02-19 10:45:28

dala
Membre
Lyon
2019-12-18
14

Réduire la taille des images sur le ftp

Bonjour,

J'aurai aimé votre avis pour réduire la taille des images et ainsi gagner en espace sur mon ftp.


J'ai actuellement des images en 2000px pour la plus grande des 2 longueurs.
Avec le temps cela prend de l'espace et j'arrive au bout.

J'aimerai baiser la taille des images actuellement sur le ftp pour descendre à 1280 px par exemple.

Le plus simple est de télécharger les dossier,s de réduire la taille en lot et de les écraser sur le ftp.
Cela vous parait-il judicieux ou feriez-vous autrement ?

Merci de vos avis, et surtout merci à l'équipe piwigo car je l'aime bcp !!
Damien


Version de Piwigo: 12.2
Version de PHP: 7.4
Version de MySQL: ??
URL Piwigo: https://phototheque.damienlachas.com

Hors ligne

#2 2022-02-19 10:49:34

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16795

Re: Réduire la taille des images sur le ftp

Bonjour,

attention à ne pas perdre toutes les informations que tu as mis dans Piwigo sur chaque image.

Tu as ajouté comment les photos ?

perso je dirais que pour 2000 photos je regarderais plutôt pour faire cela en ligne

tu utilise quoi comme librairie graphique ?


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#3 2022-02-19 11:02:05

dala
Membre
Lyon
2019-12-18
14

Re: Réduire la taille des images sur le ftp

Bonjour,

ici on parle de 18 000 photos.

Avec des grands dossiers, le plus grand faisant 2000 images.

En passant lightrrom et consort , je ne perds rien des iptc et exif. je conserve et élimine ce que je veux.

En effet en ligne c'est un option.
J'ai imagemagick.
Et donc logiquement je devrai pouvoir l'utiliser en ssh.

Damien

Hors ligne

#4 2022-02-19 11:16:56

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16795

Re: Réduire la taille des images sur le ftp

Bonjour,

La meilleur solution serait de faire un plugin qui ajoute cette action dans la gestion par lot


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#5 2022-02-19 12:10:54

TOnin
Membre
2010-08-10
103

Re: Réduire la taille des images sur le ftp

Bonjour, voici quelques éléments de recherches personnelles.
Instructions de redimensionnement pour ImageMagick. (Dans les extrait de codes suivants, j'ai été intéressé alternativement par les suffixes de dimension ">" ou "^" ; donc attention).
https://legacy.imagemagick.org/Usage/resize/

Code:

convert $i -resize 1920x1080> $i; # Écrase fichier original

Il est aussi possible de diminuer la qualité, descendre à 80% (voire 70% ou en deçà ?) me parait raisonnable.
https://legacy.imagemagick.org/discours … hp?t=29529

Code:

convert $i -resize 1920x1080> -quality 80 $i; # Écrase fichier original

Pour boucler sur la liste des images jpg présentes dans une arborescence

Code:

for image in `find -L "/path/to/gallery/" -type f -name "*.jpg"` ; do echo $image ; done ;

Script de redimensionnement qui fera en sorte qu'en affichage "1 pixel image par pixel écran" la matrice de pixels 1920x1080 soit complétement recouverte, si possible ; c'est à dire qu'une image plus petite ne sera pas agrandie. Préfixe $pre non vide : ce script prend pour paramètre une image dans le dossier d'exécution, sinon un chemin vers l'image.

Code:

#!/bin/bash

i=$1

# dimensions
dim='1920x1080^'

# qualité
q='80%'

# préfixe
pre='r01-' # N'écrase pas l'image originale
pre='' # Écrase l'image originale

###
# Par défaut cette instruction de redimensionnement peut agrandir une petite image.
# Des précautions sont donc prises pour l'éviter.
###

# Dimensions   largeur $iw   hauteur $ih
iw=`exiftool $i 2>&1 | awk -F ":" '$1 ~ /^Image Width/ { print $2 }'`
ih=`exiftool $i 2>&1 | awk -F ":" '$1 ~ /^Image Height/ { print $2 }'`

if [ -z $iw  -o  -z $ih ]; then continue ; fi

# Format   horizontal $fh   vertical $fv   carré $fc
fh=$(($iw>$ih))
fv=$(($iw<$ih))
fc=$(($iw==$ih))

if   [ "$fh" -eq 1 ]; then \
    if   [ "$ih" -gt "1080" ]; then \
        convert $i -resize $dim -quality $q $pre$i
    else
        echo 'petit format horizontal -' $iw x $ih 
    fi
elif [ "$fv" -eq 1 ]; then
    if   [ "$iw" -gt "1920" ]; then \
        convert $i -resize $dim -quality $q $pre$i
    else
        echo 'petit format vertical -' $iw x $ih 
    fi
elif [ "$fc" -eq 1 ]; then
    if   [ "$iw" -gt "1920" ]; then \
        convert $i -resize $dim -quality $q $pre$i
    else
        echo 'petit format carré -' $iw x $ih 
    fi
else
    echo "Image format inconnu : $iw x $ih "
fi

Hors ligne

#6 2022-04-03 16:10:02

lexi
Membre
2021-03-10
41

Re: Réduire la taille des images sur le ftp

Merci pour le partage, je pense que cela pourra servir à pas mal de monde.

As tu pu conserver les tags notamment les commentaires sur tes photo ?
As tu réussi à diminuer l'espace disque sur ton serveur ?


Piwigo 11.5.0
PHP: 7.4.21
Base de donnée: 5.5.5-10.5.11-MariaDB-1 [2021-10-15 11:35:03]
Graphics Library: GD 2.3.0

Hors ligne

#7 2022-04-07 17:22:24

dala
Membre
Lyon
2019-12-18
14

Re: Réduire la taille des images sur le ftp

Bonjour,

je prends enfin le temps ...

Après recherche et essais, la commande convert n'est pas récursive sur les images et le $i n'y change rien.
Cela ne s'applique qu'a une image dans un dossier donné en mettant le nom à la place de $i

On a la récursivité avec mogrify.
En revanche cela fonctionne très bien pour l'ensemble des images d'un même dossier, pas pour tous les dossiers et sous-dossiers contenant des images.

Donc:
mogrify -resize 50% -quality 80 *jpg

la ligne parle toute seule :)

Rentrer dans chaque dossier et taper cette ligne.
Si il y a 200 dossiers...ben tant pis, à la mano pour les parcourir :)


Bien sur, si je trouve la récursivité avec le dossiers, je vous préviens.

NB : imagemagick est installé sur mon serveur par mon hébergeur, ce qui facilite la chose.

Damien

Hors ligne

#8 2022-04-07 21:13:31

TOnin
Membre
2010-08-10
103

Re: Réduire la taille des images sur le ftp

J'avais donné la commande pour lister toutes les images jpg d'un répertoire, mais je la redonne ici (sans les liens symboliques "-L") ; et puis s'il fallait ne lister que les dossiers, c'est possible aussi.

Voici donc pour parcourir l'arborescence de dossiers de la galerie pour en lister ses fichiers *.jpg:

Code:

#!/bin/sh

racine_galerie=/path/to/piwigo/galleries/

for image in `find "$racine_galerie" -type f -name "*.jpg"` ; do \
  echo $image
done

Pour ne lister que les chemins des dossiers comportant des fichiers *.jpg :

Code:

#!/bin/sh

racine_galerie=/path/to/piwigo/galleries/

for chemin in `find "$racine_galerie" -type f -name "*.jpg" -printf '%h\n' | sort -u` ; do \
  echo $chemin
done

Hors ligne

  •  » Utilisation
  •  » Réduire la taille des images sur le ftp

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact