next*next*

a yahoo! thinga yahoo! thing

Browsing Live Video Streams

I'm a developer at Yahoo's Brickhouse, and have been designing better ways to browse live internet video broadcasts. Currently the best way to find interesting live content is to flip through channels and sites one-by-one, I'm convinced there must be a better way.

One of the approaches I've been working on involves storing periodic snapshots of all the indexed streams. I've been using these snapshots in different interfaces to explore the current and past broadcasts visually, as well as to illustrate search results. Taking image and metadata snapshots at approximately five minute intervals of all the broadcasters on Yahoo! Live, I've accumulated close to a million snapshots.

As a small fun side project, I've used a portion of the collected snapshots and some of the simpler metadata to put together two simple visualizations of the activity on Yahoo! Live. The first visualization is in the form of a grid of broadcasters which shows all the simultaneous broadcasters at once:

Grid


View the video in HD

The first thing that struck me on watching the grid visualization was the transitions people go through as they host their broadcasts. Some people change clothes, quite a few fall asleep, and plenty more start to get visibly tired. Looking at the grid as a whole, I also see some interesting trends. Night and day are pretty clear from both the number of broadcasters and the lack of natural light late at night. As an extension to being able to see the collective night and day I am guessing that most of the broadcasters are in similar timezones. I've also noticed that most of the broadcasters on the grid look like they are under 30, and are broadcasting from a private place.

The second visualization is a chart displaying broadcasters by the time they've been broadcasting versus the number of viewers they have:

Chart


View the video in HD

The most popular broadcasters float to the top of the chart, while those with very few stay near the bottom and get lost in the crowd. As the most viewed streams tend to have exponentially more viewers than the average stream fitting all of them on the screen at once required a logarithmic vertical scale. This difference in viewers might correspond to the distinction between a broadcast environment, and a chat room environment. The broadcast environment would have one primary broadcaster who is the primary focus of viewer attention and interaction. A chat room environment would have a small number of user all interacting with each other.

It's interesting to see the trends that become apparent when visualizing the broadcasters viewership over time. While observing the top broadcasts in this view, I noticed two. The first is that viewership for popular broadcasts tends to rise very quickly at the beginning of the broadcast, and then stabilizes within a limited range. The second was that most of the top broadcasters tended to be female, which is an interesting contrast to regular television.

So how did I achieve these visualizations? The snapshot collector uses Yahoo live's API to discover broadcasters and then instantiates a browser for each broadcaster to grab a shot. When it grabs the shot, it also collects some simple metadata, and stores it in an SQL database. This metadata along with the snapshot is pulled out by the visualization code, which was created using ruby-processing, an API to the Processing framework for visual programming in Ruby. Eventually, given some time I would like to clean up the visual design and also experimenting with auxiliary information displays, such as trace lines on the paths of the chart to visually show more history information.

Popularity: 12% [?]

Nikhil Bobb, July 17th, 2008 on 12:03 pm

Leave a Comment

 (required)

 (will not be published)  (required)

About Next*

  • * Tasty bits of hacker goodness
  • * A steady stream of small delights
  • * Ideas, experiments and the people behind them

  • Brought to you by the folks at Yahoo! Brickhouse

  • Editor-at-small: Cynthia Johanson
  • Site design: Matt Fukuda
  • Backend heroics: Kevin Railsback

Next*... where the wildcards are.
Copyright © 2008 Yahoo! All Rights reserved. Privacy Policy - Terms of Service - Copyright/IP Policy