Thumbnailerzeugung beschleunigen: Unterschied zwischen den Versionen

Aus
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
Viele ARM-basierte Synology Diskstations haben keinen numerischen Koprozessor und sind daher sehr langsam bei der Erzeugung der Thumbnails.
Viele ARM-basierte Synology Diskstations haben keinen numerischen Koprozessor und sind daher sehr langsam bei der Erzeugung der Thumbnails.


Früher habe ich hier gezeigt, wie man die Thumbnailerzeugung beschleunigen kann, in dem man z.B. die kleineren Thumbnails aus den größeren berechnen lässt oder indem man Thumbnails ngar nicht erst erzeugt sondern durch Links auf andere Thumbnails oder das Original ersetzt.
Früher habe ich hier gezeigt, wie man die Thumbnailerzeugung beschleunigen kann, in dem man z.B. die kleineren Thumbnails aus den größeren berechnen lässt oder indem man Thumbnails gar nicht erst erzeugt sondern durch Links auf andere Thumbnails oder das Original ersetzt.


Leider hat sich die Umsetzung mit den einzelnen DSM Versionen immer wieder verändert und manche Dinge hat Synology auch selbst ersetzt.
Leider hat sich die Umsetzung mit den einzelnen DSM Versionen immer wieder verändert und manche Dinge hat Synology auch selbst ersetzt.
Zeile 30: Zeile 30:
[http://www.fatlemon.co.uk/2016/12/creating-thumbnails-for-the-synology-dsm-photostation/ http://www.fatlemon.co.uk/2016/12/creating-thumbnails-for-the-synology-dsm-photostation/]
[http://www.fatlemon.co.uk/2016/12/creating-thumbnails-for-the-synology-dsm-photostation/ http://www.fatlemon.co.uk/2016/12/creating-thumbnails-for-the-synology-dsm-photostation/]


== Konfiguration ==
Die Quellen sind hier:


Jetzt kann die Funktion des Patches noch individuell eingerichtet werden.
[https://github.com/phillips321/synothumbs https://github.com/phillips321/synothumbs]


Ich zum Beispiel nutze die Möglichkeit der Verlinkung nicht, da ich ein iPad nutze und daher z.B. die XL-Thumbnails gerne erzeuge, um den Datentransfer zum iPad kein zu halten.
== Ein weiteres Skript, ungetestet ==
Wer aber weiß, was er braucht, könnte durch ein einfachen Verlinken der XL-Thumbnails die Erzeugung nochmals beschleunigen und Speicherplatz auf der Platte sparen.


Alle Einstellungen erfolgen in der Datei /root/convert/convert_patch.pl
[https://www.onderka.com/inhalt/synology-ds414/synology-dsm5-thumbnail-erzeugung-deaktivieren-oder-beschleunigen/ https://www.onderka.com/inhalt/synology-ds414/synology-dsm5-thumbnail-erzeugung-deaktivieren-oder-beschleunigen/]
 
Sie können während der Thumbnail-Erzeugung geändert werden und werden direkt aktiv.
Aber Achtung, keinen Syntax-Fehler einbauen, sonst scheitern die Thumbnails!
 
Dir Konfiguration erfolgt in den ersten 30 Zeilen:
 
<pre>
 
#!/usr/bin/perl -w
 
# Convert-patch V0.81, 2.9.2012 by Anna Konda
# Made for DSM 4.1
 
@new_args = ("-filter","point"); # Where we are going to copy the arguments
#@new_args = ();
$doLnk = 0;    # Flag meaning that we can generate a symbolic link to the original file
$chgSource = 0; # Flag meaning that we have to change the source to the next larger thumbnail.
$copyPath = ""; # The path where we are generation the thumbnails. It comes in the  registry:temporary-path parameter
$date=`date +\%m-\%d`;
$logfile = "/volume1/public/_logs/conv.txt"; # Logfile for warnings
$isRaw=0;      # for RAW-Files no links, since original is no jpg!
$refFile="";    # Reference file for source change.
$targetFile="";
$debug=1;
 
#push @new_args,"-filter";
#push @new_args,"point";
 
for $arg(@ARGV) {
  #Detect the folder of the thumbnails
  if($arg =~ m/^registry.temporary.path./) {
    $copyPath = $arg;
    $copyPath =~ s/^registry.temporary.path.//;
  }
  elsif($arg =~ m/THUMB_RAW.jpg$/){ $isRaw = 1; }
 
#              thumb size  link/calc    change source  to what
  elsif($arg eq "1280x1280"){ $doLnk = 0; $chgSource = 0; $refFile="ORG";                    $targetFile="/SYNOPHOTO:THUMB_XL.jpg"; }     
  elsif($arg eq "800x800")  { $doLnk = 0; $chgSource = 0; $refFile="/SYNOPHOTO:THUMB_XL.jpg"; $targetFile="/SYNOPHOTO:THUMB_L.jpg"; }
  elsif($arg eq "640x640")  { $doLnk = 0; $chgSource = 0; $refFile="/SYNOPHOTO:THUMB_L.jpg";  $targetFile="/SYNOPHOTO:THUMB_B.jpg"; }   
  elsif($arg eq "320x320")  { $doLnk = 0; $chgSource = 0; $refFile="/SYNOPHOTO:THUMB_B.jpg";  $targetFile="/SYNOPHOTO:THUMB_M.jpg";}       
  elsif($arg eq "120x120")  { $doLnk = 0; $chgSource = 0; $refFile="/SYNOPHOTO:THUMB_M.jpg";  $targetFile="/SYNOPHOTO:THUMB_S.jpg"; }                                                           
#  elsif($arg eq "-size") { $arg = "-sample"; } #makes no sense in my optinion and causes bad quality!
 
  push @new_args, $arg;
}
 
</pre>
 
Der aktuelle Stand des Skriptes mag leicht abweichen.
 
Die Zeile mit -filter point setzt einen schnelleren Umrechungsalgo, wenn die Bilder zu schlecht scheinen, kann diese Zeile auskommentiert und die folgende einkommentiert werden.
das debug-flag erzeugt debug-Ausgaben in die log-Datei (/volume1/public/_logs/conv.txt) für jedes Thumbnail. Achtung, dass kann recht viel sein. debug=0 ist aus.
Im unteren Bereich, in den Zeilen mit den Bildgrößen, kann mit $doLnk=1 festgelegt werden, dass das Thaumbnail nicht berechnet wird, sondern nur ein link zu $refFile erzeugt wird. Dies spart Zeit und Platz, die Nebenwirkungen kenne ich noch nicht.
Mit $chgSource kann man festlegen, dass das Thumbnail nicht von der Orginal oder XL-Datei berechnet wird, sondern vom nächstgrößeren Thumbnail. Dies setzt jedoch voraus, dass das nächstgrößere Thumbnail existiert. Diese Funktion bitte im Moment noch nicht nutzen, da ich bei DSM 4.1 die Reihenfolge noch nicht im Griff habe. Außerdem nutzt DSM 4.1 eh schon immer das XL-Thumbnail als Quelle, das ist schon gut.
$targetfile bitte nicht ändern.
 
So das war es schon fast. Beim Debug-output kann man die Rechenzeiten sehen. Man kann aber auch die speed.sh-Routine nutzen, wenn man gerade viele Thumbnails erzeugt. Diese Routine zählt ohne Patch die M-Thumbnails in /volume1/photo, dann wartet sie 600sec und zählt nochmal. Dann hängt sie den Patch wieder ein, zählt nochmal, wartet wieder 600sec und zählt nochmal.
Daraus kann man die Beschleunigung ungefähr abschätzen. Alles klar?
 
Viel Spaß beim Testen, Anna


== Hilfe/Fragen ==
== Hilfe/Fragen ==

Aktuelle Version vom 17. September 2017, 17:05 Uhr

Einleitung

Viele ARM-basierte Synology Diskstations haben keinen numerischen Koprozessor und sind daher sehr langsam bei der Erzeugung der Thumbnails.

Früher habe ich hier gezeigt, wie man die Thumbnailerzeugung beschleunigen kann, in dem man z.B. die kleineren Thumbnails aus den größeren berechnen lässt oder indem man Thumbnails gar nicht erst erzeugt sondern durch Links auf andere Thumbnails oder das Original ersetzt.

Leider hat sich die Umsetzung mit den einzelnen DSM Versionen immer wieder verändert und manche Dinge hat Synology auch selbst ersetzt.

Mir fehlt die Zeit, die Skripte zu aktualisieren und vielleicht bin ich auch geduldiger geworden, mit einer Ausnahme: Wenn man auf einmal sehr viele Bilder auf die Syno kopiert oder aus einer Datensicherung wieder herstellt. Kurz, wenn man plötzlich viele tausend Thumbnails zu erzeugen hat.

Die o.g. Optimierungen wirken da eher homöopatisch, vielleicht halbieren sie auch die Zeit, aber von vielen auf wenige Wochen.

Daher möchte ich hier nur noch auf die verschiedenen Wege hinweisen, die ich im Internet gefunden habe, um mit einem PC o.ä. die Thumbnails zu erzeugen.

Thumbnailerzeugung mit dem Synology Photo Station Uploader

Man kann die o.g. Software von Synology nicht nur zur Übertragung verwenden, sondern auch um Thumbnails zu erzeugen für bereits auf der Syno abgelegte Bilder. Allerdings werden dabei alle Bilder nochmal geschrieben, das ist nicht so schön, verändert das Schreibdatum und macht das ganze wieder langsam . Vorteil: Man kann es einfach unter Windows machen.

Die Quelle ist hier: https://forum.synology.com/enu/viewtopic.php?t=95049

Thumbnailerzeugung mit synothumb.py

Eine gute Beschreibung findet sich hier:

http://www.fatlemon.co.uk/2016/12/creating-thumbnails-for-the-synology-dsm-photostation/

Die Quellen sind hier:

https://github.com/phillips321/synothumbs

Ein weiteres Skript, ungetestet

https://www.onderka.com/inhalt/synology-ds414/synology-dsm5-thumbnail-erzeugung-deaktivieren-oder-beschleunigen/

Hilfe/Fragen

Bei anderen Fragen/Problemen (oder Erfolgsmeldungen) bitte hier http://www.synology-forum.de/showthread.html?25372-Fragen-Diskussion-Feedback-zu-Wikieintrag-Thumbnailerzeugung-convert-beschleunigen&p=204758#post204758 posten.

Quellen

siehe oben.