App zur Steuerung des mpv Mediaplayers auf einem Raspberry Pi über HTTP
ulrich
2021-03-24 b9e3c5b9910fb8d6cfa7157662cf3df4ce4f40b4
README.md
@@ -3,6 +3,30 @@
Der AV-Direktor arbeitet als Empfänger von HTTP-Signalen und setzt diese in Kommandos an den [OMXPlayer](https://www.raspberrypi.org/documentation/raspbian/applications/omxplayer.md) um. Auf diese Weise kann ein Raspberry Pi als Abspieler von anderen Geräten aus fernbedient werden, am Pi selbst ist keine Bedienung erforderlich.
## Nutzungsvoraussetzungen
Der AV-Direktor ist ein Java-Programm, zu dessen Ausführung wird eine Java-Ablaufumgebung (Java Runtime Environment, JRE) benötigt wie sie beim Raspberry Pi OS in der Variante 'full' bereits vorinstalliert ist. Ob das JRE vorhanden ist kann auf der Kommandozeile des Raspberry Pi mit dem Kommando
```
java -version
```
ermittelt werden. 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. Anderenfalls kann es mit folgendem Kommando installiert werden:
```
sudo apt update
sudo apt install default-jdk
```
## Media-Quellen einrichen
Der AV-Direktor kann in zwei Betriebsarten gestartet werden:
@@ -15,7 +39,7 @@
Mit dem Parameter `nfs-prefix` spielt der AV-Direktor Media-Inhalte aus NFS-Quellen ab. 
```
java -jar av-director.jar nfs-prefix="/media/mc" port=9000
java -jar av-director.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 der AV-Direktor beispielsweise mit folgendem URL aufgerufen:
@@ -24,9 +48,11 @@
http://rpi4-wz:9090/avd/play?title=/Filme/H/heat.m4v&th=60&ti=60&o=local
```
wird die Datei `/media/mc/Filme/H/heat-m4v` abgespielt.
wird die Datei `/media/mc/Filme/H/heat.m4v` abgespielt.
Zur Verwendung des AV-Direktors in der Betriebsart NFS Client muss der Raspberry Pi die Softwarepakete für den NFS Client installiert haben, wie sie z.B. im Rasprry Pi OS in der Variante 'full' bereits enthalten sind. Zudem muss auf dem Raspberry Pi in der Datei `/etc/fstab` ein Eintrag gemacht werden, der die entsprechende Quelle angibt, z.B.
#### Betriebsart NFS-Client einrichten
Zur Verwendung des AV-Direktors in der Betriebsart NFS Client muss der Raspberry Pi die Softwarepakete für den NFS Client installiert haben, wie sie z.B. im Raspberry Pi OS in der Variante 'full' bereits enthalten sind. 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
@@ -42,7 +68,14 @@
### HTTP-Client
Wir der Parameter `nfs-prefix` beim Start des AV-Direktors weggelassen, werden im Parameter `titel` Uniform Resource Locators (URLs) zu Media-Quellen erwartet wie z.B. in
Das folgende Kommando startet den AV-Direktor als HTTP-Client.
```
java -jar av-director.jar port=9090
```
Wird der Parameter `nfs-prefix` beim Start des AV-Direktors weggelassen, werden im Parameter `titel` Uniform Resource Locators (URLs) zu Media-Quellen erwartet wie z.B. in
```
http://rpi4-wz:9090/avd/play?title=http://mein-media-server:8080/mc/Filme/H/heat.m4v&th=60&ti=60&o=local
@@ -53,12 +86,16 @@
## AV-Direktor als Dienst einrichten
Das Verteilpaket des AV-Direktors enthält eine Beispieldatei namens `avd.service`. Diese verweist auf das ebenfalls im Verteilpaket enthaltene Beispiel-Startskript namens `start`. Nach Anpassung der Pfade in `avd.service` kann die Datei wie in folgendem Beispiel in das passende Systemverzeichnis des Raspberry Pi kopiert werden.
```
cd /home/pi/prg/av-direktor
sudo cp avd.service /etc/systemd/system/avd.service
```
### Dienst starten
Mit folgendem Kommando kann der Dienst probehalber gestartet werden.
```
sudo systemctl start avd.service
@@ -80,7 +117,7 @@
### Dienst dauerhaft aktivieren
Der folgende Befehl bewirkt, dass der Dienst nach einem Neustart automatisch startet.
Der folgende Befehl bewirkt, dass der Dienst nach einem Neustart des Raspberry Pi automatisch startet.
```
sudo systemctl enable avd.service