From 933ccd346f0a38218491e95a0c8dc28ff667db78 Mon Sep 17 00:00:00 2001
From: undisclosed
Date: Sun, 08 Jan 2023 14:03:01 +0000
Subject: [PATCH] Kleinere Anpassungen

---
 README.md |  194 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 190 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index 86b6378..8dc96e6 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,192 @@
 
-# AV-Direktor
+# Calypso
 
-Eine Anwendung zur Steuerung des Mediaplayers 
-[OMXPlayer](https://www.raspberrypi.org/documentation/raspbian/applications/omxplayer.md) 
-auf einem Raspberry Pi über HTTP.
+Calypso arbeitet als Empfänger von HTTP-Signalen und setzt diese in Kommandos an den [VideoLAN Player](https://www.videolan.org/vlc/) um. Auf diese Weise kann ein Raspberry Pi als Abspieler von anderen Geräten aus fernbedient werden, am Pi selbst ist keine Bedienung erforderlich.
+
+Weitere Infos zu Calypso auf der [Produktseite](https://uhilger.de/data/pg/calypso/).
+
+## Nutzungsvoraussetzungen
+
+Zur Ausführung von Calypso wird eine Java-Ablaufumgebung (Java Runtime Environment, JRE) benötigt. Auf der Kommandozeile des Raspberry Pi kann mit dem folgenden Kommando ermittelt werden ob das JRE vorhanden ist.
+
+```
+java -version
+```
+
+Wenn eine Antwort wie z.B.
+
+```
+openjdk version "11.0.9.1" 2020-11-04
+OpenJDK Runtime Environment (build 11.0.9.1+1-post-Raspbian-1deb10u2)
+OpenJDK Server VM (build 11.0.9.1+1-post-Raspbian-1deb10u2, mixed mode)
+```
+
+erscheint, ist das JRE vorhanden. Andernfalls kann es mit folgendem Kommando installiert werden:
+
+```
+sudo apt-get update
+sudo apt-get install default-jdk
+```
+
+## Calypso erhalten
+
+Der Quellcode von Calypso wird von hier an einen frei wählbaren lokalen Ablageort [heruntergeladen](/gitblit/zip/?r=Calypso.git&format=zip) und entpackt. In der hier folgenden weiteren Beschreibung wird das so entstandene Verzeichnis `Calypso` einschließlich des absoluten Pfades dorthin `$CALYPSO` genannt. Anstelle von `$CALYPSO` würde man also beispielweise `/home/fred/Calypso` notieren, wenn in das persönliche Verzeichnis des Benutzers `fred` heruntergealden und entpackt wurde.
+
+## Programm herstellen
+
+Zur Herstellung des Programmes werden mit Hilfe der wie zuvor beschrieben geladenen Teile die folgenden Kommandos ausgeführt (Beispiel für Linux):
+
+```
+cd $CALYPSO
+mkdir classes
+mkdir dist
+
+$JDK/bin/javac -d classes src/de/uhilger/calypso/*.java src/de/uhilger/calypso/handler/*.java
+
+$JDK/bin/jar -cf dist/calypso.jar -C classes .
+rm -r classes
+```
+
+Das fertig verwendbare Programm liegt anschließend unter `$CALYPSO/dist/calypso.jar`.
+
+## Media-Quellen einrichen
+
+Calypso kann in zwei Betriebsarten gestartet werden:
+
+1. NFS-Client
+1. HTTP-Client
+
+### NFS-Client
+
+Mit dem Parameter `nfs-prefix` spielt Calypso Media-Inhalte aus Quellen ab, die über das Network File System (NFS) eingebunden sind. 
+
+```
+java -jar calypso.jar nfs-prefix="/media/mc" port=9090
+```
+
+In dieser Betriebsart wird dem Inhalt, der beim Abspielen über den Parameter `title` angegeben wird, der Präfix aus dem Parameter `nfs-prefix` vorangestellt. Wird Calypso beispielsweise mit folgendem URL aufgerufen:
+
+```
+http://rpi4-wz:9090/calypso/play?title=/Filme/H/heat.m4v
+```
+
+wird die Datei `/media/mc/Filme/H/heat.m4v` abgespielt. 
+
+#### Betriebsart NFS-Client einrichten
+
+Zur Verwendung Calypsos in der Betriebsart NFS-Client muss der Raspberry Pi die Softwarepakete für den NFS-Client installiert haben. Zudem muss auf dem Raspberry Pi in der Datei `/etc/fstab` ein Eintrag gemacht werden, der die entsprechende Quelle angibt, z.B.
+
+```
+mein-media-server:/media/extssd/mc /media/mc nfs rw 0 0
+```
+
+Welche Quellen für einen solchen Eintrag verfügbar sind lässt sich auf dem Raspberry Pi mit folgendem Kommando sehen.
+
+```
+showmount -e mein-media-server
+```
+
+Die Maschine `mein-media-server` in den obigen Beispielen muss dafür als NFS-Server eingerichtet sein und Inhalte entsprechend via NFS freigeben.
+
+### HTTP-Client
+
+Das folgende Kommando startet Calypso als HTTP-Client.
+
+```
+java -jar calypso.jar port=9090
+```
+
+
+Wird der Parameter `nfs-prefix` beim Start Calypsos weggelassen, werden im Parameter `titel` Uniform Resource Locators (URLs) zu Media-Quellen erwartet wie z.B. in
+
+```
+http://mein-raspi:9090/calypso/play?title=http://mein-media-server:8080/tango/media/Filme/H/heat.m4v
+```
+
+Für das Abspielen über HTTP muss der Raspberry Pi nicht als NFS-Client eingerichtet werden. Der Media-Server muss dann das Streaming über HTTP implementieren.
+
+## Steuerbefehle
+
+Die folgenden Service-Endpunkte werden von Calypso bereitgestellt.
+
+/calypso/play +
+/calypso/seek +
+/calypso/pause +
+/calypso/stop +
+/calypso/ping +
+/calypso/server/stop
+
+### play
+
+Text
+
+### seek
+
+Text
+
+### pause
+
+Test
+
+### stop
+
+Text
+
+### ping
+
+Text
+
+### server/stop
+
+Text
+
+## Calypso als Dienst einrichten
+
+Das Verteilpaket Calypsos enthält eine Beispieldatei namens `calypso.service`. Diese verweist auf das ebenfalls im Verteilpaket enthaltene Beispiel-Startskript namens `start`. Nach Anpassung der Pfade in `calypso.service` kann die Datei wie in folgendem Beispiel in das passende Systemverzeichnis des Raspberry Pi kopiert werden.
+
+```
+cd /home/pi/prg/calypso
+sudo cp calypso.service /etc/systemd/system/calypso.service
+```
+
+### Dienst starten
+
+Mit folgendem Kommando kann der Dienst probehalber gestartet werden.
+
+```
+sudo systemctl start calypso.service
+```
+
+### Dienst stoppen
+
+Der laufende Dienst kann mit folgendem Signal via HTTP veranlasst werden, sich zu beenden.
+
+```
+http://mein-raspi:9090/calypso/server/stop
+```
+
+Ueber systemd kann stattdessen der Prozess wie folgt 'hart' beendet werden.
+
+```
+sudo systemctl stop calypso.service
+```
+
+### Dienst dauerhaft aktivieren
+
+Der folgende Befehl bewirkt, dass der Dienst nach einem Neustart des Raspberry Pi automatisch startet.
+
+```
+sudo systemctl enable calypso.service
+```
+
+### Dienst deaktivieren
+
+```
+sudo systemctl disable calypso.service
+```
+
+### Status des Dienstes pruefen
+
+```
+sudo systemctl status calypso
+```

--
Gitblit v1.9.3