Geordnete TwonkyServer Installation auf der Dreambox

Der TwonkyServer (formerly known as Twonky Media Server) ist eigentlich ganz einfach mit ein paar Mausklicks auf der Dreambox zu installieren. Allerdings richtet die Standardinstallation mit nassetup.exe ein derartiges Durcheinander an, dass man auf Dauer damit kaum glücklich werden kann.

So werden die Programmdateien auf der Festplatte abgelegt, während die Datenbank im Flashspeicher ihren Platz findet. Da letztere auch temporäre Dateien und den Cache enthält, kann es im Betrieb dann doch irgendwann zu ganz seltsamen Nebeneffekten kommen, z.B. wenn der TwonkyServer mal eben zwei Gigabyte trancodierten Film in seinem Cache ablegen will.

Im folgenden wird gezeigt, mit welchen Schritten man eine geordnete Installation des TwonkyServer auf der Dreambox hinbekommt.

Entweder die leichte Tour…

Ich habe ein kleines Script geschrieben, das man mit diesen zwei Zeilen herunterladen und ausführen kann:

wget http://dreamrivers.net/files/install_twonky.sh
sh install_twonky.sh

(Für die Installation von Twonky Server 7 gibt es ein eigenes Script.)

Das Script lädt die Original-Programmdateien vom Twonky-Forum Webserver und legt alles so an, das es passt.

…oder die harte Tour

Im folgenden will ich ausführlich beschreiben, was das Script genau macht. Das alles kann man mit etwas Zeit natürlich auch „zu Fuß“ nachvollziehen.

1. Programmdateien suchen und herunterladen

Der Weg zum Download der aktuellen Version ist schon etwas verworren. In den Hinweisen für Twonky Legacy Users findet sich in der Mitte ein Download Link, der zu einer Übersicht führt, von der aus (hoffentlich) auf die aktuelle TwonkyServer NAS Version geleitet wird.

Der Link zur letzten von TwonkyServer 6 verfügbaren Version 6.0.39 (Stand Januar 2013) ist:

http://www.twonkyforum.com/downloads/6.0.39/

Durch Verändern der Versionsnummer im Link kommt man auch auf viele ältere Versionen (falls man feststellt, dass die Twonkyaner in ihrem Produkt irgendwas verschlimmbessert haben).

http://www.twonkyforum.com/downloads/6.0.34/

Für eine Dreambox mit MIPS Prozessor wird dieses Download benötigt:

  • Linux MIPS little endian glibc 2.3.2

Ich verwende absichtlich nicht das von Twonky für die Dreambox 7025 zusammengestellte Paket, sondern das hier genannte allgemeine Paket, weil nur dieses mit der richtigen glibc gebunden ist.

2. Programmdateien auf die Dreambox spielen

Auf das Programm nassetup.exe wollen wir aus den schon genannten Gründen lieber verzichten.

Alle Dateien aus dem heruntergeladenen Programmpaket werden auf den Flashspeicher der Dreambox kopiert. Der Standard-Installationspfad für Linux wäre /usr/local/twonkymedia. Da auf der Dreambox der /usr/local Pfad überhaupt nicht eingerichtet ist, verwenden wir das verkürzte Verzeichnis /usr/twonky.

3. Programmpfad einstellen

Im Programmpaket enthalten ist auch das Script twonkymedia.sh, mit dem der TwonkyServer gestartet und gestoppt werden kann. In diesem Script muss allerdings noch der Programmpfad korrekt eingestellt werden:

WORKDIR1="/usr/twonky"

4. Pfade für Datenbank und Konfigurationsdatei einstellen

Um den Datenbankpfad richtig einzustellen, sollte man den TwonkyServer Deamon mit dem Parameter -appdata versehen. Die Konfigurationsdatei wird aus dem Pfad gelesen, der durch den Parameter -inipath vorgegeben wird. Zum Einstellen beider Pfade ist ebenfalls die twonkymedia.sh etwas zu ergänzen:

echo -n "Starting $TWONKYSRV ... "
"$TWONKYSRV" -D -appdata "/media/hdd/twonkydb" -inipath "/usr/twonky"

Wenn die Datenbank auf der Festplatte liegen soll, bietet sich der Pfad /media/hdd/twonkydb an.

5. Script für die Route erstellen

Damit der TwonkyServer läuft, muss eine bestimmte interne Route gesetzt sein. Um diese Route zu setzen legen wir ein kleines Script mit dem Namen twonkyroute.sh an:

#!/bin/sh
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0

6. Berechtigungen einstellen

Anschließend werden nur noch die Berechtigungen zum Ausführen gesetzt:

cd /usr/twonky
chmod +x twonky* cgi-bin/* plugins/* resources/*

7. Startscripte einrichten

Sowohl twonkyroute.sh als auch twonkymedia.sh sollen natürlich bei jedem Neustart ausgeführt werden, damit der TwonkyServer auch läuft. Dazu werden im Runlevel 3 die entsprechenden Links angelegt.

ln -sfn /usr/twonky/twonkymedia.sh /etc/rc3.d/S97twonkymedia
ln -sfn /usr/twonky/twonkyroute.sh /etc/rc3.d/S96twonkyroute

8. Initial-Pfade konfigurieren

Der TwonkyServer liest seine Konfiguration aus der Datei twonkymedia-server.ini. Diese Konfigurationsdatei könnte auch im Datenbankpfad (/media/hdd/twonkydb) liegen. Da die Dreambox normalerweise aber nicht von der Festplatte bootet sondern vom Flashspeicher, sollte man die Konfigurationsdatei ebenfalls im Flashspeicher unterbringen. Der Einfachheit halber bietet sich der Programmpfad "/usr/twonky" an.

Damit auch alle vom TwonkyServer verwalteten Daten ihren geordneten Platz haben, muss man bei der Erstinstallation eine twonkymedia-server.ini anlegen und darin die Pfade schon mal genau vorgeben:

friendlyname=%HOSTNAME%
contentbase=/media/hdd
contentdir=+V|/movie
dbdir=/media/hdd/twonkydb/db
cachedir=/media/hdd/twonkydb/db/cache
servermanagedmusicdir=/media/hdd/twonkydb/media/music
servermanagedpicturedir=/media/hdd/twonkydb/media/pictures
servermanagedvideodir=/media/hdd/twonkydb/media/videos

Diese Konfigurationsdatei twonkymedia-server.ini wird vom TwonkyServer gelesen und schon beim ersten Start komplett neu formatiert.

9. TwonkyServer starten

Zum Starten sind zuletzt nur noch die beiden Sctipts auszuführen:

sh /usr/twonky/twonkyroute.sh
sh /usr/twonky/twonkymedia.sh start

10. Fertig

Das Webinterface des TwonkyServer ist auf dem Port 9000 zu erreichen.

Will man den TwonkyServer dauerhaft betreiben, muss man sich eine Lizenz zulegen. Die kostet im Onlineshop derzeit 14,95 €.

Advertisements

21 Gedanken zu „Geordnete TwonkyServer Installation auf der Dreambox

  1. Klasse! Hat wunderbar funktioniert. Eine Frage: Wie kann ich den Twonkyserver automatisch, beim neustart von der Dreambox, mitstarten lassen? Danke schön!

  2. Bei mir läuft der TwonkymediaServer auch sehr gut, habe aber dazu noch 2 Fragen:

    Wie erstelle ich einen cronJob, der den Twonky zu einer bestimmten Zeit einschaltet und ebenfalls zu einer anderen Zeit ausschaltet?

    Kann der Twonky auch divX auf der PS3 zu abspielen bringen?

    • Mir ist nicht so ganz klar, warum Du den Twonky ein- und ausschalten willst, aber die crontab könnte ganz einfach so aussehen:
      #M S T M W Befehl
      0 17 * * * /usr/twonky/twonkymedia.sh stop #Twonky stoppen
      0 19 * * * /usr/twonky/twonkymedia.sh start #Twonky starten

      Zur zweiten Frage: wenn die PS3 diese DIVX Dateien prinzipiell abspielen kann (z.B. per USB-Stick), dann sollte es auch über den Twonky gehen. Das kann man nur ausprobieren.

    • Meines Wissens geht das mit Twonky leider nicht.
      Allerdings soll das mit MediaTomb irgendwie funktionieren (lies mal den verlinkten Thread durch).
      Für mich märe MediaTomb auch die erste Wahl gewesen (weil Open Source), war aber nicht zu gebrauchen, weil es mit dem Sony Bravia Fernseher einfach nicht zusammen funktionieren wollte. Das MediaTomb Projekt schein zudem einigermaßen tot zu sein, das letzte Release ist zwei Jahre alt.

  3. Zuerst vielen Dank für das Skript!

    Allerdings hab ich ein kleines Problem. Egal ob ich versuche die 6er oder die 7er Version mit deinem Skript zu installieren, ich bekomme immer folgenden Fehler beim Starten von Twonky:

    Starting /usr/twonky/twonkymedia … /usr/twonky/twonkymedia: line 1: syntax error: unexpected „(“

    Den Download habe ich auskommentiert, nachdem Twonky den Download nicht mehr direkt anbietet. Die entsprechende Datei hab ich direkt mit in das /tmp Verzeichnis zum Installationsskript gelegt.

    Habe ich eine beschädigte Datei oder mache ich was falsch?

    Vielen Dank schon jetzt für jegliche sachdienliche Hinweise! 🙂

    • Hast recht, war das falsche Paket. Dein Skript hat auf meiner DM7025 eine PowerPC Prozessor erkannt und ich hab den Fehler nicht bemerkt. Das mipsel Paket genommen und schon klappt´s!
      Happy Weekend und nochmal danke!

  4. Danke für die Links. Hab schon gelesen das da die Stimmung im Moment nicht so gut sein soll. Kann aber auch nicht sein, immerhin bezahlt man dafür, also muss man auch Sicherstellen als Hersteller das die Download-Seite verfügbar ist.

  5. Hallo ich habei die Version Version 4.4.18 installiert. Bin soweit auch zufrieden, ausser, dass bei mir der Twonky Server nach einem Dreambox restart keine Daten findet. erst wenn ich dann den Twonky restarte findet er die Daten. An was kann das liegen ? Anscheinend startet bei mir der Twonky Server früher als die Festplatte mit der Musik gemountet ist. Kann ich den Twonky so einstellen, dass er serst nach z.Bsp. 2 Minuten nach Start der Dreambox startet ? ( ich habe das auch schon im ihad Forum gepostet, aber da hat leider keine Lösung für mein Problem.

    • Zu Macken der (recht alten) Version 4.4.18 vermag ich leider nichts zu sagen. Der Start des Deamons erfolgt aber sowieso erst ganz am Ende des Bootvorgangs, insofern sollte die HD da eigentlich längst gemountet sein.
      Du kannst testweise aber mal eine künstliche Pause in das Startscript einbauen. Der Befehl dafür heißt z.B. „sleep 60“, damit wartet die Scriptausführung 60 Sekunden. Das müsste dann etwa so aussehen (/usr/twonky/twonkymedia.sh):
      ...
      echo -n "Starting $TWONKYSRV ... "
      sleep 60
      $TWONKYSRV -D -appdata "/media/hdd/twonky" -inifile "/usr/twonky/twonkyserver.ini"
      ...

      • Hallo – die Wartezeit hat leider nichts gebracht. Gibt es keine Möglichkeit den Restart Befehl des Webinterfaces programmtechnisch in die Dreambox einzubauen ?

      • Weiß ich leider nicht. Ich würde aber raten, es am bestem mal mit der aktuellen Version zu versuchen. Vielleicht gibts da dieses Problem nicht mehr.

      • So – ich habe jetzt wieder die aktuelle 7er Version installiert – auch hier geht der autostart nicht – das ist ja wie verhext !

  6. Ich habe mir jetzt folgendermassen geholfen:

    im /etc/init.d ein Scriptfile „script.sh“ mit folgendem Inhalt angelegt:
    „/usr/twonky/twonkymedia.sh restart“

    und im
    /etc/rc3.d einen Link:
    S99sript.sh -> /etc/init.d/script.sh
    angelegt.

    Jetzt wird der Twonky nach dem Booten der Dreambox einmalig neu gestartet und das Ganze funktioniert wieder.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.