How supported is Piwik for Shoutcast / Icecast / audio streams

I searched around and don’t see anyone really talking about this. Just mumbles here and there. How well does Piwik work with mining statistics / analytics for Shoutcast servers. How many times songs get played, how many times each are listened to, by date range. All the rest is fine and dandy like user’s, browsers, location, devices, etc. But what about down to the mp3 / audio file level.

Piwik would be the perfect platform to implement advanded analytics for media server. Maybe you can get in touch at: http://piwik.org/consulting/#contact-consultant to discuss how we can help with this!

This might be a silly question but the documentation says I need python 2.6 is this a strict requirement? My server is running 2.7.3. Other than that I have piwik installed and starting to configure it to read my shoutcast log files.

IIRC there are differences between python 2.7 and 2.6 and if we put the code compat with 2.7 then it breaks for 2.6 but heaps of people still run 2.6

I would be very interested in Icecast integration also. Anyone have any tutorials or prior experience on hand?

Hi square_eyes, there is a new tutorial here:

http://sourcefabric.booktype.pro/airtime-25-for-broadcasters/icecast-statistics-with-piwik/

Cheers!

Daniel

Hi doohic,

[quote=doohic]
How many times songs get played, how many times each are listened to, by date range. All the rest is fine and dandy like user’s, browsers, location, devices, etc. But what about down to the mp3 / audio file level.[/quote]

In order to do that, you would need to compare streaming stats against a log of which files were played. Icecast’s access log does not record file played information, as far as I can see. You might need to obtain a separate log from the broadcast automation system, then write a Piwik plugin to deal with that format.

For example, Airtime can export file played data in CSV format: http://sourcefabric.booktype.pro/airtime-25-for-broadcasters/playout-history/ which could be compared against timestamps to determine which file resulted in the most stream disconnections (i.e. which is your least popular content).

Cheers!

Daniel

Now I’m exited!

[quote=dhj]
Icecast’s access log does not record file played information, as far as I can see.[/quote]

I correct myself, there is an option for this, see http://www.icecast.org/docs/icecast-2.3.3/icecast2_config_file.html#log as follows:

playlistlog
Into this file, a log of all metadata for each mountpoint will be written. The format of the logfile will most likely change over time as we narrow in on a standard format for this. Currently, the file is pipe delimited. This option is optional and can be removed entirely from the config file.

Just tested this, the playlist.log format is as follows:

23/Jan/2014:12:40:21 +0000|/airtime_128|0|Dennis Coffey - 7th Galaxy feat. Jamall Bufford (14KT remix)
23/Jan/2014:12:40:59 +0000|/airtime_128|0|Jimi Tenor & Tony Allen - Against The Wall

Make sure your playout system is sending metadata to Icecast and that you have restarted Icecast after editing the icecast.xml config file.

We now have a Media Analytics plugin that tracks Videos & Audio!

More information is available here: http://www.media-analytics.net/ The plugin gives useful insights into media / video / audio analytics and adds many new reports, widgets and segments to Piwik.

Works with HTML5 video & audio, Vimeo and YouTube out of the box. Support for other players can be added easily and is documented in the developer docs. We are also happy to add support for more players upon request, please ping us. After installation the plugin will in most cases directly start tracking data see the setup guide

For a full list of features check out https://plugins.piwik.org/MediaAnalytics . Docs are available at FAQ, User Guide, Developer docs