Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Plusieurs exports simultanés
#6
J'ai un peu profité de cette journée pour essayer de coder le script en question. Le voici ci-dessous.

Il est codé en Bash, donc destiné à un environnement Unix/Linux. Il permet de traiter un nombre arbitraire de raw en produisant plusieurs tailles de jpg. Pour faciliter son utilisation, j'ai prédéfini 4 tailles que j'ai appelées S, M, L et F.
  • S correspond à une définition de 1000x1000 pixels et un taux de compression de 85.
  • M correspond à 1500x1500 et 85,
  • L correspond à 3000x3000 et 90,
  • F (pour full) correspond à 0x0 (soit la définition originale) et un taux de 93.
Toutes ces valeurs sont bien sûr modifiables dans le script. On peut même en ajouter d'autres !
Il faut aussi ajuster deux variables correspondant à l'emplacement du binaire darktable-cli, ainsi qu'à l'emplacement du dossier de configuration de darktable.

On pourrait sophistiquer un peu plus en spécifiant la définition dans le nom du fichier exporté par exemple (ce sera pour la version 2 ;-)

Un retour serait le bienvenu, merci !

Code :
#! /bin/bash

DarktableCli='/opt/darktable-prod/bin/darktable-cli'
DTconfigDir='/home/jpv/.config/darktable-prod'
OutputFolder='.'
declare -A Tsize=(['S']=1000 ['M']=1500 ['L']=3000 ['F']=0)
declare -A Tcomp=(['S']=85   ['M']=85   ['L']=90   ['F']=93)

while getopts "hvs:" Option
do
        case ${Option} in
                h ) printf "Usage : %s [-h] -s <ListeClés> Fichiers...\n" $0
                    printf "ListeClés parmi S, M, L et F séparées par des virgules\n"
                    exit 0 ;;
                s ) KeyList=${OPTARG} ;;
                v ) Verbose="--verbose" ;;
                * ) exit 1
        esac
done

shift $(($OPTIND - 1))

if [ -z ${KeyList} ] ; then
        printf "Option -s non pésente ou vide\n"
        exit 1
fi

IFS=,
for Key in ${KeyList}
do
        ${DarktableCli} \
                $* \
                ${OutputFolder} \
                ${Verbose} \
                --width ${Tsize["${Key}"]} \
                --height ${Tsize["${Key}"]} \
                --core \
                --configdir ${DTconfigDir} \
                --conf plugins/imageio/format/jpg/quality= ${Tcomp["${Key}"]}
done
Mes photos : jpverrue.fr
Répondre


Messages dans ce sujet
Plusieurs exports simultanés - par manu-v - 30-10-22, 12:51
RE: Plusieurs exports simultanés - par jpverrue - 01-11-22, 18:24

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)