On Tue, 25 Feb 2003, Michael Smith wrote:> On Tuesday 25 February 2003 16:13, Deva Seetharam wrote: > > Mike, > > > > On Tue, 25 Feb 2003, Michael Smith wrote: > > > On Tuesday 25 February 2003 10:31, Deva Seetharam wrote: > > > > hello all, > > > > > > > > in icecast2, how can i determine when one *MP3* song ends and the next > > > > one starts? > > > > > > > > i am involved in user preferences research and i am writing a > > > > statistics collecting software the tracks the songs that are being > > > > played, the number of people listening to particular songs, genre etc. > > > > > > > > i need to know how to hook into icecast2 so that i can collect these > > > > information. i am reading the icecast src code. but it is not clear > > > > where to look. could anyone pls. help? > > > > > > Generally - you can't. You can do in-depth audio analysis to try and > > > guess, but that's WAY outside the scope of icecast. > > > > > > If you've got metadata updates synchronised well to the actual stream > > > (rare - but it's not uncommon to be close enough), you can hook into the > > > metadata updates (see handle_metadata_request() in connection.c, and a > > > bunch more stuff in format_mp3.c), and you might assume that those are > > > equivalent to song endings. > > > > > > > > > You may be better off getting song info from the source program, and > > > doing your own external synchronisation to icecast listener counts, etc. > > > > sorry, i dont quite understand what you are saying. could you pls. > > explain? > > That's what the above was - an explanation. If you don't understand a specific > part, you'll have to say which BIT you don't understand - I'm happy to > explain, but I can't if you don't tell me what is unclear.ah, sorry. what do you mean by the source program? streamer? what is external synchronization? btw, where can i find the mp3 straming specs? that is, i would like to know the data format, metadata format and how they are sent together from a streaming program to a broadcast server such as icecast.> Mike > > --- >8 ---- > List archives: http://www.xiph.org/archives/ > icecast project homepage: http://www.icecast.org/ > To unsubscribe from this list, send a message to 'icecast-dev-request@xiph.org' > containing only the word 'unsubscribe' in the body. No subject is needed. > Unsubscribe messages sent to the list will be ignored/filtered. >--- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
> ah, sorry. what do you mean by the source program? streamer? what is > external synchronization?The source program is whatever provides the data stream - ices, for instance. External syncronisation means performing whatever synchronisation you need to get the data you want in a seperate program - not within icecast (or ices).> > btw, where can i find the mp3 straming specs? that is, i would like to > know the data format, metadata format and how they are sent together from > a streaming program to a broadcast server such as icecast.The mp3 data format is available from many places, including the actual mpeg standards documents. The mp3 metadata format is a nasty hack originated by the shoutcast people - do a web search for "shoutcast metadata protocol", there are quite a few explanations of it. Sending to icecast uses HTTP, with the SOURCE method (an icecast extension). Metadata in icecast can either be inline (using the same protocol as for the clients) (though this is rare - I don't know any source clients which support it) or asynchronously through HTTP GET requests to /admin/metadata on the server. Mike --- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
On Tuesday 25 February 2003 16:13, Deva Seetharam wrote:> Mike, > > On Tue, 25 Feb 2003, Michael Smith wrote: > > On Tuesday 25 February 2003 10:31, Deva Seetharam wrote: > > > hello all, > > > > > > in icecast2, how can i determine when one *MP3* song ends and the next > > > one starts? > > > > > > i am involved in user preferences research and i am writing a > > > statistics collecting software the tracks the songs that are being > > > played, the number of people listening to particular songs, genre etc. > > > > > > i need to know how to hook into icecast2 so that i can collect these > > > information. i am reading the icecast src code. but it is not clear > > > where to look. could anyone pls. help? > > > > Generally - you can't. You can do in-depth audio analysis to try and > > guess, but that's WAY outside the scope of icecast. > > > > If you've got metadata updates synchronised well to the actual stream > > (rare - but it's not uncommon to be close enough), you can hook into the > > metadata updates (see handle_metadata_request() in connection.c, and a > > bunch more stuff in format_mp3.c), and you might assume that those are > > equivalent to song endings. > > > > > > You may be better off getting song info from the source program, and > > doing your own external synchronisation to icecast listener counts, etc. > > sorry, i dont quite understand what you are saying. could you pls. > explain?That's what the above was - an explanation. If you don't understand a specific part, you'll have to say which BIT you don't understand - I'm happy to explain, but I can't if you don't tell me what is unclear. Mike --- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.