Automated Talk Video Recording

Currently the Star and Kiva conference rooms are equipped with video recording and broadcasting equipment. We are in the process of deploying a fully automated system that will allow the video recording, broadcast, and post-event distribution of talks. The following document outlines the current plan for the complete system.

The desired goal is for a scheduled talk to have the following recording/broadcast options:

Note: This service is not in production yet, and is only offered as a beta.

  1. During the live event, to have alone or concurrently:
    1. high-quality multicast stream to viewers inside the CSAIL network;
    2. Lower-quality network stream(s) for viewers outside CSAIL.

  2. After the event, to have available:
    1. An optimized-for-streaming capture of the event;
    2. A full-quality capture;
    3. A playable DVD, if requested;
    4. Podcasts of the event.

  3. An interface that will allow CSAIL users to manage such events:
    1. An easy way for scheduling recording when the conference room is booked;
    2. An interface for managing one's existing scheduled recording/broadcasting events.

  4. Automation of all the above.

I'm in the process of beta-testing items 1 and 2 above (except 2d, which I am just beginning). I am alpha-testing item 3 and hope to have a beta interface early next month. Parts of item 4 are working.

Patil (Kiva) and Star have a remote camera and a scan converter that intercepts the speaker's laptop video and audio output, so I can capture the speaker and the presentation in real time. So far I have been combining the two feeds by hand using SMIL (http://www.w3.org/TR/REC-smil/) but I am working on automating that process.

It is also possible, if the speaker provides the slides in their original format (PowerPoint, PDF, Keynote, or just about any free format), to inject a lower-bandwidth version of the slide feed (still images versus a video stream of the slides, which is overkill really but generally the only way to get the slides if the speaker can't/won't provide the slides).

Reliable?

All of the parts of this system have been added to our network/host monitoring system, so we will get paged if anything stops working. I'm working on state-preservation, since some of the state of events has to live on the recording host itself, so if that host explodes state is gone. That's bad. I don't suggest using this as the only means of recording if your event is critical - hence the "beta" state of things. After enough beta tests we'll have a baseline of reliability.

Video recording/broadcast process

csail video diagram

Step Description Status
1 Talk is scheduled using web interface 25% complete
2 Recording, streaming happen at correct time 80% complete
3 Content is streamed in realtime via multicast inside CSAIL 100% complete
4 Content is transcoded and broadcast via HTTP to rest of world 50% complete
5 Content is archived to disk 100% complete
6 Content is automatically added to video archive web site 100% complete
7 Content made into DVDs and distributed to requestors Manual process

Things to think about

  • Storage: currently videos are stored in the AFS cell, but this might not be an optimal solution. MIT has a service called DSPACE that might be a better place to archive videos in perpetuity. If we keep a local copy for some amount of time and then archive to DSPACE, we need to make sure to provide a permanent URL, etc.

  • Security/Privacy: What happens if someone schedules a broadcast of an event that shouldn't be? What about different classes of audiences, maybe we want to be able to show a talk to MIT only while it is happening, but the rest of the world a week later. Other complex cases of access might exist. How to classify them, implement access control? Can we standardize on two or three classes of access and shoehorn all content into them? How does DSPACE fit (or not) into that model? Hey! I don't want Big Brother watching me... video must die! But I still want to see other people's talks. Etc.

  • Usability: Bandwidth, quality, optimization and choosing delivery methods. Are there Free software implementations of streaming media? MIT and many other campuses have "standardized" on RealMedia. Do we need to provide closed captioning for videos for Section 508 compliance if we offer the videos to the public?

  • Existing efforts: MIT has existing efforts to do some portions of this scenario (storage, video streaming - see http://mitworld.mit.edu) - how can we leverage them but still provide for the specific needs at CSAIL? Streaming media files generally can't just sit on a file server and get served up in a streaming way without a stream server process dishing them out - how to reconcile?

  • Technical stuff - The lighting in Kiva is horrible and as a result all video looks bad. We don't have a resident video/lighting expert but it seems like we need a solution for better lighting on the speaker that won't wash out the screen for the live audience.

-- MarkPearrow - 11 Apr 2006