The projects below are available in the context of CS 6181 (Advanced Internet Services) and as independent projects.

Names under each project indicate whether the project has been assigned. Some projects may be assigned to more than one group. Projects listing "NN" as a project team member are looking for additional students.

Internet Audio/Video-Related Projects

Some projects use text-to-speech software. We have installed IBM's ViaVoice Outloud on the CLIC machines in /usr/lib/ViaVoiceOutloud/. You can also use the text-to-speech system at ~kns10/bin/txt2speech.pl. To convert a file, use txt2speech.pl -o file.au -b -i.

Others make use of our SIP library, the RTP library and rtspd library.

Active Badge

VistaSeek, developed by ivistar, is an indoor location systems that consists of an infrared beacon, an IR+RF active badge worn by users and radio receivers on each floor. The badge receives IR identification pulses from the room beacons and sends the identifier to the radio receiver. The project integrates this hardware with our instant messaging system, publishing location information for users into the CINEMA SIP multimedia server. The location information then becomes part of the presence advertisement. Language: Java, C++.

Laserpointer as mouse

Based on the idea by R. Eckert, write an application that controls a mouse using a red laserpointer. (The implementation at Binghamton only works with very specific hardware, unfortunately.)

Distributed audio and video replication

Instead of using multicast, conferences could use other participants to receive audio and video. Develop and extend our SIP-based clients to allow to discover available end systems and to connect to them to receive audio and video. Ideally, new participants pick the least loaded node that provides good network quality (low packet loss and delay). Review the related work on application-layer multicast.

802.11 location sensing

Using kismet, netstumbler, iwconfig or similar tools, measure 802.11b signal strength on campus and try to devise an indoor location-sensing mechanism based on signal strength or SNR from multiple locations. Measure whether the orientation of the user carrying the laptop or PDA makes a difference.

Application Sharing

Grab X windows into GIF or PNG format and transmit them to a SIP-initiated session. Investigate integration of X sharing into a conference.

Call Processing

Construct web scripts (cgi, servlets, possibly with JavaScript) that generates sip-cgi scripts for the sipd SIP server. The web form should allow a user to specify call handling behavior rules, using time-of-day, caller name 'glob' pattern, urgency, and subject to reject or forward the call.

Stereo placement

Enhance our audio tool to allow placing speakers acoustically at different parts of the stereo space, using, for example, delay and channel balance.

Loss Measurement Tool

Create a tool that combines traceroute and ping to indicate where in the path packets are lost and delayed. Present results graphically and try your tool on some domestic and international routes.

Digital editing of live video content

Design and develop one or more modules for creating digital effects for live video (such as title overlay, wipes, fades, insert). Consider using DirectX or QuickTime or the Linux video API.

Classroom question manager

Design and develop an application that supports "raising your hand" in a distributed, Internet-based classroom. The mechanism should scale to very large classes, with hundreds of participants. Thus, in addition to a central server, multicast UDP should be supported. Students should be able to indicate the nature of the question so that an instructor can group or delay questions. An instructor should be able to call on students out-of-order and cancel questions. Calling on a student enables that student's audio and video transmission. Other students should, in general, be able to see the list of waiting students. Consider using the PMM (pattern-matching multicast) enabled audio and video applications NeVoT and vic. Your application has to deal with packet loss, but can assume that the computer clocks of all participants are synchronized, so that there is no ambiguity as to who raised her hand first. This application could also be useful for meetings, "Internet TV" shows with audience participation and town-hall-style gatherings.

See, for example, The Multimedia Internet Terminal (MInT), A Session Floor Control Scheme (see here) or Floor control for large-scale (Mbone) seminars.

Video alarm system

Write a system that captures "interesting" frames, i.e., those where the image changes significantly. Captured images should be stored in an efficient manner. Provide an alarm feature that sends a mail message if the image changes. Store the images in a format so that they can be replayed with an RTSP player, using the rtspd media server. Capture the real time an image occurred.

Background eliminator

Preferably using the video codecs already in vic, construct a system that only transmits a (moving) person, without the background and allows to reassemble a virtual audience at the receiver.

(Some image processing background is helpful for this project.)


Last updated by Henning Schulzrinne