| View previous topic :: View next topic |
| Author |
Message |
Anonymous Guest
|
Posted: Mon Mar 03, 2008 10:34 am Post subject: Icecast metadata tags artist and title merged |
|
|
I configured a server with Icecast 2 and liquisoap - savonet.
All my mp3 got their tags perfectly configured.
Despite of that, when I call the status2.xsl page of icecast it show the title tag merged with the artist tag, and the artist tag is empty, the status2.xsl code is unmodified, and winamp or foobar show both tags separetly
<xsl:value-of select="artist" /> give nothing
<xsl:value-of select="title" /> give artist and title merged
I thought it was a Liquidsoap bug but, the same problem appears with Ices !
Did somebody got that problem, or did I miss something in the config.
If you have a solution, I will gladly listen to it.
Thanx in advance |
|
| Back to top |
|
 |
karlH Code Warrior

Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Mon Mar 03, 2008 3:47 pm Post subject: |
|
|
check your logs to see what was passed in the url requests. On metadata update the most common approach is to use song= which will typically be a combination.
karl. |
|
| Back to top |
|
 |
Anonymous Guest
|
Posted: Mon Mar 03, 2008 6:53 pm Post subject: |
|
|
Thanx for yout quicl answer KarlH
well..I checked icecast2 logs and liquidsoap logs but I found nothing that indicate me a misfunction.
What do you mean by using song= ?
anyway here is my status2.xsl
| Code: |
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output omit-xml-declaration="no" method="xml" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
<xsl:template match = "/icestats" >
<pre>
MountPoint,Connections,Stream Name,Current Listeners,Description,Currently Playing,Stream URL
Global,Client:<xsl:value-of select="connections" /> Source: <xsl:value-of select="source_connections" />,,<xsl:value-of select="listeners" />,,
<xsl:for-each select="source">
<xsl:value-of select="@mount" />,,<xsl:value-of select="name"
/>,<xsl:value-of select="listeners" />,<xsl:value-of select="description" />,<xsl:value-of select="artist" /> - <xsl:value-of select="title" />,<xsl:value-of select="url" />
</xsl:for-each>
</pre>
</xsl:template>
</xsl:stylesheet>
|
this part of the code should retrieve the name of the artist but it give nothing
| Code: |
<xsl:value-of select="artist" />
|
and this part should give the title only but gives me the artist and the title merged
| Code: |
<xsl:value-of select="title" />
|
here is my liquidsoap script :
| Code: |
#!/usr/bin/liquidsoap
set("init.daemon.pidfile.path","/path/to/radio/pid")
_user = "***"
_password = "***"
_host = "localhost"
_url = "****"
_name = "***"
_description = "***"
##Fade in out
def crossfade(~start_next,~fade_in,~fade_out,s)
s = fade.in(duration=fade_in,s)
s = fade.out(duration=fade_out,s)
fader = fun (a,b) -> add(normalize=false,[b,a])
cross(fader,s)
end
# Log dir
set("log.file.path","/path/to/radio/log/stream.log")
# Music
stream = playlist(reload=600, mode="normal", "/path/to/radio/playlists/playlist.m3u")
# mksafe turns a faillible source into an infaillible source
stream = mksafe(stream)
stream=crossfade(start_next=1.,fade_out=1.,fade_in=1.,stream)
# Stream it out
output.icecast.mp3(host = _host, port = 8000, user=_user, password =_password, mount = "stream", url=_url, description=_description, name=_name, bitrate=128,samplerate=44100, stream)
|
I have no clue... |
|
| Back to top |
|
 |
Anonymous Guest
|
Posted: Tue Mar 04, 2008 2:35 am Post subject: |
|
|
I found something interresting, when the output is done in ogg format the artist and title are correct, no merging
I don't know if is this a poor mp3 metadata standard implementation , or an icecast2 bug.
Anyway my problem is not solved... |
|
| Back to top |
|
 |
karlH Code Warrior

Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Tue Mar 04, 2008 4:04 am Post subject: |
|
|
as I said, the url is probably using song=artist-title so the merging is before icecast. icecast will handle artist=...&title=... but that is up to the source client.
karl. |
|
| Back to top |
|
 |
Anonymous Guest
|
Posted: Tue Mar 04, 2008 12:49 pm Post subject: |
|
|
How do you explain that the source is the same, I mean Liquidsoap, only the output line was changed to ogg vorbis but nothing else, the rest was unchanged.
But I still don't understand what do you call 'the url' ? |
|
| Back to top |
|
 |
karlH Code Warrior

Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Tue Mar 04, 2008 3:13 pm Post subject: |
|
|
mp3 has no native metadata support like vorbis does, both use different approaches to metadata insertion. Ogg Vorbis uses a special packet in the stream which contains the text you see, with mp3, the source client has to issue a separate url request each time it wants to change the metadata (look for /admin/metadata requests in the access log). Those updates are then inserted into the stream for each mp3 player that requests them (this is because the act of insertion breaks the mp3 spec).
The format of the url that updates the metadata follows a simple structure /admin/metadata is the request but query args are passed, one is song= which in your case will be of the format artist-title.
karl. |
|
| Back to top |
|
 |
Anonymous Guest
|
Posted: Tue Mar 04, 2008 8:31 pm Post subject: |
|
|
okay I understand now Karl,
Anyway, I really prefer the ogg file format, but this music stream is an order from a costumer who wants to use their custom Flash player... |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2002 phpBB Group subRebel style by ktauber
|