Syncplay ist ein Client-Server Programm, das es ermöglicht, den Abspielstatus eines Media-Players über den Syncplay-Server zu synchronisieren. Dies ist dann nützlich, wenn man mit Freunden über weite Distanz im Skype, Teamspeak oder Mumble zusammen einen Film anschauen möchte. Dabei wird lediglich der Status des Players synchronisiert nicht die Videodatei. Syncplay selbst ist in Python geschrieben und für Windows, Linux und OSX(Eingeschränkt, siehe Website) erhältlich.
Als Zentraler Punkt für den Syncplay-Server eignet sich Uberspace, da sich dort alle beteiligten einfach verbinden können.
Installation:
Für Syncplay gibt es ein git Repository, von dem der aktuelle Entwicklungstand heruntergeladen werden kann. Alternativ kann die aktuellste Version auch als Zip-Datei heruntergeladen und auf dem Uberspace entpackt werden. Ich beschreibe hier lediglich den weg über git, da dieser einfacher ist und lediglich ein paar Befehle in der Shell benötigt werden.
Für die Verwaltung von git Repository ist es sinnvoll einen eigenen git Ordner im Home Verzeichnis zu erstellen.
mkdir ~/git cd ~/git
Nun kann der aktuellste Entwicklungsstand mit folgendem Befehl heruntergeladen werden.
git clone https://github.com/Syncplay/syncplay.git
Anschließend hat man den aktuellsten Entwicklungsstand von Syncplay im ~/git/syncplay Ordner. Es ist sinnvoll diesen nicht direkt zu verwenden, da er Fehler oder unvollständige Funktionen enthalten kann. Stattdessen sollte auf den letzten Release gewechselt werden (Aktuell Version 1.3.1).
cd ~/git/syncplay git checkout 1.3.1
Der Hinweis von git kann ignoriert werden, da keine Änderungen an den Server-Dateien vorgenommen werden müssen.
Bevor nun der Server testweise gestartet werden kann muss noch das Python-Framework Twisted installiert werden.
easy_install-2.7 -U twisted
Starten:
Jetzt kann der Server testweise gestartet werden, um zu überprüfen, ob alles richtig installiert wurde.
python2.7 syncplayServer.py
Folgende Meldung signalisiert einen erfolgreichen Start:
Welcome to Syncplay server, ver. 1.3.1
Ports:
Noch ist der Server von außen nicht erreichbar, weil bei Uberspace die Ports zu sind.
Um einen Port Freigeschaltet zu bekommen, bedarf es einer E-Mail an den Uberspace Support. Der Bereich für Ports ist zwischen 61000 und 65535.
Weitere Erläuterungen zu Ports gibt es im Uberspace Wiki.
Service:
Nachdem der Port freigeschaltet wurde, muss noch ein Service erstellt werden, damit der Syncplay-Server komfortabel im Hintergrund läuft.
Dafür wird daemontools verwendet, es ist sinnvoll sich vorher die Dokumentation zu daemontools im Wiki anzuschauen.
Falls das Service Verzeichnis noch nicht vorhanden ist, kann es mit folgendem Befehl aktiviert werden:
test -d ~/service || uberspace-setup-svscan
Anschließend kann der Service (syncplay) eingerichtet werden, für den Platzhalter <PORTNUMMER> muss die von Uberspace zugeteilte Portnummer eingesetzt werden.
uberspace-setup-service syncplay "python2.7 ~/git/syncplay/syncplayServer.py"
Das nun erstellte run Script muss anschließend unbedingt angepasst werden, hierfür muss die Datei mit einem Texteditor geöffnet werden.
nano ~/service/syncplay/run
Das erstellte run-Script (<USER> ist der verwendete Uberspace Benutzername) :
[...] # Now let's go! exec /usr/local/bin/python2.7 /home/<USER>/git/syncplay/syncplayServer.py 2>&1
Zeile 3 und 4 (Befinden sich im run-Script ganz am Ende) müssen zu einer Zeile zusammengefasst werden und um den Port Parameter erweitert werden:
[...] # Now let's go! exec /usr/local/bin/python2.7 /home/<USER>/git/syncplay/syncplayServer.py --port <PORTNUMMER> 2>&1
Anschließend kann der Service mit folgendem Befehl neu gestartet werden:
svc -du ~/service/syncplay
Nun sollte der Syncplay-Server unter dem konfigurierten Port erreichbar sein.
Update
Um den Syncplay Server zu Aktualisieren, muss zuerst in den Syncplay Ordner navigiert werden, anschließend auf den aktuellen Stand gewechselt werden.
Dann kann ein Update durchgeführt und danach wieder auf das letzte Release gewechselt werden (<RELEASE>).
Zum Abschluss den Service neu starten.
cd ~/git/syncplay git checkout master git pull git checkout <RELEASE> svc -du ~/service/syncplay
Viel Spaß beim gemeinsamen Videoabend.