App zur Steuerung des mpv Mediaplayers auf einem Raspberry Pi über HTTP
ulrich
2021-04-01 bd3dd59fd0af9d4eeeb6a87f40a1fc554413f66d
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
Zur Ausführung des AV-Direktor wird eine Java-Ablaufumgebung (Java Runtime Environment, JRE) benötigt, wie sie beim Raspberry Pi OS in der Variante 'full' bereits vorinstalliert ist. 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 update
sudo apt install default-jdk
```
## Media-Quellen einrichen
Der AV-Direktor kann in zwei Betriebsarten gestartet werden:
@@ -12,7 +36,7 @@
### NFS-Client
Mit dem Parameter `nfs-prefix` spielt der AV-Direktor Media-Inhalte aus NFS-Quellen ab.
Mit dem Parameter `nfs-prefix` spielt der AV-Direktor Media-Inhalte aus Quellen ab, die über das Network File System (NFS) eingebunden sind.
```
java -jar av-director.jar nfs-prefix="/media/mc" port=9090
@@ -28,7 +52,7 @@
#### 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 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.
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
@@ -40,7 +64,7 @@
showmount -e mein-media-server
```
Die Maschine `mein-media-server` in den obigen Beispielen muss dafür als NFS-Server eingerichtet sein und entsprechende Inhalte via NFS freigeben.
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
@@ -54,11 +78,45 @@
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
http://mein-raspi:9090/avd/play?title=http://mein-media-server:8080/mediacenter/Filme/H/heat.m4v&th=60&ti=60&o=local
```
Für das Abspielen über HTTP muss der Raspberry Pui nicht als NFS-Client eingerichtet werden. Der Media-Server muss dann das Streaming über HTTP implementieren.
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 vom AV-Direktor bereitgestellt.
/avd/play +
/avd/seek +
/avd/pause +
/avd/stop +
/avd/ping +
/avd/server/stop
### play
Text
### seek
Text
### pause
Test
### stop
Text
### ping
Text
### server/stop
Text
## AV-Direktor als Dienst einrichten
@@ -82,7 +140,7 @@
Der laufende Dienst kann mit folgendem Signal via HTTP veranlasst werden, sich zu beenden.
```
http://rpi4-wz:9090/avd/server/stop
http://mein-raspi:9090/avd/server/stop
```
Ueber systemd kann stattdessen der Prozess wie folgt 'hart' beendet werden.