[plug] Icecast video streams

James Bromberger james at rcpt.to
Fri Jan 28 20:49:06 WST 2011


Hello all,

So LCA wrapped up today; not sure how many people were watching the
streams or seen the news, but next years its in *Ballarat, Victoria*.
We've got our next meeting on *Tuesday 8th Feb *where all our crew who
were there will give us a run down on what happened.

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...

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.

https://www.james.rcpt.to/svn/trunk/Icecast_Counting/

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).

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:

* 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)
* Branding: overlay the conference logo?
* 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?

Anyone else interested in tinkering at some stage?

  James

-- 
Mobile: +61 422 166 708, Email: james_AT_rcpt.to

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.plug.org.au/pipermail/plug/attachments/20110128/2b578489/attachment.html>


More information about the plug mailing list