Thursday, June 24, 2010

A new challenge: an open source remote review tool

The year opened with a self-assigned open source DCP quest for The Incident at Tower 37. Now it is summer, and with Caldera deep in the animation phase with an amazing team both local and remote, we've got a new set of problems.

The particular one I'm looking to solve is related to animation reviews. Our ideal tool would allow the director to load up HD QuickTime movies on his machine, point at the screen, talk freely, hear what others have to say no matter where they are, pause and restart the video, scrub to a particular point in the playlist, and make annotations. And so on. Remote participants would be watching the same movie at the same quality and hearing the comments/seeing the director as he spoke.

This problem has been solved a hundred times by lots of different people. I know Animation Mentor has some solution for running reviews with bunch of participants, for example. With all the World Cup soccer I've been watching lately on ESPN3, it appears that live streaming of HQ (if not HD) content works even on my paltry DSL line at home. I've also read about cineSync which seems to be designed for this kind of situation. However, I have yet to find an easy and free solution.

There are a few paths worth exploring. If I could set up a situation that streams the director's screen and audio input in a bandwidth-sensitive way (like ESPN3) to anyone interested in watching/listening, that would be great. A test with simple iChat-based screen sharing between two macs didn't do so well, however - the network couldn't maintain a bandwidth that led to satisfactory results on the viewing end. Too choppy and blocky.

Another idea is for every interested party to pre-cache the movies being reviewed, and then have the director launch a master movie player. All participants would launch slave players, and the control commands (play, pause, seek to X, and so on) would be all that would have to be sent over the network from the master to the slaves. Pluses: this is almost possible already with VLC using its TCP interface, and it ensures that everyone is seeing the highest quality video independent of bandwidth. Minuses: it doesn't allow for annotation, nor audio communication. This would handle just the video part.

Part of working on a problem like this is knowing what the heck to search for while doing my research, and I confess that I'm rather ignorant in that regard. What I might call "remote animation review" someone else might call "live streaming screencast" or something. I will post my results as I go, but honestly part of posting this before having any results to share is to ask people for their help finding the sub-components of this solution online. Thanks in advance.