[Icecast-dev] Icecast stats.xml

Roger Hågensen rescator at emsai.net
Thu Oct 23 12:12:14 PDT 2014

On 2014-10-23 09:02, "Thomas B. Rücker" wrote:
> Thanks for taking the time to report this.
> On 10/23/2014 06:38 AM, Roger Hågensen wrote:
>> Consider this a Ticket for Icecast 2.4
>> ********************************************************************************
>> If you look at
>> {{{
>> admin/stats.xml
>> }}}
>> on a Icecast-KH server (default setup) and an Icecast 2.4 server
>> (default setup) the following is one of the things that the KH branch
>> has as extra info.
>> {{{
>> <listener id="3581">
>>       <ID>3581</ID>
>>       <IP></IP>
>>       <UserAgent>foobar2000/1.3.3</UserAgent>
>>       <lag>42631</lag>
>>       <Connected>1028</Connected>
>> </listener>
>> }}}
>> The fact that Icecast 2.4 lacks this info makes it impossible (or close
>> to impossible short of scraping the listener page) to collect listener
>> time stats.
>> The listener stats (the id, ip and connected) is vital for building the
>> logs that StreamLicensing.com needs.
>> Due to this SL can only support Shoutcast v1, SHoutcastv2 and Icecast-KH.
>> These stats are vital for the calculation and reporting of the royalties
>> to SoundExchange and various PROs.

>> This causes a small issue as server hosting companies only support
>> Icecast (not the -KH branch), and Centova Cast (which many hosters use
>> for their backend) do not support Icecast-KH either.
>> This causes a deadzone where Icecast 2.4 can not be used as the
>> streaming server.
> It is very important for us to know about such things. So far we were
> mostly under the impression that a combination of playlist.log and the
> information available through the various admin XML representations
> (there is more than the main stats XML) would be sufficient. Only last
> June I ran into some mentions of a licensing service and actually
> reached out to them, but yet have to go through the information they
> provided.

The way StreamLicensing.org does it, is to login (authenticate) as admin 
on the shoutcast/icecast server, and in the case of Icecast-KH they just 
retrieve the stats.xml
For Icecast 2.4 this does not work, sure the song title and some other 
info is there just like with Icecast-KH (which only has an extra 
yellowpages line repeating existing info for some reason).
But Icecast 2.4 lacks the listener list which is what StreamLicensing needs.

If modifying Icecast 2.4.1 (or later) so stats.xml matches what 
Icecast-KH outputs is not an option then perhaps some of the info 
available in stats.xml could also be presented in a listeners.xml instead?
That way StreamLIcensing (and any other similar services, though after 
LoudCity shut down there really aren't any others) only need to fetch... 
With the stats from stats.xml plus a listener list, the needed info is 
there in the .xsl (from what I can see)

The system StreamLicensing uses is fully automated, whereas the log 
would have to be manually submitted. (as far as I'm aware)

I could poke StreamLicensing for more details on the stuff from 
stats.xml they need.
But I know (from previous emails with them) that the following is the 
key part, UserAgent is probably not needed, but I'm assuming that some 
people (like me) might want to automatically fetch UserAgent info to see 
which players (and versions) are the most common.

<listener id="3581">

Do note that while having it identical to Icecast-KH would allow 
StreamLicensing to simply point their grabber on a Icecast 2.4.x server 
with no code changes, if the tag names and such are different then 
they'd be willing to add code for parsing that. As long as the key 
information is still there.
I.e: The IP, the ID, the Connected info. (and preferably the UserAgent too)

I'll double check with StreamLicensig what the minimum info needed is, 
and wat the preferable is (same as Icecast-KH's stats.xml is my guess 


More information about the Icecast-dev mailing list