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