Annonce

Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

Gotcha
2010-10-20 14:24:26

zebulaon a écrit:

Bonjour,
Juste pour information le traitement en 2 pass n'est pas si contraignant que cela, car le traitement n'est réalisé que si besoin est. Nconvert détecte si la rotation est nécessaire (OK) au cas contraire "NO NEED" est affiché sur la console.
A ce propos j'aimerai pouvoir consigner dans un fichier de trace ces opérations. Mais la redirection par > sur une sortie de fichier n'est pas convaincante. Seul le message de présentation est consigné.
Cette information est assez vitale, car quelques par le traitement par lots d'images, ce solde par un echec (certaine images!), il est bien pratique de pouvoir rectifier les traitements (resize + rotate) des images en cause
Voici l'échange d'un POST sur le site officiel:
How to use the verbose info option

Juste une remarque, en début de message sur le forum officiel de nConvert, je lis un double slash dans le code...

Code:

    "E:\Program Files\Batch_Optimisateur\composants\nconvert.exe" -out jpeg -keepfiledate -jpegtrans exif -o C:\phpwebgallery\DirWorkingFTP\\test\%.jpg C:\phpwebgallery\DirWorkingFTP\\test\*.jpg >> "C:\phpwebgallery\DirWorkingFTP\txt.txt"
zebulaon
2010-10-20 00:00:22

Encore un point indirectement lié: l'affichage dans la gallerie des photos ayant subi une rotation est déformé.
Il ne s'agit pas vraiment d'un problème lié traitement de rotation Exif, mais de l'affichage dans la galleries. C'est pour raison que j'ai ouvert un autre POST:
Affichage correctes des images mode portrait après rotation Exif

zebulaon
2010-10-19 22:36:46

Bonjour,
Juste pour information le traitement en 2 pass n'est pas si contraignant que cela, car le traitement n'est réalisé que si besoin est. Nconvert détecte si la rotation est nécessaire (OK) au cas contraire "NO NEED" est affiché sur la console.
A ce propos j'aimerai pouvoir consigner dans un fichier de trace ces opérations. Mais la redirection par > sur une sortie de fichier n'est pas convaincante. Seul le message de présentation est consigné.
Cette information est assez vitale, car quelques par le traitement par lots d'images, ce solde par un echec (certaine images!), il est bien pratique de pouvoir rectifier les traitements (resize + rotate) des images en cause
Voici l'échange d'un POST sur le site officiel:
How to use the verbose info option

Gotcha
2010-10-16 16:35:52

En effet, en post-traitement c'est possible aussi. Car faire deux pass va rallonger le temps de traitement. Dommage que ça ne puisse pas être fait en une seule opération :-(

J'étudierai vos modifications dans la semaine :-)
Merci.

zebulaon
2010-10-16 15:47:13

Voilà comme promis mes aménagements pour prende en compte la rotation Exif.
J'ai paramétré la fonctionnalité sur les fichiers en résolution normale + vignette, sachant que celle pour haute définition ne marche pas encore (problème sur le paramètre -overwrite)

le lien est ici jusqu'au 16/10/2010 + 30 jours
En écrivant ces quelques phrases je me suis aperçu qu'il est peut-être possible d'intégrer cette fonctionnalité plutôt dans un module "post-traitement", qui est proposé par Batch_optimisateur, à étudier...
PS1 : le principe est de refaire une seconde pass sur les fichiers à traiter, car il n'est pas possible de faire en seule pass le resize + la rotation

PS2 : j'aimerai pouvoir consigner dans un fichier de sortie %DIRsortie%\dumpTXT.txt le résultat pour chaque traitement de nconvert.exe, j'attends une réponse du site de nconvert...

Zebulaon

Gotcha
2010-10-15 18:21:06

zebulaon a écrit:

Sinon j'ai également modifié le script pour ajouter une fonctionnalité intéressante : permettre une rotation des images pour prendre en compte le paramètre Exif qui replace la photo suivant la bonne prise de vue.
Est-il possible de soumettre le script?

Ho oui bien sûre que je suis preneur ! 8-)
je l'avais noté sur ma todo liste mais... la flemme lol

Et grand merci pour ton résumé.

Si je ne donne pas signe de vie sur ce sujet, n'hésitez pas à me relancer :-)

zebulaon
2010-10-15 16:19:01

Bonjour,

J'ai bien retesté chez moi, ce sont bien les quotes qui empêchent à nconvert d'interpréter *.jpg. (Je ne sais pas si c'est du à mon DOS sous XP Home?)
De toute façon je bannis les répertoires contenant les espaces ou caractères exotiques, donc les quotes ne sont pas utile pour moi (qui plus est , l'erreur identifiée ne me laisse guère le choix)

Sinon pour faire un récapitulatif de ce post:

- suppression des quotes (pour les lignes nconvert) dans le script nécessaire afin d'interpréter *.jpg
- ajout pour les utilisateurs XP Home de tasklist.exe
- remplacement de nconvert.exe 64 bits par un nconvert.exe 32 bits (pour les utilisateurs 32 bits)

Sinon j'ai également modifié le script pour ajouter une fonctionnalité intéressante : permettre une rotation des images pour prendre en compte le paramètre Exif qui replace la photo suivant la bonne prise de vue.
Est-il possible de soumettre le script?

Cordialement

Gotcha
2010-10-06 13:16:53

Merci pour votre analyse.

Pourriez-vous tester tout de même avec une installation dans des répertoires ne contenant pas d'espaces ni caractères exotiques ? Car les quotes fonctionne bien chez moi et chez d'autres personnes.

zebulaon
2010-10-06 02:06:22

Enfin j'ai trouvé pourquoi le script ne pouvait pas faire la conversion: il s'agit d'un problème de quote qui empêche nconvert d'interpréter le caractère générique: *

Dans le script.bat on aperçoit à chaque appel nconvert XXX le chemin source comme "mon chemin/*.jpg"

"%nconvertEXE%" -q %Qnormal% %DPI% -out jpeg -o "%DIRsortie%\%%.jpg" %resize% -resize %DIMnormal% %DIMnormal% "%DIRsortie%\testing\pwg_high\*.jpg"

Si on supprime les "" le script peut enfin s'exécuter. Ceci venait du fait que nconvert n'arriver pas à interpréter * car le caractère générique mais comme un nom de fichier *.

Maintenant reste à valider cette observation et à faire en sorte que si le chemin contient un espace le script puisse encore opérer.

Sur ce, Je me couche , bonne nuit.

zebulaon
2010-10-05 23:56:49

Encore une question: est-ce normal d'avoir à la racine de ma partition System (E:\) un répertoire crée par script.bat nommé E:\Program (au démarrage Windows XP Home n'apprécie pas trop car un message Windows s'affiche)

Voici une trace de log sur eta:200

Appuyez sur une touche pour continuer...
Un sous-répertoire ou un fichier E:\Program\pwg_high\ existe déjà.
Un sous-répertoire ou un fichier E:\Program\pwg_high\ existe déjà.
Un sous-répertoire ou un fichier E:\Program\thumbnail\ existe déjà.
Un sous-répertoire ou un fichier E:\Program\thumbnail\ existe déjà.
i'm here :et200

Pour répondre à votre précédente question: testing est un sous répertoire , du répertoire étant déclaré comme DIRsource. testing contient la photo.

Zebulaon a écrit:

Voici ma configuration:
DIRsource=E:\Program Files\Batch_Optimisateur\album\DirAlbum où DirAlbum est un répertoire qui contient un sous-répertoire testing qui contient une photo: myphoto.jpg
DIRsortie=E:\Program Files\Batch_Optimisateur\album\DirWorkingFTP

zebulaon
2010-10-05 23:38:28

Je viens de suivre votre conseil: Essayez simplement en traitant une photo directement, sans avoir de sous-dossier. même erreur...lors de l'exécution script.bat

Pour aller plus loin j'ai remarqué que *.jpg n'est pas reconnu je suis obliger de préciser le nom de la photo (ainsi que son chemin absolu) pour avoir une conversion, plutôt surprenant non!

Gotcha
2010-10-05 23:00:57

De souvenir, j'ai eu une fois aussi un tour pendable qui m'a fait devenir chauve d'un coté de la tête lol.
Quand à la solution, je ne saurais plus dire ce que c'était.

Je note que vous parlez d'un sous-répertoire "testing".
C'est quoi exactement ?

Essayez simplement en traitant une photo directement, sans avoir de sous-dossier.

zebulaon
2010-10-05 22:54:14

Bonjour Gotcha,
Je pense avoir isolé la commande du script qui pose problème: toutes celles qui font appellent à l'instruction nconvert. Comme déjà indiqué plus haut j'ai à chaque fois l'erreur suivante: Error: Can't open file (E:\Program Files\Batch_Optimisateur\album\DirWorkingFTP\pwg_high\*.jpg)

Voici ma configuration:
DIRsource=E:\Program Files\Batch_Optimisateur\album\DirAlbum où DirAlbum est un répertoire qui contient un répertoire testing qui contient une photo: myphoto.jpg
DIRsortie=E:\Program Files\Batch_Optimisateur\album\DirWorkingFTP

Pour isoler le problème j'ai fait en sorte de mettre un point d'arrêt dans le script pour afficher les arguments passés en paramètre de la commande nconvert.
Ainsi si j'exécute uniquement en mode commande:

Code:

nconvert.exe -q 90  -out jpeg -o "E:\Program Files\Batch_Optimisateur\album\DirWorkingFTP\%.jpg" -ratio -rtype lanczos -rflag decr  -resize 800 800 "E:\Program Files\Batch_Optimisateur\album\DirWorkingFTP\pwg_high\*.jpg"

j'ai l'erreur cité plus haut.

Ce qui me déroute c'est que si le problème vient de la syntaxe je ne devrai pas être le seul à rencontrer le problème?

PS:

lorsque j'exécute la commande:
le répertoire DirWorkingFTP ne contient QUE le répertoire testing (rien d'autre!)
le répertoire testing ne contient QUE le répertoire pwg_high (rien d'autre!)
le répertoire pwg_high ne contient QUE la photo

Ainsi je trouve assez surprenant d'avoir un tel chemin dans l'argument: "E:\Program Files\Batch_Optimisateur\album\DirWorkingFTP\pwg_high\*.jpg"
DirWorkingFTP\pwg_high ne semble pas exister...

Merci d'avance

Gotcha
2010-09-25 19:20:41

Merci Zebulaon.
Je jetterai un coup d'oeil un de ces quatre pour comprendre car je n'avais jamais eu de problèmes à ce niveau là (Windows XP Pro, Windows Vista Pro x64, Windows 7 Pro x64).

Merci pour ton partage :-)

zebulaon
2010-09-25 19:16:28

Et voici la suite pour ceux qui souhaitent mettre les mains dans le cambouis...

Redefintion de la fonction et400:

Code:

:et400
rem Titre de la fenêtre
set /a x=%x%+1
set etape= *** Etape %x% sur %y% ***
title %titre%%etape%
cls
rem Edition des images en moyenne qualité
  if "%debug%" == "2" (
   echo :*********** WARNING *************
  echo :****** DEBUGAGE EN COURS sur :et400   *****
  echo Edition des images en moyenne qualité à l'aide de ntconvert  
  )
if "%DIRhightORNOT%" == "o" (
  if "%debug%" == "2" (
   echo :et400 condition DIRhightORNOT == "true"
  echo argument : -q %Qnormal% %DPI% -out jpeg -o "%DIRsortie%\%%.jpg" %resize% -resize %DIMnormal% %DIMnormal% "%DIRsortie%\pwg_high\*.jpg"
    pause
  )
  "%nconvertEXE%" -q %Qnormal% %DPI% -out jpeg -o "%DIRsortie%\%%.jpg" %resize% -resize %DIMnormal% %DIMnormal% "%DIRsortie%\pwg_high\*.jpg"
  if "%debug%" == "2" (
   echo :****** WARNING *****
  echo :******          *****
  echo : pour raison de debug je force le chemin en dur le chemin uniquement!!!!
  "%nconvertEXE%" -q %Qnormal% %DPI% -out jpeg -o "%DIRsortie%\%%.jpg" %resize% -resize %DIMnormal% %DIMnormal% "%DIRsortie%\testing\pwg_high\*.jpg"  
  echo :******          *****
  echo :  !!!le caractere generique *.jpg n'est pas reconnu!!!!!!!
  pause
  echo :****** WARNING *****  
  echo : je FORCE alors le NOM DE FICHIER!!!!
  "%nconvertEXE%" -q %Qnormal% %DPI% -out jpeg -o "%DIRsortie%\%%.jpg" %resize% -resize %DIMnormal% %DIMnormal% "%DIRsortie%\testing\pwg_high\myphoto.jpg"  
  echo :****** WARNING *****
  echo : EST CA DOIT MARCHER
  echo : EST CA DOIT MARCHER
  echo : LA CONVERSION A DU AVOIR LIEU
  pause  
  )

) else (
  if "%debug%" == "2" (
   echo :et400 condition DIRhightORNOT == "false"
  echo argument : -q %Qnormal% %DPI% -out jpeg -o "%DIRsortie%\%%.jpg" %resize% -resize %DIMnormal% %DIMnormal% "%DIRsource%\*.jpg"
    pause
  )
  "%nconvertEXE%" -q %Qnormal% %DPI% -out jpeg -o "%DIRsortie%\%%.jpg" %resize% -resize %DIMnormal% %DIMnormal% "%DIRsource%\*.jpg"
)

if "%DIRhightORNOT%" == "o" (
  for /f %%a in ('type "%sousrepTXT%"') do "%nconvertEXE%" -q %Qnormal% %DPI% -out jpeg -o "%DIRsortie%\%%a\%%.jpg" %resize% -resize %DIMnormal% %DIMnormal% "%DIRsortie%\%%a\pwg_high\*.jpg"
) else (
  for /f %%a in ('type "%sousrepTXT%"') do "%nconvertEXE%" -q %Qnormal% %DPI% -out jpeg -o "%DIRsortie%\%%a\%%.jpg" %resize% -resize %DIMnormal% %DIMnormal% "%DIRsource%\%%a\*.jpg"
)

if "%debug%" == "2" (
  echo i'm here :et400
  pause
)


Un packaging complet de test pour lancer script.bat...Attention ne modifiez pas setup.txt pour avoir la bonne condition

Voici un lien temporaire sur le zip (valide 30 jours)
http://dl.free.fr/eMJNBEYcn

Pied de page des forums

Propulsé par FluxBB

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