Thumbnailerzeugung beschleunigen
Einleitung
Im folgenden möchte ich beschreiben, wie man auf einer DS ohne Copozessor die Thumbnailerzeugung der Photo Station beschleunigen kann. Ansonsten kann man beim Einspielen von Fotos auf "kleinen" DS, wie meiner DS210j Tage mit 100% Prozessorlast warten. Alle Hintergrundinfos dazu gibt es hier: http://forum.synology.com/enu/viewtopic.php?f=17&t=37379 und hier: http://forum.synology.com/enu/viewtopic.php?f=17&t=24083 Alles was ich gemacht habe, ist einen Autostart geschrieben, der meiner Meinung nach den besten Weg automatisiert. Bewirken sollte die Änderung, dass bei der Berechnung weniger Floatingpoint-Berechnungen durchgeführt werden, worin die einfachen DS ohne Coprozessor ziemlich langsam sind. Das Skript entfernt hierzu die "unsharp"-option aus den Berechnungsparametern der Thumbnailberechnung. Hier ein Performance-vergleich auf einer 110j aus den obigen Quellen (hier):
time convert -size 800x800 -unsharp 0.5x0.5+1.25+0.0 picture.jpeg picture-converted.jpeg real 1m 17.04s time convert -size 800x800 picture.jpeg picture-converted.jpeg real 0m 4.88s
Das Skript entfernt die unsharp-option automatisch und wiederholt diese Aktion, wenn die Parameter durch ein Update wieder wie vorher sind. Eine weitere Optimierung könnte noch sein, die großen "Thumbnail"-Definitonen zu entfernen. Nachteil ist, dass die Qualität der Thumbnails wohl schlechter wird - habe ich noch nicht getestet, wäre für mich aber im Moment von untergeordneter Bedeutung.
Das alles ist noch beta, Tester und Feedback willkommen!
Voraussetzungen
Je nach Ort der Autostart-Datei evtl.:
- optware/IPKG installiert
Dienst einrichten
alles was zu tun ist, ist im Verzeichnis /opt/etc/init.d eine Datei z.B. namens S99thumb.sh mit folgendem Inhalt erstellen:
#!/bin/sh # V1.0 17.12.2011 case $1 in start) cd /usr/syno/etc.defaults if [ ! -f thumb.conf.old ] then mv thumb.conf thumb.conf.old grep -v unsharp thumb.conf.old > thumb.conf fi if [ ! -f thumb_high.conf.old ] then mv thumb_high.conf thumb_high.conf.old grep -v unsharp thumb_high.conf.old > thumb_high.conf fi /usr/syno/etc/rc.d/S77synomkthumbd.sh stop /usr/syno/etc/rc.d/S77synomkthumbd.sh start ;; stop) cd /usr/syno/etc.defaults if [ -f thumb.conf.old ] then mv thumb.conf.old thumb.conf fi if [ -f thumb_high.conf.old ] then mv thumb_high.conf.old thumb_high.conf fi /usr/syno/etc/rc.d/S77synomkthumbd.sh stop /usr/syno/etc/rc.d/S77synomkthumbd.sh start ;; *) echo "Usage: $0 [start|stop]" ;; esac
Das Skript braucht die Rechte "755", z.B. mit
chmod 755 S99thumb.sh
Wenn das o.g. Verzeichnis nicht vorhanden ist, könnte man es auch unter /usr/syno/etc.defaults/rc.d/ oder /usr/local/etc/rc.d/ ablegen. Ich weiß nicht, in wie weit der Inhalt dieser Verzeichnisse bei einem Diskstation update erhalten bleibt. Also kontrollieren!
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.