
Als Radiofan verspüre ich häufig den Drang, Radioprogramme aus der ganzen Welt zu empfangen. Insbesondere die USA sind für mich sehr interessant. Der Radiomarkt dort bietet viele Formate, die man in Deutschland vergeblich sucht. Dank der Erfindung des Streaming muss man nicht mal in das jeweilige Land reisen, um die Radiosender zu hören. Ärgerlich ist es, wenn die Programme aus lizenzrechtlichen Gründen nur in dem jeweiligen Land zu empfangen sind – sogenanntes Geoblocking. Wie du Online Radio aus den USA in Deutschland empfangen kannst, erfährst du in diesem Post.
Inhalt
Eine Lösung ist das Einsetzen eines VPN. Man verbindet sich über ein virtuelles privates Netzwerk mit einem Server in den Vereinigten Staaten und kann die dortigen Radioprogramme auch hierzulande hören. Dies liegt an der amerikanischen IP-Adresse, die man über den VPN erhält.
Geoblocking für Online Radio USA-Radiosender erfordert VPN
In der Vergangenheit war das auch notwendig, um die Radioprogramme von Entercom in Deutschland zu hören. Entercom Communications Corporation ist ein börsennotiertes amerikanisches Rundfunk- und Radionetzwerk mit Sitz in Bala Cynwyd, Pennsylvania. Das 1968 gegründete Unternehmen ist das zweitgrößte Radiounternehmen der Vereinigten Staaten und besitzt 235 Radiosender in 48 Medienmärkten. Die Stationen findet man auf der populären Domain radio.com sowie in der gleichnamigen App für Android und iPhone. Gestern bemerkte ich eher zufällig, dass man für die Wiedergabe der radio.com-Programme keinen VPN mehr benötigt. Nicht nur über die App waren die Radiostationen ohne Geoblocking abspielbar; auch wenn man den Streaming-Link direkt in den Browser eingab, wurde das US-Programm wiedergegeben. Freudig erzählte ich Markus Weidner davon. Er schrieb in seinem Blog smartphonefan.de, wie ärgerlich er das Geboblocking für Radiohören aus dem Ausland empfindet. Kurz darauf berichtete er mir, dass die Streams bei ihm weiterhin blockiert sind. Nur, warum? An der IP-Adresse konnte es nicht liegen, denn auch im Wifi funktionierten die Radio.com Streams aus Deutschland heraus.
Der User Agent spielt die radio.com-Streams auf Smartphone ab
Ich fand heraus, dass vor Wiedergabe des Streams offenbar der User-Agent abgefragt wird. Bei dem Feld „User-Agent“ im HTTP Protokoll wird eine mehr oder weniger ausführliche Information über das Gerät, von dem die Netzwerkanfrage kommt, übermittelt. Übergeben wird das Feld im HTTP-Header. Diese Information kann dann dazu genutzt werden, um bestimmte Elemente nur an solche Browser auszuliefern, die bekanntermaßen damit umgehen können (z.B. Responsive Design).
Radio.com macht sich den User Agent jetzt offenbar zunutze, um Streams nur an mobile User Agents auszugeben. Da die Streamingadressen aller 235 Radio.com-Stationen kaum allgemein bekannt sein dürften, wird die Absicht darin liegen, die radio.com-App und die mobile Website zu pushen. So haben Amerikaner, die ins Ausland reisen, über ihr Smartphone weiterhin die Möglichkeit „ihre Radioprogramme“ zu hören. Als Europäer wird es uns weiterhin schwer gemacht, die Programme aus den USA zu empfangen: Die radio.com-App kann nur über den US-Google-PlayStore heruntergeladen werden und die radio.com Website ist wie gehabt über die IP-Adresse gesperrt.
WCBS FM 101.1 aus New York in Deutschland hören
Einen Trick gibt es aber, um die Programme auch ohne VPN zu hören. Man legt sich über einen Editor wie Notepad++ eine Playlist im Format M3U an und trägt dort neben dem Stream auch den nachfolgenden Code ein:
#EXTM3U
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36
https://16983.live.streamtheworld.com/WCBSFM.mp3
Mit der Angabe „EXTVLCOPT:http-user-agent“ wird der darauffolgende User Agent „Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36“ übergeben. Der Server ist in der Annahme, bei dem Absender würde es sich um ein Smartphone handeln und spielt den Stream ab. Die M3U-Datei kann z.B. mit dem VLC Media Player wiedergeben werden.
KROQ 106.7 FM ohne VPN hören
Alle radio.com Programme, die ich bislang getestet habe, lassen sich auf diesem Weg ohne VPN wiedergeben. Auch der beliebte Radiosender KROQ 106.7 aus Los Angeles, der seit Februar 2010 auf Geoblocking setzte, war bislang nur aus den Vereinigten Staaten über das Internet zu empfangen.
#EXTM3U
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36
https://playerservices.streamtheworld.com/api/livestream-redirect/KROQFMAAC_SC
K-EARTH 101.1 FM – Los Angeles Classic Hits – KRTH-FM über VLC abspielen
Man muss übrigens nicht zwingend eine Playlist anlegen. Im VLC reicht es aus, unter Medien > Netzwerkstream öffnen einen Haken im Feld „Mehr Optionen anzeigen“ zu setzen und den User Agent im Feld „Optionen bearbeiten“ einzutragen:
:http-user-agent=Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36
Als Netzwerkadresse trägst du den Stream von K-Earth 101.1 FM ein:
https://19273.live.streamtheworld.com/KRTHFMAAC_SC
Radio.com Stationen auf dem Internetradio hören
Wenn Du in deinem Zuhause ein Internetradio hast, kannst Du über einen kleinen Umweg den Stream auch dort abspielen. Ich habe dazu auf einem Raspberry Pi einen Icecast2- Server installiert:
sudo apt-get install icecast2
Der Stream wird über den VLC Media Player und dem manipuliertem User-Agent-Informationen an den Icecast2-Server geschickt. Dazu habe ich ein kleines Bash-Script geschrieben:
#!/bin/sh
/usr/bin/cvlc -vvv https://14203.live.streamtheworld.com/WSFSFM_SC :http-user-agent="Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36" :sout="#std{access=shout,mux=ogg,dst=//source:hackme@192.168.XXX.XXX:8000/WSFSFM}" :no-sout-all :sout-keep
Das Script wird beim Start mit dem Programm Supervisor geladen. Im Internetradio habe ich die Stream-URL des Icecast-Servers für das jeweilige Radioprogramm eingetragen (https://192.168.XXX.XXX:8000/WSFSFM)
In einem weiteren Beitrag verrate ich dir, wie du iHeartRadio in Deutschland empfangen kannst.
Hey!
works like a charm! Vielen Dank!!
Grüße Arne
Hallo Matthes.
Danke für den coolen Trick. Mit VLC unter macOS funktioniert es wunderbar.
Allerdings breche ich mir jetzt seit Tagen einen ab, das Ganze für iOS zu replizieren.
VLC unter iOS/iPadOS können zwar mit m3u Files umgehen, jedoch nicht mit dem http-user-agent als Header.
Auch im Appstore gibt es 1000 von Apps die grundsätzlich mit m3u Dateien umgehen können, aber scheinbar alle rein auf IPTV optimiert sind.
Die letzte Option die mir noch eingefallen ist, ist iCab Mobile herunterzuladen, da dieser Browser Custom User Agents unterstützt.
Siehe da… der Stream kann aufgerufen werden. Allerdings wird zwangsweise versucht den Stream herunterzuladen, anstatt diesen abzuspielen. Ich würde behaupten, dass es daran liegt, dass iCab auch auf die Safari Engine zurückgreift und dementsprechend einen Webserver erwartet der „Range“ request header unterstützt, was hier wohl nicht der Fall ist.
Hast du vielleicht noch irgendeine kluge Idee oder gar Lösung?!
Lieber Gruß
Lars
Hast du auch eine Idee, wie CBSFM auch auf Sonos-Boxen laufen kann? Wahrscheinlich auch nur über einen Raspberry oder?
Hatte gerade mal versucht die URL des .m3u Files auf meinem Server als manuellen Radiosender bei Sonos hinzuzufügen (via Tunein). Geht leider nicht.. :-(
Vielleicht gibt es da ja noch einen Kniff??
Liebe Grüße
Mats