Thumbnailerzeugung beschleunigen: Unterschied zwischen den Versionen
imported>Jahlives kleine Korrektur weil der Code so sicher nie funzen konnte ;-) |
imported>Jahlives Änderung 4425 von Jahlives (Diskussion) rückgängig gemacht. |
||
Zeile 57: | Zeile 57: | ||
if [ -f thumb.conf.old ] | if [ -f thumb.conf.old ] | ||
then | then | ||
rm thumb.conf | |||
mv thumb.conf.old thumb.conf | mv thumb.conf.old thumb.conf | ||
else | else | ||
Zeile 63: | Zeile 64: | ||
if [ -f thumb_high.conf.old ] | if [ -f thumb_high.conf.old ] | ||
then | then | ||
rm thumb_high.conf | |||
mv thumb_high.conf.old thumb_high.conf | mv thumb_high.conf.old thumb_high.conf | ||
else | else |
Version vom 21. Mai 2012, 20:06 Uhr
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 Performancevergleich 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"-Definitionen 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 case $1 in start) cd /usr/syno/etc.defaults grep -q 'unsharp' thumb.conf if [[ $? -eq 0 ]] then echo gefunden mv thumb.conf thumb.conf.old grep -v unsharp thumb.conf.old > thumb.conf fi grep -q 'unsharp' thumb_high.conf if [[ $? -eq 0 ]] then echo high gefunden 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 rm thumb.conf mv thumb.conf.old thumb.conf else echo restoring thumb.conf.old failed, file not found! fi if [ -f thumb_high.conf.old ] then rm thumb_high.conf mv thumb_high.conf.old thumb_high.conf else echo restoring thumb_high.conf.old failed, file not found! 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.