Digital Streaming System

This project involves the streaming of digital data (such as a digital video stream) over the Internet. It is highly recommended that students on this project attend the free exhibits at Streaming Media East 2002 which is being held in conjunction with Internet World 2002 at the Javits Center, NYC, October 1-3.

Since this is an ambitious project, we will progress through a sequence of phases. First, we will work with the streaming of analog video signals since this is a widely known application involving the currently popular Web cams. There are several software applications that are either free or inexpensive that can already do this using equally inexpensive Web cameras. You can use a video camera and the Webcam32 software (webcam32.com $39.95 or 10-day trial) to easily stream video images in real time. There is also other similar software from Real and Ulead that can do this. For example, your customer has done this using USB and FireWire cameras.

Be aware that the advertising for "digital" Web cameras that you find on the Web is often deceptive, sometimes from false advertising but mostly due to misinformation. Because most Webcams (not all) can snap a digital still image, they can use the word digital. However, the live (real time) signal is always analog, and these signals can be saved as AVI or streamed out. Device drivers, such as Microsoft's Video for Window driver, display the signals on the computer screen (or the TV screen if they are converted to NTSC). Some cameras do have a digital interface between the CCD (or sensing devices) and the computer bus, but only the very expensive professional digital cameras ($10K price range) have SDKs for a digital interface to capture the digital images.

Second, we will become familiar with this technology of streaming a video camera to the open Internet. Some of the commercial packages use the Microsoft Video for Window driver. We will need to understand that driver and its limitations really well in order to write our own driver/interface.

Finally, we will expand into the digital domain, where digital streaming involves catching the bits as they come out of the computer bus. We will develop our own streaming software to replace that used in the commercial packages, and the video frames must be at least 640x480. No one has been able to stream the expensive digital cameras yet, and that is what we will try to do. Although there are certainly others trying to do this and there is no guarantee that we will get there first, maybe we we will do it better or cheaper. In any case, we should have fun and learn a lot about the video streaming technology.

This is mostly a software project, at least 90% if not 100%. You will not have to deal with the details of the hardware, but you may need good advice to get some problems solved without having to get to the hardware components. The closest hardware we may need to approach is to understand the FireWire (IEEE 1394) technology. Developing the software package for digital streaming is an excellent master's level project in software/hardware design/integration.