I think we all know what videoconferencing is.
One idea, use VLC somehow:
It can be as complicated as "normal VLC is" and can have two separate processes running for client/serverl, and even a third "someone runs somewhere" as some host.
The hard part will be the host probably.
http://wiki.videolan.org/VideoLan_VideoConference might be interesting...