Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Internet radio streams with cover art (Read 6260 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Internet radio streams with cover art

Does anyone know internet radios which embed cover art inside their streams aside from Radio Paradise?
Is there probably a list of them, that I missed when I searched the web?

Re: Internet radio streams with cover art

Reply #1
Does anyone know internet radios which embed cover art inside their streams aside from Radio Paradise?
Is there probably a list of them, that I missed when I searched the web?
I know these:
Code: [Select]
https://vintageradio.ice.infomaniak.ch/vintageradio-high.mp3
http://broadcast.infomaniak.ch/energybern-high.mp3
Maybe there is more?

Re: Internet radio streams with cover art

Reply #2
Thanks - Energy Bern embeds some good quality hi-res covers, at least the last three titles I've seen.
The covers embedded by Radio Paradise often look like small scans saved with 50% JPEG compression.

Re: Internet radio streams with cover art

Reply #3
Silly question - it looks like the art is set by sending a StreamUrl tag in the in-band metadata. What players support that?  I had no idea using the StreamUrl to link to art was a thing!

 

Re: Internet radio streams with cover art

Reply #4
> Silly question - it looks like the art is set by sending a StreamUrl tag in the in-band metadata. What players support that?

fb2k

>  I had no idea using the StreamUrl to link to art was a thing!

Me, too. Thought that it was streamed alongside the ID3 tag as binary, like in files.


Re: Internet radio streams with cover art

Reply #6
also add this stream to the list
Code: [Select]
http://streams.olympia-streams.nl:80/classics192
Thanks.
Do you know players aside from fb2k which support the StreamUrl tag to display the cover art?


Re: Internet radio streams with cover art

Reply #8
> I don't know any other players that support it.

There must be others, possibly radio apps like Radiodroid.
Or the radio station apps which use that data to display the cover art.

If someone wants to go crazy: cycle through a radio station database like radio-browser.info with "ffprobe -hide_banner $uri" and grep for StreamUrl to make a list of radio stations with cover art.

> I should mention that both the desktop and the mobile versions of fb2k support it.

Yup. Does that also include the slightly differing MacOS version? Can someone verify that?

Re: Internet radio streams with cover art

Reply #9
> I don't know any other players that support it.

There must be others, possibly radio apps like Radiodroid.
Or the radio station apps which use that data to display the cover art.

If someone wants to go crazy: cycle through a radio station database like radio-browser.info with "ffprobe -hide_banner $uri" and grep for StreamUrl to make a list of radio stations with cover art.

> I should mention that both the desktop and the mobile versions of fb2k support it.

Yup. Does that also include the slightly differing MacOS version? Can someone verify that?

Radiodroid only shows logo.

I would guess the native app Radio Paradise uses it.

Yes, ffprobe  database directories  is how to find them. (I will post a list when done)

SOMAfm stations provide the station logo with StreamUrl
Code: [Select]
http://ice6.somafm.com/secretagent-128-mp3

Sorry, not a Mac/iOS user.. I can't confirm.


Re: Internet radio streams with cover art

Reply #10
Me, too. Thought that it was streamed alongside the ID3 tag as binary, like in files.

Nope! In fact, Internet radio streams don't usually have ID3 tags at all. The metadata is sent either via HTTP header (used for the non-updating stuff like the radio station name) or in-band Shoutcast data, which doesn't actually have a formal definition or specification.

Some radio streams using Vorbis and Opus will embed metadata using Vorbis comments instead, since Ogg supports "chaining", where you can just end the Ogg stream and start sending the next (with fresh tags).

But for MP3 and AAC they usually rely on the server to inject metadata at a fixed-byte interval, and clients have to parse it out.

There might be some out there that do use ID3 but I haven't seen one in the wild.

Re: Internet radio streams with cover art

Reply #11
Thanks for the technicals details.
I'm yet to see a FLAC stream with cover art - even the Radio Paradise stream listed as "FLAC + Metadata" carries only the artist and title tag.
Is there probably a technical limitation that prevents FLAC streams from carrying the StreamUrl tag?
Or is it maybe transported in a different way and fb2k doesn't support it (yet)?

Re: Internet radio streams with cover art

Reply #12
Their FLAC+Metadata stream is using Ogg as the transport format - but they're using same in-band method you see for MP3 and AAC - injecting metadata at a fixed byte interval.

I don't think there's any technical reason to omit the StreamUrl tag. I noticed another stream doesn't have it as well (AAC-64kbps) - I haven't checked every stream though. It may just be an oversight.

Re: Internet radio streams with cover art

Reply #13
Their FLAC+Metadata stream is using Ogg as the transport format - but they're using same in-band method you see for MP3 and AAC - injecting metadata at a fixed byte interval.

I don't think there's any technical reason to omit the StreamUrl tag.
I'd guess they're only including it for the stream they're using in their app, so that it can be read out for display.

Anyway: can't wait to see the list by zeremys script.

Re: Internet radio streams with cover art

Reply #14
Anyway: can't wait to see the list by zeremys script.

Here are the results after ffprobe over 40000 urls from the  radio-browser.info  database:

With image

Code: [Select]
#EXTM3U
#EXTINF:-1,Radio Paradise - Main Mix (32k aac)
http://stream.radioparadise.com/aac-32
#EXTINF:-1,Radio Paradise - Main Mix (64k aac)
http://stream.radioparadise.com/aac-64
#EXTINF:-1,Radio Paradise - Main Mix (128k aac)
http://stream.radioparadise.com/aac-128
#EXTINF:-1,Radio Paradise - Main Mix (320k aac)
http://stream.radioparadise.com/aac-320
#EXTINF:-1,Radio Paradise - Main Mix (192k mp3)
http://stream.radioparadise.com/mp3-192

#EXTINF:-1,Radio Paradise - Mellow Mix (32k aac)
http://stream.radioparadise.com/mellow-32
#EXTINF:-1,Radio Paradise - Mellow Mix (64k aac)
http://stream.radioparadise.com/mellow-64
#EXTINF:-1,Radio Paradise - Mellow Mix (128k aac)
http://stream.radioparadise.com/mellow-128
#EXTINF:-1,Radio Paradise - Mellow Mix (320k aac)
http://stream.radioparadise.com/mellow-320
#EXTINF:-1,Radio Paradise - Mellow Mix (192k mp3)
http://stream.radioparadise.com/mellow-192

#EXTINF:-1,Radio Paradise - Rock Mix (32k aac)
http://stream.radioparadise.com/rock-32
#EXTINF:-1,Radio Paradise - Rock Mix (64k aac)
http://stream.radioparadise.com/rock-64
#EXTINF:-1,Radio Paradise - Rock Mix (128k aac)
http://stream.radioparadise.com/rock-128
#EXTINF:-1,Radio Paradise - Rock Mix (320k aac)
http://stream.radioparadise.com/rock-320
#EXTINF:-1,Radio Paradise - Rock Mix (192k mp3)
http://stream.radioparadise.com/rock-192

#EXTINF:-1,Radio Paradise - Global Mix (32k aac)
http://stream.radioparadise.com/global-32
#EXTINF:-1,Radio Paradise - Global Mix (64k aac)
http://stream.radioparadise.com/global-64
#EXTINF:-1,Radio Paradise - Global Mix (128k aac)
http://stream.radioparadise.com/global-128
#EXTINF:-1,Radio Paradise - Global Mix (320k aac)
http://stream.radioparadise.com/global-320
#EXTINF:-1,Radio Paradise - Global Mix (192k mp3)
http://stream.radioparadise.com/global-192

#EXTINF:-1,Vintage Radio (128k mp3)
https://vintageradio.ice.infomaniak.ch/vintageradio-high.mp3

#EXTINF:-1,Energy Basel (128k mp3)
https://energybasel.ice.infomaniak.ch/energybasel-high.mp3

#EXTINF:-1,Energy Bern (128k mp3)
http://broadcast.infomaniak.ch/energybern-high.mp3

#EXTINF:-1,Energy St.Gallen (128k mp3)
https://energystgallen.ice.infomaniak.ch/energystgallen-high.mp3

#EXTINF:-1,Energy Zuerich (128k mp3)
http://broadcast.infomaniak.ch/energyzuerich-high.mp3

#EXTINF:-1,Olympia Classics (192k mp3)
http://streams.olympia-streams.nl:80/classics
#EXTINF:-1,Olympia Classics (64k aac)
http://streams.olympia-streams.nl:80/classics64
#EXTINF:-1,Olympia Classics (192k aac)
http://streams.olympia-streams.nl:80/classics192

#EXTINF:-1,Olympia Radio (192k mp3)
http://streams.olympia-streams.nl:80/olympia
#EXTINF:-1,Olympia Radio (64k aac)
http://streams.olympia-streams.nl:80/olympia64
#EXTINF:-1,Olympia Radio (192k aac)
http://streams.olympia-streams.nl:80/olympia192

#EXTINF:-1,Dandelion Radio
http://stream.dandelionradio.com:9414/



The following urls (planetradio) contain STREAM_URL https://listenapi.planetradio.co.uk/api9.2/eventdata/xxxxx , that provide json data  with "eventImageUrl" :

Code: [Select]
http://edge-bauerall-01-gos2.sharp-stream.com/forth1.mp3
http://edge-bauerall-01-gos2.sharp-stream.com/gem106.mp3
http://edge-bauerall-01-gos2.sharp-stream.com/net2gloucester.mp3
http://edge-bauerall-01-gos2.sharp-stream.com/net2sussex.mp3
http://edge-bauerall-01-gos2.sharp-stream.com/net2westnorfolk.mp3
http://edge-bauerall-01-gos2.sharp-stream.com/planetrock.mp3
http://edge-bauerall-01-gos2.sharp-stream.com/scalahigh.aac
http://icy-e-bz-07-boh.sharp-stream.com/northsound2.mp3
http://live-bauer-al.sharp-stream.com/kisstory.mp3
http://live-bauerdk.sharp-stream.com/voice128.mp3
http://stream-mz.planetradio.co.uk/net1cornwalleast.aac
http://tx-bauerdk.sharp-stream.com/http_live.php?i=radiosoft_dk_mp3
https://edge-bauerall-01-gos2.sharp-stream.com/absolute00shigh.aac
https://edge-bauerall-01-gos2.sharp-stream.com/absolute10shigh.aac
https://edge-bauerall-01-gos2.sharp-stream.com/absolute60shigh.aac
https://edge-bauerall-01-gos2.sharp-stream.com/absolute70shigh.aac
https://edge-bauerall-01-gos2.sharp-stream.com/absolute80shigh.aac
https://edge-bauerall-01-gos2.sharp-stream.com/absolute90shigh.aac
https://edge-bauerall-01-gos2.sharp-stream.com/absoluteclassicrockhigh.aac
https://edge-bauerall-01-gos2.sharp-stream.com/hits.mp3
https://edge-bauerall-01-gos2.sharp-stream.com/kerrang.mp3
https://edge-bauerall-01-gos2.sharp-stream.com/metro.mp3
https://edge-bauerall-01-gos2.sharp-stream.com/net1cornwall.mp3
https://edge-bauerall-01-gos2.sharp-stream.com/net2aylesbury.mp3
https://edge-bauerall-01-gos2.sharp-stream.com/net2york.mp3
https://edge-bauerall-01-gos2.sharp-stream.com/webcast3high.aac
https://edge-bauerdk-02-thn.sharp-stream.com/radio100_dk_tunein_mp3
https://live-bauerdk.sharp-stream.com/DK_HQ_RP11.aac
https://live-bauerdk.sharp-stream.com/myrock_dk_mp3
https://live-bauerdk.sharp-stream.com/radiosoft_dk_tunein_mp3
https://live-bauerdk.sharp-stream.com/thevoice_dk_mp3
https://live-bauerno.sharp-stream.com/kiss_no_mp3
https://live-bauerno.sharp-stream.com/station17_no_mp3
https://live-bauerse-fm.sharp-stream.com/retrofm_aacp
https://live-bauerse-fm.sharp-stream.com/vinylfm_instream_se_aacp
https://stream-al.planetradio.co.uk/kissfresh.aac
https://stream-mz.planetradio.co.uk/magicnational.mp3
https://stream-mz.planetradio.co.uk/magicsoul.mp3
https://stream-mz.planetradio.co.uk/net2essex.aac
https://stream-mz.planetradio.co.uk/net2suffolk.aac
https://stream.on.revma.com/6wa52xb1pg0uv
https://stream.on.revma.com/edb2t3pp2p8uv

e.g
https://listenapi.planetradio.co.uk/api9.2/eventdata/200427125

Code: [Select]
{"eventId":200427125,"eventStart":"2023-08-05 18:27:11","eventFinish":"2023-08-05 18:29:13","eventDuration":123,"eventType":"Song","eventSongTitle":"The Playfords - Role the Rumple Sawny","eventSongArtist":"The Playfords","eventImageUrl":"https://media.bauerradio.com/image/upload/tracks/364721.jpg?ver=1690819389","eventImageUrlSmall":"https://media.bauerradio.com/image/upload/tracks/160x160/364721.jpg?ver=1690819389","eventAppleMusicUrl":"https://geo.itunes.apple.com/dk/album/1694005061?i=1694005394"}

I have added it to footuner.
https://github.com/smoralis/footuner/commit/4cf1cbb382d13d80c4bf46b9f2354594d66bb1dd

All somafm provide logo:

e.g

Code: [Select]
http://ice5.somafm.com/poptron-64-aac

http://somafm.com/logos/512/poptron512.png

Other urls found with STREAM_URL either contain the stations url, other non image links or other data.

I have attached the crbresults.txt.

Re: Internet radio streams with cover art

Reply #15
Here are the results after ffprobe over 40000 urls from the  radio-browser.info  database:
Insane. Thank you so much!


Re: Internet radio streams with cover art

Reply #17
@pyr452
It seems that Aimp has added support for this also.
Seems like someone has studied the competition carefully, although fb2k has it since 2½ years.
Maybe radio-browser.info support shows up at AIMP next. ;-)

Anyway: it's good since this might convince more radio stations to include cover art in their streams.

Re: Internet radio streams with cover art

Reply #18
I run a internet radio station I do not know o any station that can send covers to the listener.  It is radio player the station use  on their website that shows album covers.  Most of these radio players pull album covers from Itunes or Lastfm.  Phat Beats Radio my internet radio station website use a radio player from Rcast.net I have no idea where it pulls covers from about 25% to 35% it will display the cover of the wrong album or not even the right artist. 

Re: Internet radio streams with cover art

Reply #19
Desktop fb2k users can check the source of internet radio images with my component which displays the URL as a tooltip.

As an example, you can see how painfully low quality radioparadise is...



https://jscript-panel.github.io/gallery/album-art/