The Autonomous Mobile Robot Group

Department of Computer Science
Northwestern University

Final Projects

Video Streaming and Storage 

Team Members

Curtis Barrett
Mitch Whorlow
Sungha Ro

What did we do?

For our project, we created software to allow for remote viewing of the Autonomous Mobile Robotics Groupís (AMRG) robots as they interact with the environment around them.  In addition to providing for remote viewing from several different points-of-view, we archive the video for later analysis.

How did we do it?

We leveraged the Microsoft Windows Media Encoder SDK which provides an API for capturing video, saving video to disk, and broadcasting the video on the web.  We built a graphical user interface specifically designed for use in the AMRG development environment.  The compact interface allows the end user to quickly choose from which window he or she would like to capture, and then allows for selectively starting and stopping the encoding engine.

Figure 1.  The compact yet amenable user interface.

Are there concerns?

Our main concern with capturing, encoding, and streaming video from the robot was the amount of resources that might be stolen from the GiRL process.  In order to compensate, we stream at a very low rate (28.8 Kbps), which we have found still provides GiRL with ample resources and results in acceptable video quality.

Example of low, but acceptable video quality. Click to play.

Is it done?

If we were to continue work on this project, there are a few issues that we would address.  The first is a bug in the user interface that prevents users from specifying a capture window other than the entire screen.  Microsoft provides this functionality in the Encoder application, which is a good substitute for now.  We would also like to implement capturing from multiple windows simultaneously.  Currently, this can not be done because of a limitation in the Microsoft Encoder SDK.


AMRG home