Build your own real time whiteboard sharing on Linux

I can’t even remember the last time I had a coworker that was co-located with me in the same town.  Within IBM the other software developers that I typically work with are in: Minnesota, Texas, Germany, Great Britain, Switzerland, Germany, Brazil, and Australia.  These are the folks that I would have 1 or more technical discussions with a week.  If I openned that umbrella up to a month, we’d add another few countries, and a whole lot more states.

A truly unsolved challenge in collaboration is replacing white board discussions with some sort of online equivalent.  I’ve got a drawing tablet, but honestly, my brain doesn’t think quite as well with it as when I get on a proper whiteboard.  After a phone conversation earlier this week that I realized was circling for lack of common artifacts, I took some time to try and figure out how I could get people to see the whiteboard in my office.

Ingredients of Real Time Whiteboarding

  • Logitech 9000 web cam.  This has 1600×1200 resolution, runs about $90, and does low light scenarios really well.
  • mjpg_streamer
  • a Linux machine that’s at least a P4 processor

Install all this software onto you Linux machine.  Then run the following to start streaming your webcam as video in real time:

mjpg_streamer -i "input_uvc.so -d /dev/video0 -y -r 1600x1200" -o "output_http.so -w /webcam_www -p 8080"

Viewing the results

The results can be viewed a number of ways.  There is a built in client in the source tree (screen shot below is from that).  You can also view it from vlc or firefox with the url http://your.server.name:8080/?action=stream. (In firefox I found you need 1 reload to get it to update frames, not sure why).  If you want to just get the current frame you can use http://your.server.name:8080/?action=snapshot.

The results a quite impressive (you may need to right click to get to full res):

This is definitely readable to as small as you are going to be able to write.  It’s about a 5 second delay from capture point to writing, which isn’t too bad considering.  I’m definitely going to use this in the days ahead, as it works a heck of a lot better for me than trying to diagram in a computer program interactively.  You’ll get motion blur on people, but given that this is mostly about the text on the whiteboard, that’s not really a big deal.

Update: I figured out how to do this with firefox and vlc, so the text now reflects that.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s