<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hello all,<br>
    <br>
    So LCA wrapped up today; not sure how many people were watching the
    streams or seen the news, but next years its in <b>Ballarat,
      Victoria</b>. We've got our next meeting on <b>Tuesday 8th Feb </b>where
    all our crew who were there will give us a run down on what
    happened.<br>
    <br>
    Which got me thinking about streams. I set up a test Icecast server
    to relay the LCA feeds - I should have through about this sooner and
    organised a direct upstream server to relay from, because it turned
    out that relaying from the public icecast servers was a little
    intermittent. I started to think about counting all the people
    connected to the relays in near-real time, to judge audience
    numbers. Icecast has a nice admin interface, but you need an admin
    password to see that; there's very little else you can do without
    the admin authroisation...<br>
    <br>
    So I thought I'd cobble together a very quick scraper that collects
    the statistics from the admin interface, and then makes that
    available in a  compact format that could be polled across all the
    edge relay hosts (in parallel), and then summed together. Hence I
    hacked together a few bits ad pieces: some XPath to extract content
    from a web page, JSON to encode the data for transport, and Curl
    Multi to access multiple servers at the same time, to distill out
    two scripts.<br>
    <br>
    <a class="moz-txt-link-freetext" href="https://www.james.rcpt.to/svn/trunk/Icecast_Counting/">https://www.james.rcpt.to/svn/trunk/Icecast_Counting/</a><br>
    <br>
    The first script, icecast_client_count.cgi, is run by the icecast
    admin, who needs to configre it with the credentials to scrape the
    passwd. They can of course limit the exposure of this data using
    standard web server tools (IP address restriction, etc?). The second
    script, poll_icecasters.pl is run to retrieve this data; it could
    then pop this information into an RRD, and you've got instant viewer
    numbers! for your stream(s).<br>
    <br>
    Anyway, the video streams were pretty good, a few interruptions, and
    a little bit too much of "one shot for 20 minutes", but its pretty
    solid. I was wondering if anyone was interested in playing with this
    kind of tech - get a couple of cameras, a mixing desk, and see what
    works and what doesn't, and seeing what can be done to improve it.
    Some of the ideas I had:<br>
    <br>
    * Titling. Have the name of each talk shown during the talk. Have
    the name of the speaker(s) overlaid at the start of their talk (or
    when speakers change)<br>
    * Branding: overlay the conference logo?<br>
    * Additional content: as soon as a presentation ends, the streams
    often stop abruptly or the camera i left pointing at a random spot
    on the wall. What else could be done?<br>
    <br>
    Anyone else interested in tinkering at some stage?<br>
    <br>
      James<br>
    <pre class="moz-signature" cols="72">-- 
Mobile: +61 422 166 708, Email: james_AT_rcpt.to</pre>
  </body>
</html>