App zur Steuerung des mpv Mediaplayers auf einem Raspberry Pi über HTTP
ulrich
2021-03-24 29124cd607e0be677059491b19301dd4535bfe6d
commit | author | age
8e2038 1
U 2 # AV-Direktor
3
29124c 4 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.
0af362 5
U 6 ## Media-Quellen einrichen
7
8 Der AV-Direktor kann in zwei Betriebsarten gestartet werden:
9
29124c 10 1. NFS-Client
U 11 1. HTTP-Client
0af362 12
U 13 ### NFS-Client
14
15 Mit dem Parameter `nfs-prefix` spielt der AV-Direktor Media-Inhalte aus NFS-Quellen ab. 
16
17 ```
18 java -jar av-director.jar nfs-prefix="/media/mc" port=9000
19 ```
20
29124c 21 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:
0af362 22
U 23 ```
29124c 24 http://rpi4-wz:9090/avd/play?title=/Filme/H/heat.m4v&th=60&ti=60&o=local
0af362 25 ```
U 26
29124c 27 wird die Datei `/media/mc/Filme/H/heat-m4v` abgespielt. 
U 28
29 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.
0af362 30
U 31 ```
32 mein-media-server:/media/extssd/mc /media/mc nfs rw 0 0
33 ```
34
35 Welche Quellen für einen solchen Eintrag verfügbar sind lässt sich auf dem Raspberry Pi mit folgendem Kommando sehen.
36
37 ```
38 showmount -e mein-media-server
39 ```
40
29124c 41 Die Maschine `mein-media-server` in den obigen Beispielen muss dafür als NFS-Server eingerichtet sein und entsprechende Inhalte via NFS freigeben.
U 42
43 ### HTTP-Client
44
45 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
46
47 ```
48 http://rpi4-wz:9090/avd/play?title=http://mein-media-server:8080/mc/Filme/H/heat.m4v&th=60&ti=60&o=local
49 ```
50
51 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.
52
0af362 53
U 54 ## AV-Direktor als Dienst einrichten
55
56 ```
57 cd /home/pi/prg/av-direktor
58 sudo cp avd.service /etc/systemd/system/avd.service
59 ```
60
61 ### Dienst starten
62
63 ```
64 sudo systemctl start avd.service
65 ```
66
67 ### Dienst stoppen
68
69 Der laufende Dienst kann mit folgendem Signal via HTTP veranlasst werden, sich zu beenden.
70
71 ```
72 http://rpi4-wz:9090/avd/server/stop
73 ```
74
75 Ueber systemd kann stattdessen der Prozess wie folgt 'hart' beendet werden.
76
77 ```
78 sudo systemctl stop avd.service
79 ```
80
81 ### Dienst dauerhaft aktivieren
82
83 Der folgende Befehl bewirkt, dass der Dienst nach einem Neustart automatisch startet.
84
85 ```
86 sudo systemctl enable avd.service
87 ```
88
89 ### Dienst deaktivieren
90
91 ```
92 sudo systemctl disable avd.service
93 ```
94
95 ### Status des Dienstes pruefen
96
97 ```
98 sudo systemctl status avd
99 ```