Neuer Versuch für Podcast-Support

Moin,

ich habe noch einen Anlauf gestartet für Podcast-Support. Ein Prototyp läuft auf meinem Server für Podcasts aus ARD Sounds.

Das läuft so:

  • Auf dem ESPuino liegt eine Playlist mit Links auf meinen eigenen Server: Schematisch etwa http://server.de/redirect/urn:ard:show:xyz/0Richtiger Server siehe nächster Post.
  • urn:ard:show:xyz ist die ID der Sendung. Die kann man über die ARD Audiothek leicht herausfinden. /0 ist dann nur ein Index in den Feed.
  • Der Server lädt und cacht den Podcast-Feed und erzeugt dann einen Redirect (und schreibt auf http um). Bei 0 landet man bei der neuesten Folge, bei 1 bei einer älter, usw.

So muss man keine Daten auf dem ESPuino ändern, kann aber ein RFID so konfigurieren, dass immer die neueste Folge erzeugt wird. Viel Last auf dem Server erzeugt das auch nicht.

Die Folgen werden halt immer direkt gestreamt, das heißt offline funktioniert das nicht.

In meinen ersten Tests funktioniert das wunderbar. Soweit ich das sehe, widerspricht das auch nicht den Nutzungsbedingungen von ARD Sounds. Konzeptuell würde das für Podcast RSS-Feeds natürlich genauso funktionieren.

Ein bisschen Entwicklungszeit brauche ich noch, dann kann ich das auch probeweise hier für andere Nutzer öffentlich hosten.

@Dominic, du hattest vor langer Zeit mal so einen Bedarf. Besteht der noch?

So, bei mir funktioniert das jetzt stabil genug, um es mal Testweise freizugeben:

https://sanduichi.de/sounds2rss/espuino

Die Show IDs bekommt man in ARD Sounds oder hier: https://sanduichi.de/sounds2rss

Ich freue mich über feedback.

Hi, ich hab’s gerade mal ausprobiert. Super, es funktioniert bisher. Mal sehen, was im „Kinderbetrieb“ dann passiert.

Danke für deine Arbeit.

Hast du das irgendwo veröffentlicht, z.B. Github?

Cool, ich freue mich über Feedback aus dem Kinderbetrieb. Meine Box hat das bisher gut mitgemacht. Manchmal wenn das Netzwerk schlecht ist, dauert halt alles ein bisschen und in einer älteren Firmware gab es Probleme wegen HTTPS. Bisher läufts aber stabil.

Wegen Github muss ich noch schauen, der Code ist gerade noch potthässlich und müsste erst ein bisschen aufgeräumt werden. Vermisst du Features? Ich will eigentlich nur noch Support für RSS-Feeds einbauen und dann wäre es für mich recht komplett.

zum Features vermissen, hatte ich noch nicht Gelegenheit, dafür war die Zeit zu kurz.

Wobei, ich hab die Maus Hörspiele MausHörspiel kurz · Neue Folgen - Jetzt Podcast anhören! mal getestet und mich zunächst gewundert, warum ich genau 20 Tittel habe, wobei auf der Homepage deutlich mehr stehen.

Ich vermute, du hast die 20 irgendwo festgeschrieben. Vielleicht als Parameter einstellbar machen?

Danke dir. Kinder-Feedback kommt, kann aber dauern. Die Box wird wohl erst Ende August übergeben.

Ja genau, die 20 Titel sind einfach nur ein default im Playlist-Generator. Man kann die Playlist aber auch mit einem Text-Editor kürzen oder erweitern. Hintergrund ist, dass manche Feeds in Sounds kein Ende haben und ich nicht so viele Requests an die APIs der ARD stellen will.

Beachte, dass in der Playlist ja auch nicht die Folgen direkt drinstehen. Der erste Playlist-Eintrag wird immer auf die neueste Folge weitergeleitet. Damit kann man immer neueste Inhalte hören, ohne auf dem ESPuino was ändern zu müssen und ohne die Podcasts mit dem Mikrocontroller parsen zu müssen.

Wenn man einfach nur ein größeres Archiv spiegeln will gibt es bessere Tools (MediathekView, etc.)

ich finde deinen Service spitze. Funktioniert bei den paar Tests sehr gut.

Aber ich hoste solche Server gerne lokal bei mir - ist mir immer lieber. Deshalb habe ich mich heute hingesetzt und habe einen lokalen Server erstellt. Mit Hilfe meiner Lieblings-KI ging das sogar ziemlich schnell.

Ihr findet das hier: GitHub - jpgorganizer/espuino-podcast-server · GitHub

Hi, ich wollte das gerade mit dem Maus Podcast - urn:ard:show:b4a27641ebfcb11b - probieren, aber leider klappt es nicht. Ich habe die Lösung von @openplayer sowie die öffentlich verfügbare Variante von OP probiert, aber bei beiden laufen die Tracks schnell durch, ohne das etwas wirklich abgespielt wird:

[346289] New playlist received with 20 track(s)
D [346289] Free heap: 147615
N [346784] 'http://espuionpod.domain.tld/redirect/ard/urn:ard:show:b4a27641ebfcb11b/0' is being played (1 of 20)
I [346785] last URL:     http://espuionpod.domain.tld/redirect/ard/urn:ard:show:b4a27641ebfcb11b/0
N [346987] no cover image for webstream
N [348865] 'http://espuionpod.domain.tld/redirect/ard/urn:ard:show:b4a27641ebfcb11b/1' is being played (2 of 20)
I [348866] last URL:     http://espuionpod.domain.tld/redirect/ard/urn:ard:show:b4a27641ebfcb11b/1
N [348959] no cover image for webstream
N [350946] 'http://espuionpod.domain.tld/redirect/ard/urn:ard:show:b4a27641ebfcb11b/2' is being played (3 of 20)
I [350947] last URL:     http://espuionpod.domain.tld/redirect/ard/urn:ard:show:b4a27641ebfcb11b/2
N [350967] no cover image for webstream
D [351290] PN5180 wedge/removal suspected (505 ms since last good ISO-14443 read): silent re-init
D [351574] PN5180 silent heal recovered ISO-14443 card after 284 ms
N [353028] 'http://espuionpod.domain.tld/redirect/ard/urn:ard:show:b4a27641ebfcb11b/3' is being played (4 of 20)
I [353029] last URL:     http://espuionpod.domain.tld/redirect/ard/urn:ard:show:b4a27641ebfcb11b/3
N [353157] no cover image for webstream
N [355114] 'http://espuionpod.domain.tld/redirect/ard/urn:ard:show:b4a27641ebfcb11b/4' is being played (5 of 20)
I [355115] last URL:     http://espuionpod.domain.tld/redirect/ard/urn:ard:show:b4a27641ebfcb11b/4
N [355144] no cover image for webstream
D [355329] PN5180 wedge/removal suspected (505 ms since last good ISO-14443 read): silent re-init
D [355611] PN5180 silent heal recovered ISO-14443 card after 282 ms
N [357193] 'http://espuionpod.domain.tld/redirect/ard/urn:ard:show:b4a27641ebfcb11b/5' is being played (6 of 20)
I [357196] last URL:     http://espuionpod.domain.tld/redirect/ard/urn:ard:show:b4a27641ebfcb11b/5
N [357260] no cover image for webstream

Wechsle ich die URL zu https, dann stürzt der espuino gefühlt ab.
Lokal auf dem Rechner klappen die Playlists 1A, mit https und http

Ich nehme an das log ist von dem Service von @openplayer ? Ich vermute

espuionpod.domain.tld

Ist eine Platzhalter-Adresse, die du so anpassen musst, dass der espuino auch mit dem Server spricht.

Wenn ich bei ESPuino Podcast Helper die Show ID eingebe geht’s auch. Hattest du vielleicht noch ein Leerzeichen am Ende? Das bringt den leider wirklich durcheinander :melting_face:

Sonst hier mal versuchen: Sounds2RSS

Und am PC die Playlist testen. Wenn es da funktioniert, sollte es auch auf dem espuino gehen (für meinen server).

Cool! Die Implementierung ist auch kein Hexenwerk. Ich hab mich nur ziemlich gefreut, als mir die Lösung mit den Indizes und Redirects eingefallen ist.

Ich habe es inzwischen gelöst. Es war lokale Dummheit. Der espuino hatte im Router Internetverbot. Da aber der Download von firmware updates via github doch immer geklappt hat, muss ich die Internet Sperrfunktion von Asus Routern hinterfragen. Anderes Thema.

domain.tld ist ein Platzhalter für meine echte Domain auf der die selbst-gehosteten Software von @openplayer läuft.

Nun klappt es :slight_smile:

Das kann ich dir erklären: Den Download macht dein Browser im Hintergrund. Nicht der ESPuino.

Das habe ich schon indirekt „reverse engeneert“…Update anstoßen und Browser schließen führt zu Scheitern des Updates :slight_smile: