Thumbnailerzeugung beschleunigen: Unterschied zwischen den Versionen

Aus
Zeile 34: Zeile 34:
*optware/IPKG installiert
*optware/IPKG installiert


== Dienst einrichten ==
== Skripte einrichten ==
Bitte die Skripte als Paket hier runter laden:
 
LINK
 
und den inhalt in der public-Freigabe in folgenden Verzeichnis entpacken:
 
<pre>
root\convert
</pre>
 
oder auf der Syno unter
 
<pre>
\volume1\public\root\convert
</pre>
 
 
 
 
AB HIER ALT, BITTE NICHT BERÜCKSICHTIGEN:
alles was zu tun ist, ist im Verzeichnis /opt/etc/init.d eine Datei z.B. namens S99thumb.sh mit folgendem Inhalt erstellen:
alles was zu tun ist, ist im Verzeichnis /opt/etc/init.d eine Datei z.B. namens S99thumb.sh mit folgendem Inhalt erstellen:
<pre>
<pre>

Version vom 2. September 2012, 05:58 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

Es gibt hierzu verschiedene Möglichkeiten, die ich kurz aufzählen möchte:

- Entfernung der "unsharp"-option aus den Berechnungsparametern der Thumbnailberechnung.

- Hinzufügen des Parameters "-filter point" (was wohl das Bild weicher macht, bisher nicht groß bemerkt)

- Statt Berechnung eines Thumbnails einfach die Verlinkung auf die Orginal-Datei oder den nächst größeren Thumbnail. (Nebenwirkungen sind zu prüfen)

- Zur Berechnung des Thumbnails nicht die (mehrere MB große) Orginal-Datei nutzen, sondern den nächst größeren Thumbnail.


Ich folgende Skript setzt alle diese Wege um, um den Geschwindigkeitsgewinn zu maximieren. Auch wenn dabei eine Beschleunigung um den Faktor 5 zu erreichen ist, kann die Erzeugung immer noch Tage oder Wochen dauern, aber immer noch besser wie Monate. Es ist offensichtlich, dass sich manche Optionen gegenseitig ausschließen, daher sollte das den Wünschen entsprechend konfiguriert werden. Welche Thumbnailgröße für was benötigt wird kann man oben nachlesen und das reiche if evtl. auch noch hier nach.

Bewirken sollen die Änderungen, dass bei der Berechnung weniger Floatingpoint-Berechnungen durchgeführt werden, worin die einfachen DS ohne Coprozessor ziemlich langsam sind. Es liegt auch ein Script zur Performance-Messung bei, so dass man direkt Prüfen kann, wo man mit seinen Parametern steht. Ihr könnt gerne auch ein paar Benchmarks im Forum posten.

Alles was jetzt kommt habe ich auf einer DS212+ mit DSM4.0 getestet und es scheint zu funktionieren. Ob dies auch in anderen Situationen funktioniert kann ich im Moment nicht sagen. Die Installationsroutine lässt sich aber auch zur Deinstallation verwenden.

Die Anwendung erfolgt jedoch auf eigenes Risiko, schließlich mache ich das hier nur als Hobby!

Das alles ist noch beta, Tester und Feedback willkommen!

Voraussetzungen

Je nach Ort der Autostart-Datei evtl.:

  • optware/IPKG installiert

Skripte einrichten

Bitte die Skripte als Paket hier runter laden:

LINK

und den inhalt in der public-Freigabe in folgenden Verzeichnis entpacken:

root\convert

oder auf der Syno unter

\volume1\public\root\convert



AB HIER ALT, BITTE NICHT BERÜCKSICHTIGEN: 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.