Live Radio: metadata

Same thing for Radio Paradise. Thanks Sébastien and Rémi. :slight_smile:
I hope Roon’s team reads this thread. :wink:
je croise les doigts

Thanks, using your excellent instructions I was able to get an rsas server + node-red setup working on Ubuntu under windows 10.

If I could only get rsas on an rpi…

Hi all,
highly informative thread this.
My name is Florian, i run motherearth.
I’d be happy to get Roon users on-board.
We did update icecast once to a icecast-KH version, but had trouble with it and discarded that for now.
We also tried out RSAS instead of Icecast, but had even more trouble with it, and it is a cost-issue.
What else could we do? The latest conversation about API’s is a little over my head i have to admit.
As already pointed out i stream to icecast with liquidsoap, i think i can get liquidsoap to do almost anything to help, but not the End-of-file inside a stream issue. Dev’s pointed out that this is client-sided.

JB Radio-2 is back on Roon’s list, how have they been able to fix, anyone knows that?

thanks and greetings,

1 Like

Hello and welcome @Florian_Reiterer. I really appreciate your posting here.

With flac streams there are now two ways of adding metadata. One uses the header of a flac file to hold it, but this entails sending separate files within the Ogg stream with associated beginning and end-of-stream flags; and as you know, not all clients deal with this gracefully. At the moment Roon will stop when it sees the EOS flag.

The alternative is effectively the same as Icecast uses for aac and mp3 streams - an icy-metaint field is used to specify regular intervals in the stream where the metadata is inserted. Unfortunately, Icecast cannot do this for Flac files, although Rocket Streaming Audio Server can.

This is how Radio Paradise works, for example.

JB Radio-2 used to use the first method (separate flac files), but have recently stopped, no longer send metadata in their flac streams, and just send a continuous flac stream. Hence Roon doesn’t see EOS flags and has no problems.

The bottom line is that if Icecast is used, then at present Roon cannot handle metadata.

I’m pinging @dylan, @Sebastien, @alec_eiffel and @andybob here in case they have anything to add.

1 Like

Thank you Brian for summing it up.
From what liquidsoap’s dev told me i might not be able to fix this; yet i’ll give it another shot; maybe we can enhance the embedded stream’s metadata to icecast a bit more, there is a slight weirdness in my config, to as where i dont send icy_metadata in the options since metadata only passed thru icecast when disabled. Anyway i’ll have another look.

Please do, but I am not confident. Trying the icy_metaint route fails because Icecast will not allow updating of flac metadata via HTTP requests as it does for mp3 and aac; and as the server needs to control the metadata interval for each client, this can’t be done by the source itself.

Without that option, the only way the source can properly add metadata to a flac stream, ahead of the server, is to add it to the flac header for each song - which leaves us with the EOS problem as such headers follow a BOS flag, which in turn should follow EOS ones.

I applaud your efforts to find a solution, but I think this is Roon’s problem.


Hi Everyone,

we have upgraded the radio to RSAS, Roon should be fine now.

Anyone interested could add the station via this adress:

Thanks all for your input, which i found very helpful and thanks for being such a nice community.



Wonderful @Florian_Reiterer! Thank you very much for this - we really appreciate it.
I’ve added your new stream and tested it - no problems.

Thank you again Florian.


Does the cover-art get through to you guys?

No it doesn’t Florian. At present Roon can’t process that and relies on identifying the track and artist and presenting the user with an appropriate album.

I’m curious as to where the album art is - I don’t see it in the stream or your website.


I was just curious; since i serve files with cover-art embedded to RSAS, i was hoping cover-art would make it into the stream - yet it doesnt look like it for a start.
I’m new to Rocket Stream Server so i was just checking!

Thank You indeed Brian!

I don’t think it’s there

Nothing else advertised.

I don’t believe Icecast type streaming can deal with cover art. The only way is to send separate flac files with embedded art (which is where we started).

So, did Roon give you some artwork by identfiying track and artist?
Would it then be helpful to try and get the “album”-tag included?

Sometimes yes, sometimes no. It depends on the detail of the metadata. Here’s one where Roon identified it

Which Roon IDs as

And a click gets you to

So it can work well. I think you’ve done all you can.

Hi all, is there a way to make this work for BBC Radio 6 Music? The BBC sounds app displays the song and ‘now playing’ but when you listen via Roon it doesn’t have anything (other than the station title).


Unfortunately not. The BBC streams do not carry metadata (try VLC - they can’t show it either). The BBC sounds app will get the metadata via their own separate route which Roon cannot follow.


Ok, thanks @BrianW. Is that something the BBC could be asked by Roon to provide? I apprecaite entirely this is not Roon’s fault or a Roon issue but it is something that would enhance Roon a lot, so would be great if you could!

I don’t know and wouldn’t presume. This sounds like a good #roon:feature-requests to me. Please post there where the Roon people will add it into their considerations.

1 Like

It can be done under two conditions:
1 - find an API broadcasting the metadata
2 - setup an Icecast server + Node Red to merge audio stream and metadata retrieved from the API

I can definitely help with 2, adding BBC Radio 6 to the server I set for Radio France stations.

I was unfortunately unable to find an API for Radio 6 metadata, the one from BBC website is only broadcasting program name and not songs.


Update: found an API for Radio 6 :

Unfortunately BBC is streaming in HTTP Live Streaming (HLS) which I cannot handle now… Will keep investigating.