From e15bc00949694f5b27585c200abc234761325f6f Mon Sep 17 00:00:00 2001 From: ulrich <undisclosed> Date: Tue, 20 Feb 2018 06:46:23 +0000 Subject: [PATCH] Merge branch 'master' of https://uhilger.de/gitblit/r/web/radio-ui --- pirc.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 45 insertions(+), 0 deletions(-) diff --git a/pirc.md b/pirc.md new file mode 100644 index 0000000..2d8a873 --- /dev/null +++ b/pirc.md @@ -0,0 +1,45 @@ +# Radio abspielen mit dem Raspberry Pi + +Das [radio-ui](README.md) kann verwendet werden, um den Livestream eines Radiosenders von einem Raspberry Pi wiedergeben zu lassen. Hierzu wird auf dem betreffenden Raspberry Pi die Anwendung [pirc](/gitblit/docs/pirc.git) genutzt. Pirc kombiniert zum Spielen von Audiostreams den [omxplayer](https://elinux.org/Omxplayer) mit einer auf [Tomcat](https://de.wikipedia.org/wiki/Apache_Tomcat) laufenden Fernbedienung, die per HTTP gesteuert werden kann. + +Auf dieser Seite ist beschrieben, wie pirc aus dem radio-ui heraus genutzt und mithin das Abspielen von Webradio auf dem Raspberry Pi bewerkstelligt werden kann. + +## Kombination von pirc und radio-ui + +Zur Verwendung des radio-ui mit [pirc](/gitblit/docs/pirc.git) kann die Anwendung radio-ui direkt auf einen Raspberry Pi installiert werden, beispielsweise ähnlich wie pirc als Webanwendung für Tomcat. Stattdessen kann radio-ui auch von einer anderen Maschine aus die pirc-Instanz auf einen Raspberry Pi aufrufen. + +In beiden Fällen sendet das radio-ui Kommandos via HTTP an pirc wie nachfolgend beschrieben. + +## Kommandos an den Raspberry Pi + +Wird [pirc](/gitblit/docs/pirc.git) auf dem Raspberry Pi ausgeführt, können Kommandos via HTTP an die betreffende Maschine gesendet werden. Sie bestehen aus einem Klassennamen `c`, einem Methodennamen `m` und Parametern `p`. Ein Kommando setzt sich wie folgt zusammen + +1. `http://raspi:8080/` - URL der Maschine +1. `pirc/` - Name des Kontext, unter dem die Anwendung pirc läuft +1. `sys/rpc` - Service-Endpunkt der pirc-API +1. `c=de.uhilger.pirc.App` - Name der Klasse von pirc, die die Abspielmethode enthält +1. `m=abspielen` - Name der Methode zum Abspielen +1. `p=Sender-URL` - der Parameter mit dem URL zum Audiostream des Webradiosenders +1. `p=` - optionaler Token zur Authentisierung (kann hier leer bleiben) + +Das obige Beispiel geht davon aus, dass der betreffende Raspberry Pi unter dem Namen `raspi` auf Port `8080` über `HTTP` erreichbar ist und dass auf dem Pi die Anwendung pirc unter dem Kontextnamen `pirc` installiert wurde. Zum Aufruf mit dem radio-ui kann das obige Kommando weitgehend unverändert bleiben. Nur der Teil 6. mit dem URL des Senders muss veränderlich gestaltet sein. + +### Abspielen + +Das Kommando zum Abspielen des Livestreams des Radiosenders radiobob (vgl. [Senderliste](radiostreams.md)) lautet z.B. wie folgt + +```` +http://raspi:8080/pirc/sys/rpc?c=de.uhilger.pirc.App&m=abspielen&p=http://bob.hoerradar.de/radiobob-live-mp3-hq&p= +```` + +Es bewirkt, dass auf dem betreffenden Raspberry Pi eine Instanz des [omxplayer](https://elinux.org/Omxplayer) gestartet wird und diese fortlaufend den Webradio-Stream unter der angegebenen Adresse abspielt. + +### Stoppen + +Zum Stoppen des zur Zeit abgespielten Webradios dient das folgende Kommando + +```` +http://raspi:8080/sys/rpc?c=de.uhilger.pirc.App&m=kommando&p=q +```` + +Mit dem obigen Aufruf wird das Kommando `q` an den auf dem Raspberry Pi laufenden Abspielprozess gesendet. Das bewirkt, dass der im Abspielprozess laufende [omxplayer](https://elinux.org/Omxplayer) das Abspielen stoppt und der Prozess endet. -- Gitblit v1.9.3