My favorites | Sign in
Project Logo
             
Show all Featured downloads:
videocity-1.1-win32.zip
Feeds:
People details
Project owners:
  kundan10
Project contributors:
shailend.yede, kss.iitk

Welcome to the Internet Video City

This is a web-based video telephony and conference application. (Please see this blog article for what's new in the project). The video communication is abstracted out as a city. Once you signup, you own a home, where you can have several rooms. You can decorate your rooms with your favorite photos and videos, invite your friends and family to visit a room by handing out visiting card, or visit other people's rooms to video chat with them or to leave a video message if they are not in their home. You can keep a room open for public or make it private. You can wander in the city and knock on the doors of other people's home to make new friends.

Once you signup, you get two soft-card (TM): a Private login card and an Internet visiting card. The private login card is your access card that you will upload to gain access to your room or to login, and the Internet visiting card is an invitation card that you can give out to your friends and family so that they can visit you in your room. An example Internet visiting card is shown below.

Once you have created a room, and have logged in to your room, you can make your room public in which case your Internet visiting card will be uploaded to the server and available to everyone by just visiting your videocity URL.

Goals of this project

The Internet Video City project aims at providing open source and free software to support enterprise and consumer video conferencing using ubiquitous web based Flash Player platform. The motive of this project is to provide tools and technologies to other developers and system engineers so that they can easily incorporate the video communication feature in their service, software or enterprise infrastructure. Hence, we use open and customizable architecture, open standards, and promote third party contributions.

Following are the high level features of the software:

  1. Multi-party multimedia conferencing with audio, video, text and sharing.
  2. Recording, playback and editing of conferences and video messages.
  3. Sharing of videos, photos and files from local PC as well as Internet.
  4. Shared browsing and media viewing experience.
  5. Customizable video rooms and video home pages.
  6. Secure and authenticated access control.
  7. Self organizing scalable and robust client-server architecture.
  8. Web-based client using Flash Player plugin as well as Firefox extension.
  9. Open source and embedable client side software.
  10. Portable software written in Python and ActionScript.

Architecture

The software consists of client and server. The server is written in the Python 2.5 programming language. The client is written in ActionScript 3.0 and runs in either Flash Player browser plugin of standalone Adobe Integrated Runtime (AIR) platform. Similar to Python's motto, this software comes with batteries included, and doesn't require external dependencies. In particular, it has built-in web and media servers.

The client viewer application controls the main display, shows local and remote videos, and provides user friendly menu options. The client also captures and plays audio and video using the underlying Flash Player plugin. The backend server controls the authentication, conference state and sharing of media. In this client server architecture, multiple clients connect to the server hosting a conference. The conference state may get distributed among multiple servers depending on the current load and geography of the network.

Getting Started

Windows or Mac OS X users may try to use the installer under the download page. Please pick the appropriate file for your platform. Follow the instructions in the README file available in the downloaded archive. Since this is "work in progress", the installer will be slightly outdated compared to the SVN source code.

If you are a developer and wants to get started with this software, I recommend that you checkout the sources from SVN, run the server and point your browser to the local server.

See this page for detailed instructions.

This project depends on two other projects: 39 peers p2p-sip and rtmplite RTMP server. To run the videocity server you will need to first download and install these two projects. Then change your PYTHONPATH to include these project directories. An example is shown below assuming you checked out p2p-sip, rtmplite and videocity projects in the same directory.

bash$ cd videocity-read-only
bash$ export PYTHONPATH=../p2p-sip/src:../rtmplite:.

Then you can run the server as follows using python 2.5 interpreter:

bash$ python python/videocity.py

Once the server is running you can open a browser with Flash Player 10.0.22 or higher installed, and point your browser to http://localhost:5080

To see an example pre-created video room, point your browser to http://localhost:5080/kundansingh_99@yahoo.com and enter the room.

An example screen shot after your visit the room URL is shown below.

Authors' Note

This project is "work in progress". Most of the objectives are still pending, especially the security and access control part, and robustness and scalability. The source code is well documented but there is no external user documentation yet. I plan to add a walk through video and better installer for you to get started quickly.

If you want to contribute to this project, please send me a note to my email address kundan10@gmail.com, and indicate which part you would like to contribute in. We would love to hear from you!









Hosted by Google Code