0
Planned

Getting album art from URLs in stream metadata

Steve Leung 3 years ago • updated 2 years ago 4

Is it possible to have XiiaLive fetch album art based on URLs in the icy-metadata?


Right now, it seems like it's querying some external service (GraceNote?), and if that service hasn't heard of your song, then you get no album art.


I'm running my own personal ShoutCast stream, and I have album art for every song, no matter how obscure. I've tried putting the URL to the image into the StreamUrl field of the icy-metadata, but XiiaLive appears to ignore it.


Are there any other ways to convince XiiaLive to use a URL I provide for each song?

Answer

Answer
Planned

Ah very interesting use of the "StreamUrl" :P I'm going to implement support for that for the next release. Thanks for the details! :)

Under review

Hey thanks for writing about this. We use a 3rd party to pull album art. We are not looking at the icy-metadata for album art. However, if you have details on how you are sending the icy-metadata with album art and a link to your station, it could help us look into it.


Is the artwork URL you send an option on your server? Is it part of the icy spec?

Well this is a private station for personal use. I can send you a link through a private channel but I would not want to advertise it here publicly.


But actually, I've just discovered that the streams at radioparadise.com do the same thing that I'm trying to do. e.g. if you fetch http://stream-dc1.radioparadise.com/aac-128 (don't forget to put ICY-Metadata: 1 in the request headers of course).


You say "spec" but AFAICT icy-metadata is very poorly documented and/or specified. Or maybe I'm just not looking in the right place. But an example icy-metadata blob would look like:


StreamTitle='Artist Name - Song Title (Album Name)';StreamUrl='imgurl'


Where 'imgurl' would be an absolute URL to an image ending in .jpg or .png.


I've found another app that does appear to use the StreamUrl like I want:

https://play.google.com/store/apps/details?id=org.journeyman.android.apps.justplaylists

And a thread that suggests that Squeezeboxes currently support this (I don't have one, so I can't confirm):

http://forums.slimdevices.com/archive/index.php/t-45476.html



Answer
Planned

Ah very interesting use of the "StreamUrl" :P I'm going to implement support for that for the next release. Thanks for the details! :)

Sounds great. I was really struggling to think of any other reason for StreamUrl to exist, since the URL of the station as a whole can already be set in the response headers (as Icy-Url). Looking forward to the next release, and thanks for working on it!