Photo Station SCHNELL Thumbnails für /photo erstellen!

ong10

Benutzer
Mitglied seit
20. Mai 2010
Beiträge
262
Punkte für Reaktionen
3
Punkte
18
Hallo,

neue Version: batch25... (mit Fortschrittsanzeige progress...)
Anhang anzeigen batch25a.cmd.txt und Anhang anzeigen progress23x.cmd.txt

Beide umbenennen zu .cmd und in ein Verzeichnis speichern. Config (in batchXX) anpassen - los gehts. Non Destructive für Originalfotos. Achtung: Genug Plattenspeicher sollte auf dem Target schon vorhanden sein. KEINE Sonderzeichen in den Bild/Pfadnamen und bitte nur Dateien die Irfanview tatsächlich öffnen kann (d.h. keine defekten Bilder) - sonst bricht die aktuelle (4.33) Version leider einfach ab (und macht nicht weiter)...

Noch eine kleine Aussage zur Performance... Hier der Output einer Umwandlung: 31999 Thumbs in zweieinhalb Stunden! (Ich habe nicht nur diesen Netzwerkzugriff in der Zeit auf das NAS - d.h. es könnte wohl noch schneller und mein Rechner ist doch schon älter)
-------------------------------------------------------------------------------
I Quickly create thumbnails for your Synology DiskStation I
I I
I created by Olaf Noehring, http://www.team-noehring.de I
I version: 2012-09-17 I
-------------------------------------------------------------------------------

Edit/adjust the values in the Configuration area of this file only!

If you have special characters in your file-/pathnames (e.g. öäüß) the irfanview
4.33 version will stop working because it can not access the correct file/path!
I have contacted Irfan (the irfanview programmer) about a special commandline p
arameter for this but have not received an answer.

Speed tip: I suggest you set the source to your /photo (or a subdirectory), but
the target to a local (on your PC) directory. This will read the image data only
once from the network which (this script reads the thumbnails after the creatio
n of the first thumbnail) should for the 2nd...5th thumbnail result in a VERY la
rge speed increase: Files will be read and written from/to local directory = muc
h faster. Afterwards simply transfer (copy) the created @eaDir to your DiskStati
on.
You can start multiple instances (you MUST change the source (obviously).
Each instance uses unique names for temporary files and a unique subdir in your
target directory.
Still: This will make more use of your network capacity in combination with CPU
speed as your CPU and network will be more busy at all times.

PS: Use at your own risk!

Drücken Sie eine beliebige Taste . . .
Please check the settings that will be used:

- Source (subdirectories will also be treated):
z:\something
- Target (unique so you can start this batch file multiple times)(subdirectories
will be created):
h:\y\2007
- JPQ quality is (100 = very good ... 10 = very fast): 80
- Extraquality is (NULL = quicker or /resample = better quality): /resample
- Sizes (long sides): 1280, 800, 640, 320, 120

The following is for information only and can not be changed by the user:
- Unique (random) ID of this instance (prefix for filenames): 2007

If this is correct, please press any key. If this is wrong, stop this script wit
h the keycombination CRTL-C (or STRG-C) right now!

Drücken Sie eine beliebige Taste . . .

-------------------------------------------------------------------------------
Reading JPG files in z:\something and it's subdirectories
..filelist created in: 0:0:5.00 (5.00s total)

-------------------------------------------------------------------------------
Counting files... 33515 thumbnails should be created (6703 files * 5 thumbs each
)
..finished in: 0:0:0.00 (0.00s total)
(If time-taken is 24+ hours, calculated result will be wrong. Same below.)
Now let's start...

-------------------------------------------------------------------------------
Creating XL version (1280 / something) thumbs (1 of 5)
This step will take the longest time, each of the following will be quicker.
Have patience - really! And ... I mean it! Really ... do not stop here - give it
time!
..finished in: 1:39:29.00 (5969.00s total)

-------------------------------------------------------------------------------
Creating L version (800 / something) thumbs (2 of 5) ... please wait
.counting XL thumbnails... all 6703 found..creating L size ..finished in: 0:22:4
1.00 (1361.00s total)

-------------------------------------------------------------------------------
Creating B version (640 / something) thumbs (3 of 5) ... please wait
.counting L thumbnails... all 6703 found..creating B size ..finished in: 0:11:4.
00 (664.00s total)

-------------------------------------------------------------------------------
Creating M version (320 / something) thumbs (4 of 5) ... please wait
.counting B thumbnails... all 6703 found..creating M size ..finished in: 0:5:11.
00 (311.00s total)

-------------------------------------------------------------------------------
Creating S version (120 / something) thumbs (5 of 5) ... please wait
.counting M thumbnails... all 6703 found..creating S size ..finished in: 0:9:7.0
0 (547.00s total)
.counting S thumbnails (final count)... only 5187 found (6703 expected)
-------------------------------------------------------------------------------
Cleaning up (removing temporary files)... done

-------------------------------------------------------------------------------

Thumbnails of your 6703 images in z:\something (and it's subdirectories) shou
ld have been created (with quality: 80).
Size : Count
-----------------
1280 : 6703
800 : 6703
640 : 6703
320 : 6703
120 : 5187

Total : 31999
Error?! Mismatch of expected and created thumbs!
It should have been: 33515!
One or more errors occured. Probably cause: Special characters exist in folder-
and filenames! You may rename directories and files before, rename them back aft
erwards - this should avoid the error.

Your results are in h:\y\2007 (and it's subdirectories)

Complete conversion took: 2:28:02.00 (8882.00s total)

Olaf
 

pfanni

Benutzer
Mitglied seit
09. Sep 2012
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Das Konvertieren habe ich verstanden. Nun habe ich die ganzen @eadir-Ordner in dem entsprechenden Pfad liegen.
Soll ich nun diese in mein Verzeichnis auf den DiskStation kopieren?
Werden dabei die alten Miniaturbilder überschrieben?
Wie ist sichergestellt dass die Attribute der Ordner stimmen (unsichtbar etc.)?
Was ist mit Videos?
 

ong10

Benutzer
Mitglied seit
20. Mai 2010
Beiträge
262
Punkte für Reaktionen
3
Punkte
18
Hallo,

ich drücke mich mal vorsichtig aus:
- Irfanview hat nun Thumbnails für JPG Dateien erzeugt. Wenn schon welche in @eaDir vorhanden waren - werden die eben überschrieben.
- Videos bleiben unangetastet - aber da hierfür keine Verzeichnisse/Dateien von irfanviwe erzeugt wurden geschieht den (schon vorhandenen) Thumbs davon auch nichts.
- Dir in deinem Zielverzeichnis vorhandenen @eaDir 's musst du nun tatsächlich auf die DS kopieren. Beispiel:
Source war "z:\test" ( /photo/test als Z: gemounted)
Target war "c:\ersterversuch"
Mein Script hat nun "c:\ersterversuch\1234\@eaDir" erzeugt (die 1234 ist die zufällige ID). Du kopierst nun
c:\ersterversuch\1234\@eaDir nach z:\test . Wenn ich es richtig sehe versteckt die DS die @eaDir Verzeichnisse automatisch (die Attribute die du meinst.) Auf der DS kannst du dann aber in das Verzeichnis wechseln und auf in die Unterordner (mit den Thumbs) browser. Einfach im Explorer
z:\test\@eaDir eingeben ... Du landest im Verzeichnis - obwohl es im Explorer nicht - wohl aber mit WinSCP - angezeigt wird.

Olaf
 

Versum

Benutzer
Mitglied seit
18. Sep 2012
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo,

Erstmal danke für dieses hilfreiche Tool. Hatte es jetzt ein paar mal laufen und konnte nachdem ich immer wieder Sonderzeichen entfernt hatte mehr und mehr Thumbs erzeugen. Da aber immer noch 25000 übrig sind möchte ich gern die Konvertierung einschränken und auf einzelne Folder beschränken. Ist das irgend wie möglich? Wenn ich einen Pfad angebe bricht das Programm nach kurzer ab?

Viele Grüße
 

ong10

Benutzer
Mitglied seit
20. Mai 2010
Beiträge
262
Punkte für Reaktionen
3
Punkte
18
Hallo,
du kannst als Source Pfad auch ein Unterverzeichnis angeben.
Bsp: /photo findest du bei dir gemappt als z:
Wenn du nun die Bilder aus z:\irgend\was\hier\ist\ganz\toll nehmen willst, gibst du als source eben
set source=z:\irgend\was\hier\ist\ganz
an.
Wenn Irfanview abbricht, kann es wahrscheinlich einzelne Bilder a) wegen Sonderzeichen in Pfad/Dateinamen oder b) da Bild defekt nicht lesen. Derzeit gibt es keinen Weg Irfanview (v4.33) zu bewegen dennoch weiter zu machen.
Aber: Ich hab mir so geholfen. Lass Irfanview einfach mal die Thumbnails ("T" drücken in z:\irgend\was\hier\ist\ganz\ ) - und zwar auch die der Unterverzeichnisse (kann man im Thumbnails-Fenster-Menü einstellen). Dann hat Irfanview zwar alle Bilder einlesen müssen, ich konnte aber sehen welches nicht gelesen werden konnte (rot-grünes "Stoppschild"). Außerdem hatten bei mir (ich nehme an auf Grund von Kopierfehlern) 2 Bilder die Dateigröße 0 byte - das ging natürlich auch nicht....es reicht also vielleicht sogar das Sortieren nach Größe (im Windows Explorer)? Wenn du TotalCommander verwendest, kannst du da ja auch einfach mit ALT-F7 mal alle JPG Dateien in deinem z:\irgend\was\hier\ist\ganz\ suchen lassen und das Ergebnis nach Größe sortieren - ist sicherlich einfacher als mit Windows Explorer.

<Edit 1>
PS: Ich habe bei mir auch noch etliche Bilder (absichtlich) nicht mit dem Script bearbeiten lassen: Die Quelldatei war ggf. größer als die Thumbs. Man könnte das zwar noch einbauen - war mit aber zu viel Arbeit - und ist heute auf Grund der vielen Megapixel Digicams wohl auch nicht unbedingt notwendig (da die Zahl der "kleinen" Bilder in Zukunft auch weiterhin abnehmen wird).
</Edit 1>

Olaf
 

docschelm

Benutzer
Mitglied seit
11. Jul 2012
Beiträge
122
Punkte für Reaktionen
0
Punkte
16
Hallo Olaf,

ich möchte mich ganz herzlich bei Dir (und sicherlich auch anderen, ungenannten Personen) für die Idee und die Mühe bedanken !!!

Du hast mir und sicherlich allen anderen Usern sehr viel Zeit erspart.

Gruß Robert
 

ong10

Benutzer
Mitglied seit
20. Mai 2010
Beiträge
262
Punkte für Reaktionen
3
Punkte
18
Hallo,

danke für das Feedback. Würde mich wirklich interessieren wie viele Thumbs damit mittlerweile erstellt wurden und auf verschiedenen DS landen.

Noch ein Nachtrag zur Größe:
Mein Script erstellt 5 Thumbs für alle JPGs, d.h. aber auch für kleine JPGs.
Beispiel:
Ein JPG das nur 128x135 groß ist erhält 5 Thumbs mit den jeweiligen Größen 1280x1135, 800x710, 640x568, 320x284, 120x107 - der aufmerksame Leser wird sich denken ... oops ... da stimmt etwas nicht. Richtig! Das Bild erhält Thumbs deren Größe tatsächlich größer ist als das Ursprungsbild. Warum - und .. wie löst die DS das?

Die DS löst das Problem "kleiner" Bilder wie folgt:
Angenommen ein Bild dessen Größe 300x265 px beträgt. Die DS erzeugt folgende Thumbnails:
XL, L, B: 600x532
M: 320x284
S: 120x106.

Also nur das kleinere Thumb (hier: S) erhält die erwartete Größe, das nächstgrößere (in diesem Fall B - was 320x? sein sollte) auch. Die restlichen, noch größeren werden so erstellt, dass deren längste Seite die doppelte Länge des Ursprungsbildes hat. Warum das so geschieht verstehe ich nicht ganz, wohl, damit der Nutzer auf dem Thumb auch noch etwas erkennt ... naja, wohl doch eher Klötzchen.

Warum ignoriert mein Script die Größe?
Es ist einfacher - und viel viel schneller! Irfanview kann zwar die Größe einzelner Bilder in die Umgebungsvariable von DOS überführen - aber das dauert! Hierzu muss Irfanview nämlich für jedes Bild neu geladen werden (größter Zeitfaktor), das Bild muss geladen werden, die Größe geprüft, dann ggf. verkleinert. Hier sind neben dem Neuladen von Irfanview für jedes einzelne Bild (in meinem Beispiel ganz oben also 6703 Mal) kommen neue Schritte hinzu. Das Verkleinern würde dann anders laufen: Da jedes Bild schon einmal geladen ist, würde man hergehen und es zunächst auf das größte Thumb verkleinern, dann speichern, dann verkleinern .... oh, stopp, das wiederum geht auch nicht! Irfanview kann ein Bild in Batchkonvertierung nur 1x speichern. Ggf. müsste Irfanview also nicht nur 6703 Mal geladen werden, sonder für alle Thumbs.
Daher: Egal. Gibt's eben große Thumbs auch für kleine Bilder.

Olaf
 

Versum

Benutzer
Mitglied seit
18. Sep 2012
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo Olaf,

danke für die schnelle Antwort und jetzt klappt es auch mit den erzeugen der Thumbs einzelner Ordnern. Nun habe ich die @eaDir in die jeweiligen Ordner kopiert aber die DS ignoriert diese Thumbs scheinbar, auch nach Neustart. Jedenfalls werden sie nicht angezeigt. Kann es vielleicht am Namen liegen? Die von der DS erzeugten haben diese Dateinamen:
SEUL8O~0.JPG
SEUL8O~H.JPG
SEUL8O~U.JPG
SEUL8O~V.JPG
STRU1O~D.JPG

und die von deinem Script haben diese:

SYNOPHOTO%3ATHUMB_B.jpg
SYNOPHOTO%3ATHUMB_L.jpg
SYNOPHOTO%3ATHUMB_M.jp
SYNOPHOTO%3ATHUMB_S.jpg
SYNOPHOTO%3ATHUMB_XL.jpg


Viele Grüße Holger
 

docschelm

Benutzer
Mitglied seit
11. Jul 2012
Beiträge
122
Punkte für Reaktionen
0
Punkte
16
Hallo,

danke für das Feedback. Würde mich wirklich interessieren wie viele Thumbs damit mittlerweile erstellt wurden und auf verschiedenen DS landen.

Olaf

Och, auf meiner 212j waren es gestern um die 500 für den Anfang :=)
 

ong10

Benutzer
Mitglied seit
20. Mai 2010
Beiträge
262
Punkte für Reaktionen
3
Punkte
18
Hallo,

wenn ich meine Dateien zur DS überspiele wird aus SYNOPHOTO%3ATHUMB_L.jpg <-> SYNOPHOTO:THUMB_L.jpg - das ist bei mir (DS411, DSM 4.1-2636) richtig (s. Bilder unten).

Aber: Ich habe hier Testbilder die die gleichen Namen haben wie deine. Woher ich die habe/wie erzeugt habe weiß ich aber nicht mehr. Meine Testbilder waren allerdings KLEINER als die regulären Thumbgrößen.
Liegt es bei dir vielleicht daran? Ich glaube ich habe diese Thumbnails vom DS Assistant erstellen lassen, d.h. damit die Testbilder hochgeladen (um zu sehen was der so erzeugt).
Lass uns mal auf Fehlersuche gehen.

Auch:
Wie überträgst du deine Bilder?
Welche DS?
Welche DSM Version?
Wenn's nur an den Namen liegt, können wir mit einem kleinen Batch die Dinger entsprechend benennen.


WinSCP Einstellungen
winscp1.jpg

Fehler ignorieren:
winscp2.jpg

Transfer von DS zu Windows (von rechts nach links)
winscp3.jpg

Olaf
 
Zuletzt bearbeitet:

ong10

Benutzer
Mitglied seit
20. Mai 2010
Beiträge
262
Punkte für Reaktionen
3
Punkte
18
Hallo,

Nachtrag: Vielleicht einfach mal im Script die Zielnamen ändern:
Suchen und ersetzen von .... gegen ...
STRU1O~D.JPG ... SYNOPHOTO%%3ATHUMB_XL.JPG
SEUL8O~V.JPG ... SYNOPHOTO%%3ATHUMB_L.JPG
SEUL8O~H.JPG ... SYNOPHOTO%%3ATHUMB_B.JPG
SEUL8O~U.JPG ... SYNOPHOTO%%3ATHUMB_M.JPG
SEUL8O~0.JPG ... SYNOPHOTO%%3ATHUMB_S.JPG

Olaf
 

Versum

Benutzer
Mitglied seit
18. Sep 2012
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe ein DS212J mit Software Version DSM4.1-2636. Die Fotos habe ich mit dem Speedcommander rüber kopiert und es sind ca.49000 wovon die hälfte von DS konvertiert ist.

Nun habe ich die Batchdatei mit den neuen Dateinamen geändert aber die DS nutzt die neuen Thumbs wieder nicht?

Viele Grüße
 

Versum

Benutzer
Mitglied seit
18. Sep 2012
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Nachtrag:

Ich habe erst jetzt gesehen dass nur eine Thumb pro Bild erzeugt wird. Wahrscheinlich muß das Script noch mehr angepasst werden eventuell mit den Set Befehlen bei der Größe?
 

docschelm

Benutzer
Mitglied seit
11. Jul 2012
Beiträge
122
Punkte für Reaktionen
0
Punkte
16
Moin Ihr beiden,

bei mir klappts. Selbe DS wie Versum, 212j mit DSM 4.1-2636.
Zum Übertragen vom PC auf die DS nutz ich auch WinSCP, da ich beim WinCommander das
@eaDir irgendwie nicht angezeigt bekomme.
Ich melde mich allerdings nicht als root als Benutzer bei WinSCP an, sondern als admin.
Photostation nutzt die Thumbs einwandfrei.
Ich tippe darauf, dass bei Versum durch das kopieren irgendwie die Namen verändert werden.

29eadir.jpg
 

Versum

Benutzer
Mitglied seit
18. Sep 2012
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo Robert,

du benutzt also den original Script von Olaf? Ach ja und ich habe bis jetzt immer mit dem Speedcomander kopiert, werde aber das FTP Programm ausprobieren.

Viele Grüße Holger
 

docschelm

Benutzer
Mitglied seit
11. Jul 2012
Beiträge
122
Punkte für Reaktionen
0
Punkte
16
Hallo Holger,
ja, nutze es so wie Olaf es schrieb.
Auch das Ftp Programm. Du musst den @eaDir-Pfad von Hand einfügen, damit Du da hineinkommst.
(Jedenfalls kenn ich keinen anderen Weg :=) )
ea.jpg
 

Versum

Benutzer
Mitglied seit
18. Sep 2012
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo Robert,

Vielen Dank für die Screenshots das ist sehr hilfreich. Ich hoffe dass ich es heut Abend gleich testen kann.

VG Holger
 

ong10

Benutzer
Mitglied seit
20. Mai 2010
Beiträge
262
Punkte für Reaktionen
3
Punkte
18
Hallo Holger,

zu WinSCP - ich bin begeistert (und habs auch bezahlt) von TotalCommander - aber irgendwie konnte ich keine vernünftige Verbindung zur DS aufbauen. Ich kann zwar per Hand in @eaDir wechseln ... war mir aber zu komisch. Daher schnell WinSCP Portable runtergeladen - Login (als SCP) klappt.
Wenn ich die Thumbs dann übertragen will, reicht es bei mir einfach die Verzeichnisse von lokal zu DS per Drag&Drop zu ziehen. Per Hand anlegen muss ich dann nichts mehr.

Auch das Ftp Programm. Du musst den @eaDir-Pfad von Hand einfügen, damit Du da hineinkommst.

Olaf
 

Versum

Benutzer
Mitglied seit
18. Sep 2012
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

jetzt klappt es bei mir auch Hurra :) Ich muß wirklich WinSCP benutzen und die original (Script) Files von Olaf. Der Speedcommander muß wohl die Dateien verändern oder macht irgendwas mit den Dateien und die DS kann sie nicht lesen.

So, habt vielen vielen Dank für euere Tipps,

hab gleich mal 3000 Bilder konvertiert und morgen gehts weiter:D
 

docschelm

Benutzer
Mitglied seit
11. Jul 2012
Beiträge
122
Punkte für Reaktionen
0
Punkte
16
Olaf,

ziehst Du per Drag&Drop das komplettte EA Dir von Lokal zur DS?
In dem Moment, wo man Fotos auf die DS lädt, fängt sie doch schon an Thumbs
zu generieren. Werden die automatisch überschrieben, meine Sorge wäre, dass man 2 eaDirs dann hat.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat