From c0ad5e4def882502078e9ed486fc25a5d0e80c0c Mon Sep 17 00:00:00 2001 From: ulrich <not disclosed> Date: Fri, 05 Jan 2018 16:39:13 +0000 Subject: [PATCH] Code weiter aufgeräumt --- README.md | 95 ++++++++++++++++++++++++++++++++++++----------- 1 files changed, 73 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 86a5564..63e0444 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,23 @@ ## Prototyp -Diese Anwendung ist zur Zeit im Bau. Der aktuelle Prototyp zum Stand des Codes in diesem Repository ist hier zu sehen: -[Link zum Prototyp](/data/ulrich/test/radio-ui). +Diese Anwendung ist zur Zeit im Bau. Der aktuelle Prototyp zum Stand des Codes in diesem Repository ist hier zu sehen: [Link zum Prototyp](/data/ulrich/test/radio-ui). + +## Vorgesehene Funktionen + +Das radio-ui zeigt eine Übersicht von Radiosendern. Antippen eines Senders in der Übersicht spielt den Sender ab. + +Radiosender können hinzugefügt, geändert und gelöscht werden. Ein Suchfeld ermöglicht das Einschränken der Übersicht auf bestimmte Sender. + +Das Abspiel-Ziel ist konfigurierbar: Ein Radionsender kann entweder auf dem Gerät abgespielt werden, auf dem das radio-ui im Browser läuft oder auf einem anderen Gerät wie z.B. einem Raspberry Pi. + +Zum Abspielen auf einem Raspberry Pi ist die Nutzung der Anwendung [pirc](/gitblit/docs/pirc.git) vorgesehen, die zum Spielen von Audiostreams den [omxplayer](https://elinux.org/Omxplayer) mit einer unter [Tomcat](https://de.wikipedia.org/wiki/Apache_Tomcat) laufenden Fernbedienung kombiniert, die per HTTP gesteuert werden kann. ## Nutzung von Vorlagen -Die Anwendung radio-ui ist ein Beispiel für die Nutzung von Vorlagen in Webanwendungen. Die Datei `index.html` definiert Bereiche einer HTML-Seite als `div`-Elemente die während der Ausführung des Programmes dynamisch mit wechselnden Inhalten gefüllt werden. +Die Anwendung radio-ui ist ein Beispiel für die Nutzung von Vorlagen in Webanwendungen. Die Datei `index.html` definiert Bereiche einer HTML-Seite als `div`-Elemente, die während der Ausführung des Programmes dynamisch mit wechselnden Inhalten gefüllt werden. + +Inhalte werden dabei mit Hilfe von [Mustache](https://github.com/janl/mustache.js) aus einer Vorlage und einer Inhaltsbeschreibung in [JSON](https://de.wikipedia.org/wiki/JavaScript_Object_Notation) zu [HTML](https://de.wikipedia.org/wiki/Hypertext_Markup_Language) zusammengesetzt. ## Abhängigkeiten @@ -29,40 +40,80 @@ <script src="../jslib/app-menu/app-menu.js"></script> ```` - Sollen einzelne Komponenten von einem anderen Ort wie beispielsweise einem Content Delivery Network (CDN) eingebunden werden, müssen nur die obigen Einträge entsprechend angepasst werden. +Sollen einzelne Komponenten von einem anderen Ort wie beispielsweise einem Content Delivery Network (CDN) eingebunden werden, müssen nur die obigen Einträge entsprechend angepasst werden. - ## Radiostreams +## Kombination von pirc und radio-ui - Nachfolgend die Adressen einiger Radiostreams +Zur Verwendung des radio-ui mit pirc 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. - ### hr3 +Auch eine direkte Steuerung des omxplay aus radio-ui heraus ist denkbar. Das wäre allerdings eine Doppelung der meisten der in pirc bereits enthaltenen Funktionen. Zudem würde die engere Koppelung zwischen Pi und radio-ui die Verwendbarkeit des radio-ui einschränken. - [Livestream-Übersicht](http://www.hr3.de/service/hr3-online-hoeren,webradio-100.html) +### Abspielen auf dem Raspberry Pi - 128 kbit http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/128/stream.mp3 +Kommandos an pirc werden via HTTP an die betreffende Maschine gesendet und bestehen aus einem Klassennamen `c`, einem Methodennamen `m` und einem Parameter `p`. Ein Kommando setzt sich wie folgt zusammen - 48 kbit http://hr-hr3-live.cast.addradio.de/hr/hr3/live/mp3/48/stream.mp3 +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 - ### hr info +Zum Aufruf des Kommandos mit dem radio-ui kann es weitgehend unverändert bleiben. Nur der Teil 6. mit dem URL des Senders muss veränderlich gestaltet sein. - [Livestream-Übersicht](http://www.hr-inforadio.de/livestream/index.html) +#### Beispiel Abspielen - 128 kBit/s http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/128/stream.mp3 +Ist die Fernbedienung pirc auf einem Raspberry Pi installiert, lautet das Kommando zum Abspielen des Webradiosenders radiobob (vgl. Senderliste weiter unten) wie folgt - 48 kBit/s http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/48/stream.mp3 +```` +http://raspi:8080/pirc/sys/rpc?c=de.uhilger.pirc.App&m=abspielen&p=http://bob.hoerradar.de/radiobob-live-mp3-hq +```` - ### radiobob +Das obige Kommando 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. Es bewirkt, dass auf dem betreffenden Raspberry Pi eine Instanz des omxplayer gestartet wird und diese fortlaufend den Webradio-Stream unter der angegebenen Adresse abspielt. - [Livestream-Übersicht](http://www.radiobob.de/radiobob/empfang/livestream) +#### Beispiel Stoppen - MP3: http://bob.hoerradar.de/radiobob-live-mp3-hq +Zum Stoppen des zur Zeit abgespielten Webradios dient das folgende Kommando - Mobile Nutzung: http://bob.hoerradar.de/aac-radiobob +```` +http://raspi:8080/sys/rpc?c=de.uhilger.pirc.App&m=kommando&p=q +```` - ### FFH +Mit dem obigen Aufruf wird das Kommando `q` an den laufenden Prozess des omxplayer gesendet. Das bewirkt, dass der omxplayer das Abspielen stoppt und der laufende omxplayer-Prozess endet. - [Livestream-Übersicht](https://www.ffh.de/musik/webradios/stream-adressen.html) - 128kbps http://mp3.ffh.de/radioffh/hqlivestream.mp3 +## Radiostreams - 48kbps http://mp3.ffh.de/radioffh/livestream.aac +Nachfolgend die Adressen einiger Radiostreams + +### hr3 + +[Livestream-Übersicht](http://www.hr3.de/service/hr3-online-hoeren,webradio-100.html) + +128 kbit http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/128/stream.mp3 + +48 kbit http://hr-hr3-live.cast.addradio.de/hr/hr3/live/mp3/48/stream.mp3 + +### hr info + +[Livestream-Übersicht](http://www.hr-inforadio.de/livestream/index.html) + +128 kBit/s http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/128/stream.mp3 + +48 kBit/s http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/48/stream.mp3 + +### radiobob + +[Livestream-Übersicht](http://www.radiobob.de/radiobob/empfang/livestream) + +MP3: http://bob.hoerradar.de/radiobob-live-mp3-hq + +Mobile Nutzung: http://bob.hoerradar.de/aac-radiobob + +### FFH + +[Livestream-Übersicht](https://www.ffh.de/musik/webradios/stream-adressen.html) + +128kbps http://mp3.ffh.de/radioffh/hqlivestream.mp3 + +48kbps http://mp3.ffh.de/radioffh/livestream.aac -- Gitblit v1.9.3