Dreambox + MediaTomb + Noxon iRadio = streaming satellite radio into the kitchen.
Prerequisites
I'm on modem. Totally on modem - no DSL, no internet via satellite, no UMTS, nothing. Just a plain ISDN link to the outer world. Internet radio streaming is out of range for me.
The task
Getting the networked kitchen radio, noxon's iRadio, to play ancient radio stations.
Ingredients
- A Dreambox 7025 - able to stream received satellite TV and satellite radio in mpeg2/TS format into the network.
- My home server, running the deliciously well documented MediaTomb UPnP server.
It probably helps to know that the iRadio is not able to play the stream directly from the dreambox, since - in my understandings - there are no proper headers in the stream. FFmpeg does not even recognize it. The dreambox just streams the raw data received from satellite into the network, without any modification.
The solution
As written previously, ffmpeg - the ideal audio converter - does not recognize the data format. The alternative, mencoder, does not like to convert streams without video. But mplayer/mencoder (and vlc) are the only ones to recognize the stream and play it.
The mplayer-users mailing list helped me: Mplayer itself can save audio streams to PCM/wav files, using the option -ao pcm. The first part of the puzzle was solved (Thanks, RC!).
In version 0.11, MediaTomb got transcoding capabilities. That basically means that any external tools can be used to convert files on the fly into formats that the requesting UPnP media renderers understand. You choose a non-existing MIME type that the player does not understand (e.g. audio/x-satellite-mpeg2) and create a transcoding profile for that MIME type into audio/x-wav, which is understood by the media renderer.
I added the following piece
of code
lines into MediaTomb's config.xml, directly after
<import>:
]]> audio/x-wav yes no no
The last easy step: Open the MediaTomb web frontend and add an item "External Link (URL)", put in the direct URL (not the m3u playlist link) and MIMEtype audio/x-satellite-mpeg2. (If you want to add the m3u, you need to add the -playlist parameter to the mplayer arguments.)
Select the radio station in your player and enjoy!
Alternative
Instead of adding the items directly via the web interface, one could put text files with .mms extension into a folder. The files only need to contain an URL to the dreambox (m3u or direct stream), nothing more. Map .mms extensions in <extension-mimetype> to the non-standard MIME type, and you're done.