De NPO 5 app is gestopt... en nu dan?

Ingediend door Dirk Hornstra op 06-oct-2025 20:29

Mijn moeder is 70+. Een leeftijd waarbij je niet teveel zaken anders moet laten werken, elke "update" of "verandering" zorgt voor verwarring. Met de iPad kan ze haar weg vinden. Mailtjes ontvangen en versturen, op Funda kijken welke woningen in ons dorp te koop staan. Op de "gewone" radio staat Omrop Fryslân ingesteld, de regionale zender. Bijna elke ochtend luistert ze naar NPO Radio 5. Daar zijn namelijk de Arbeidsvitaminen op, gepresenteerd door Hans Schiffers. De app op de iPad, aanklikken, op play drukken en luisteren maar.

Dat ging heel lang goed, totdat de NPO besloot om die app te verwijderen uit de App Store. Het enige app-alternatief is de NPO Luister App. Wat een gedrocht is dat. Je kunt zoeken op programma's en door de historie bladeren, maar we willen "gewoon" naar de zender gaan, NPO Radio 5 en dan het actieve programma starten. Dat kon niet.

Ik heb zonet de app op mijn eigen iPad geïnstalleerd (22 september) en zie dat het inmiddels wel mogelijk is. Wel moet je 2 keer klikken, eerst scrollen naar de juiste zender, klikken op "afspelen" en dan nog een keer op het blok klikken om naar het detailscherm te gaan, zodat je kunt zien welke artiest met welk nummer afgespeeld wordt. Dus ik weet wat voor opmerkingen ik krijg, dat dit weer heel anders werkt...

Om het werkend te krijgen was ik op de iPad naar www.nporadio5.nl gesurfd en heb deze op het beginscherm van de iPad gezet. Dan denk je dat je klaar bent. Maar nee, ook daar krijg ik opmerkingen over. Als je namelijk op je iPad een scherm "sluit" wordt de browser niet helemaal afgesloten, het scherm verdwijnt uit beeld. En dat zorgt er dus voor dat het bufferen van data in je nadeel begint te werken. Want als je dan op "play" drukt, gaat ie verder te spelen met waar hij was. En soms is dat wel wat later, maar dan hoor je rond 10.15 uur het nieuws van 9.00 uur. Bij de "oude iPad" had je onderaan je scherm een ronde knop waar je op kon dubbelklikken en vervolgens het browserscherm naar boven "weg veegt" zodat het definitief afgesloten wordt. Dat knopje zit niet meer op de iPad, je moet nu vanaf onderen naar boven "vegen". Al geprobeerd om uit te leggen "hoe" dit werkt, maar dat lukt niet echt. Als Steve Jobs nog de baas van Apple geweest was, had hij dat knopje laten zitten of een knopje aan de zijkant laten toevoegen die deze actie kon doen.

Dus ik ben gaan kijken of ik zelf een soort pagina kon opbouwen om de stream van NPO Radio 5 af te spelen. En of die wél slim kan omgaan met bufferen en verversen van de data.

 

Ik heb eerst een console-applicatie gemaakt om te kijken welke HTML er geplaatst wordt en wat de data is. Zo kan ik redelijk snel de titel van het programma en de presentator/presentatrice opvragen. Vervolgens op "de afspeelknop" geklikt en gekeken welke URL's aangeroepen worden. Dat wordt vanuit Javascript gedaan ( /_next/static/chunks/pages/_app-....js ). Daarbij wordt bijvoorbeeld dit XML-bestand opgevraagd, https://npo.prd.cdn.bcms.kpn.com/.../live/npo/.../npo-radio-5/0/0/0/npo-radio-5.isml/stream.mpd

Daarin zijn verwijzingen naar .dash-bestanden. Dat zijn volgens mij losse MP4-bestanden, die je dan weer aan elkaar zou moeten koppelen of iets dergelijks. De eerste link geeft mij een soort player in de browser, de tweede de foutmelding dat het bestand foutief is. 

Ik zet de bestanden om (het zijn base64 bestanden) naar bytes, die kun je dan weer in een tekst-editor openen en dan zie je nog wat informatie. Zo lees ik daar "freeUSP by CodeShop". Daarmee kom je uit bij dit bedrijf, die maakt dus de software voor de streaming van de NPO. En zo kom ik ook een vraag op Reddit tegen die vergelijkbaar is, daar wordt het antwoord gegeven waarvan ik ook al vermoedde dat dit de manier zou moeten zijn waarop ik de stream kan opbouwen. 

 

Ik maak even een "pas op de plaats". Want hoewel dit cool en interessant klinkt, denk ik niet dat ik hiermee het probleem kan oplossen. En als ik dat wel kan, dan gaat dit waarschijnlijk "heel veel tijd kosten", iets waar ik al veel te weinig van heb. Dus.. ik ga voor de shortcut!

Wat is namelijk het probleem? nporadio5.nl doet het wel, de player ook. Het "probleem" is dat ik de pagina via een shortcut op de startpagina van de iPad gezet heb en je iPad het dan als een soort "app" behandelt, die in het geheugen actief blijft, blijft bufferen en je niet simpel kunt herladen. Kan ik daar niet "iets slims voor bedenken"?

Nou, dat denk ik wel. Ik maak een pagina die "meteen verloopt", die dus niet gecached wordt. Die pagina zet ik als "shortcut" op de homepage van de iPad. Als ik dat gedaan heb, dan pas ik de pagina aan. Ik had er al een link in de pagina gezet om "handmatig" door te gaan naar de pagina van NPO Radio 5, maar ik doe ook een redirect na 1 seconde. Zo kan mijn moeder "de app" aanklikken  en komt ze elke keer op een "verse nporadio5.nl pagina". Hiermee zou dit probleem opgelost moeten zijn! 

 

Ik heb de code in deze Github-repo gezet, mocht je het zelf ergens nodig hebben omdat je een vergelijkbaar probleem hebt, doe er je voordeel mee!