ProofOfConcept: @marcoarment’s #Overcast #Podcast – stream mit @Sonos

Es ist eine Katastrophe. So geil die Dinger von Sonos auch sind, das fehlende Podcast-Feature ist noch nicht mal „suboptimal“, es ist kaputt. Tune-In und Spreaker sind ein Witz. Ja, sagen sie, man könne ja die Podcasts vom iPhone strömen lassen. So ein Blödsinn. Der Akku ist einer Stunde alle und ist das iPhone aus dem Empfangsbereich, knallt’s. Das ist nicht das Konzept von Sonos und so sind die Dinger auch nicht gedacht. Ein iPhone ist für Sonos eine Fernbedienung und kein Abspielgerät. Basta.

 

Und so rege ich mich regelmäßig auf, wenn die iTunes-Instanz (welche ebenfalls zu wünschen übrig lässt) noch nicht die letzten Podcasts auf dem NAS bereitgestellt hat, oder der Bibliotheksscanner von Sonos noch nicht fertig ist. Außerdem will ich mir nicht permanent die Platte auf dem NAS vollmachen. Ärgerlich. 6er WD-RED’s kann ich mir eben nicht leisten. Ach. Alles eine Katastrophe.

Dann ist da das mehr oder weniger gepflegte Xenim-Addin vom Schrankmonster, auf jenem ich ab und an mal eine Folge Wrint erwische, doch in letzter Zeit ist es leer. Gut. Live-Folgen von Freakshow kann ich auch direkt hören. In Tune-In finde ich auch nur ab und an mal was, aber das ist doch die Hölle. Bitsundso funktionieren, genauso wie andere Geektalks mit Sonos zusammen überhaupt nicht zuverlässig. Es ist zum Haare-Raufen. Wie schön wäre es doch, wenn Sonos sich einfach bei Overcast anmelden könnte und die Podcasts von da holt. Geht ja nicht.

Geht doch. Auf Github bin ich fündig geworden. Der Jacobian hat da seine Kenntnisse in Python mal ganz unprätentiös zur Schau gestellt und ich bin mehr als nur beeindruckt. Er schreibt zwar „Super-early, rather fragile, barely works„, aber das ist ja auch der Sinn dahinter, ein ProofOfConcept bereitzustellen. Und dafür funktioniert es mehr als gut.

Du brauchst ein Ubuntu, 14.04. Das patchst Du Durch.

Anschließend brauchst Du folgende Pakete:

apt-get install libxml2-dev libxslt-dev python-dev ucommon-utils unzip

Dann holst Du Dir jacobian’s Paket:

wget https://github.com/jacobian/overcast-sonos/archive/master.zip

Anschließend entpackst Du und stellst bereit (dauert eine kleine Weile)

unzip overcast-sonos-master.zip
cd overcast-sonos-master
pip install -r requirements.txt

Starten kannst Du das mit

OVERCAST_USERNAME=deineregistrierteemail@beiovercast.de OVERCAST_PASSWORD=DEINPASSWORT python overcast-sonos.py

Zum Schluss musst Du das nur noch in Deinen Sonos-Player einfügen. Dazu suchst Du einen von Deinen Lautsprechern im Netzwerk und surfst ihn an:

http://<DEINE_SONOSPLAYER_IP>:1400/customsd.htm

Dann musst Du eigentlich nur noch in die Endpoint und Secure Endpoint URL

http://<DEINE_UBUNTU_IP>:8080/overcast-sonos

hinzufügen (ja, auch Secure Endpoint ohne TLS, sonst geht’s in der aktuellen Sonos Software nicht mehr). Aus „Gründen“ deaktivierst Du zusätzlich die Alarmfunktion und die Multiple-Account-Funktion.

Anmerken möchte ich, dass es mit M4A Podcasts und Podcast, die auf „Podigee“ gehostet werden, momentan problematisch ist. Dennoch bieten viele Podcasts auch andere Feeds an, die das klassische MP3 unterstützen. Die kann man dann problemlos in Overcast austauschen. Während des Abspielens von Podcasts wird keinerlei Last auf dem System erzeugt. So hat Jacobian belegt, dass jetzt derjenige, der das Sonos-Podcast-Problem vielleicht zum Guten aller lösen könnte (sofern er denn möchte und nicht noch andere, technische Probleme vorliegen), nicht Sonos selbst ist, sondern Marco Ament. Es geht also. Technisch und praktisch. Mehr muss ich nicht wissen. Das Problem lässt sich lösen.

Jacobian’s Overcast findest Du hier: https://github.com/jacobian/overcast-sonos/