Video Conferencing Tool
Download
Report
Transcript Video Conferencing Tool
VCT
May 20, 2009
Sapna Blesson
Advisor: Dr.Christopher Pollett
Outline
•
•
•
•
•
•
•
•
Goal
Existing Tools and Problems
VCT Features
Technology Used
High-level Design
Implementation
Testing
Conclusion
Goal of VCT
The main goal of VCT is to create a web
based video conferencing site that allows
users anywhere in the world to join realtime streaming video chat rooms without
installing any software
Existing Tools
iChat is a video chat application from Apple. Mac Os has
built-in iChat pluggin. Windows users can use iChat by
installing AOL instant messenger
oVoo is a video conferencing tool. Download and install
oVoo software. Currently supports only Windows
platform.
Stickam is a social networking site that allows users to
post their live videos,pictures,start video conferencing.
Adobe acrobat connect pro is a web conferencing tool
from Adobe. It allows remote desktop sharing, slide
sharing, web conferencing.
Problem with existing tools
• Requires users to download and install
additional software
• Platform dependent
• Complex user interface
• High cost
Features of VCT
No need of additional software download
and installation
Browser based video conferencing
Platform independent
Simple user interface
Features of VCT
Create new public or
private chat rooms
See list of chat rooms
with users count
Private chat room
requires users to
enter password
Create chat room
Enter password
Private chat room list
Features of VCT
• Live video chat with
friends
• See list of attendees
in chat room
• Invite your friends to
the chat room by
sending an email
• Friends can join your
chat room without
creating a VCT user
id
Chat room page
Send email
Features of VCT
See list of users who
has VCT account
View users online or
offline status
List of users with online offline status
Features of VCT
Users can record
video message and
send the link to
friends
Record video message
Send email
Features of VCT
Users can play video
message by clicking
the link in email
Play video message
Technology Used
XHTML is a markup language used to create front-end of the web page.
PHP is a server side scripting language used to create dynamic web pages
Authenticates VCT users in login
Creates new VCT user account in signup
Allows Flex applications to access MySQL database
MySQL is the back-end database used to store VCT user accounts
Adobe Flex is used to create client-side applications that interact with Flash
Media Server (FMS)
Flex is combination of MXML and ActionScript
MXML used to create the layout of user interface of the application
ActionScript used to create interactivity to user Interface
Flex applications are compiled into SWF and embedded into XHTML
Apache HTTP Server is used in VCT to host XHTML ,SWF files, PHP
scripts
Adobe Flash Media Server
Adobe Flash Media Server
VCT uses Adobe Flash Media Server as the
back-end server for real-time video conferencing
Adobe Flash Media Server is a streaming media
server that supports one-way and multi-way
streaming applications
VCT also uses FMS for recording and playing
video messages
Adobe Flash Media Development Server that
supports multi-way streaming is freely available
in the Adobe web site
VCT Design
Flash Media Server
Web Server
Web browser
HTTP
RTMP
VCT design diagram
VCT consists of three main components:
Web Server
Web browser with Flash player plug-in
Flash Media Server
RTMP is Real Time Messaging Protocol
VCT High Level Page Flow Diagram
back
Login
New User
Signup
On successful authentication
Dash
board
Join
public room
Find
users
Create
chat
room
Public
chat
room
Join
private
room
VCT page flow diagram
Password
Private
Chat
room
Video
Message
VCT Login implementation
Web Browser
Apache Web Server
PHP script
http://localhost/Login.php
GET
query
Login.php
POST
LoginSubmit.php
Execute
scripts
result
MySQL
database
HTML
output
from PHP
VCT login implementation diagram
“LoginSubmit.php” script authenticates the user and if login
succeeds, it loads “Dashboad.php”
Dashboard webpage has SWF embedded in it
VCT Sign-up implementation
Web Browser
Apache Web Server
PHP script
http://localhost/Signup.php
GET
query
Signup.php
POST
Executes
scripts
SignupSubmit.php
result
MySQL
database
execute
scripts
HTML output
from PHP
VCT sign-up implementation diagram
Sign-up allows VCT users to create new records in the MySQL database
VCT Dashboard Implementation
Flash Media Server
Web Server
swf
Web browser
HTTP
RTMP
VCT dashboard page implementation diagram
Dashboard webpage has SWF embedded in it
Web Server sends SWF over HTTP to the web browser
Flash player plays SWF and makes connection to FMS
VCT instances
VCT active instances in FMS console
Dashboard initially connect to
master instance of FMS
application
When users joins chat room
connection to individual room
instance is made
Users in each chat room are
completely unaware of users in
the other chat rooms
Instances allows different
group of people to access same
application without interacting
with other group
VCT shared objects
VCT uses remote shared objects for storing chat
room names and users list
Remote shared objects are managed and stored
by the server and are used for storing,
messaging, and synchronizing data
Updates made to the remote shared object are
received in real time to all connected clients
Remote shared objects can be either persistent
or non persistent
VCT shared objects
Applications Folder
Application Name Folder
sharedobjects Folder
_definst_
Sharedobjectname.fso file
instanceName
Sharedobjectname.fso file
VCT shared object storage structure
VCT shared objects
VCT uses shared
objects for storing
chat room names
chat room users list
private room
password
VCT active shared objects in FMS console
VCT streams
• VCT transmits audio and video streams
between Flash client and FMS for video
conferencing
• The FMS server allows users to publish or
play streams.
• User publishes live webcam streams to
FMS server and other users subscribes to
the published stream
• Stream names should be unique
VCT streams
VCT active streams in FMS console
Sequence diagram for creating a
chat room
VCT create chat room implementation
Sequence diagram for joining chat
room
VCT join chat room implementation
VCT Find Users
Web Server
Flash Player
query
Sends user data request
Flex
PHP sends back data
PHP
MySQL
Gets result
VCT find users implementation
Flex application sends user data request to back-end PHP script
PHP scripts execute the request and queries MySQL database
MySQL sends result to PHP which then processes the result
PHP scripts sends data back to Flex in XML format
VCT Video Messaging
Applications Folder
Application Name Folder
Streams Folder
_definst_
Stream name .flv file
instanceName
Stream name .flv file
Video message storage structure
Streams published for recording are stored in FMS application
as Flash Video files (flv)
VCT uses stored flv file for playing video message
Usability Testing
VCT is tested among different age groups
In the age group of 4-15, I need to guide them to
use VCT. But once I walked through steps, they
got easily adapted with the tool
In the age group of 16-50, they learned the tool
fast. They suggested some enhancements to the
tool like richer user interface, enhanced
authentication etc.
In the age group of 51- 65, they found it difficult
to create new user accounts and login to web
site. They liked the method of joining a chat
room without logging in
Usability Testing
Usability
Usability Rating
10
8
6
4
2
0
0
10
20
30
40
50
Age
Usability testing graph
60
70
80
• Graph shows usability
rating versus age
• Usability rating peaks
between the age of
35-40
Performance Testing
Server Bandwidth(KBits/s)
Total Server Bandwidth
7000
6000
5000
4000
3000
2000
1000
0
1
2
3
4
Number of Users
Bandwidth graph
Server bandwidth (BW)=(P*N)*S, P is number of
publishers, N is number of subscribers and S is streams
encoded at constant kbps
Conclusion
I accomplished my project goal by creating a
server and client capable of multiple chat rooms
with multiple users sharing their live video
I faced challenges in understanding new
concepts in Flash Media Server like shared
objects, instances and streams
Adobe Flex, and Adobe Flash Media Server
used in this project are some of the latest cutting
edge technology in video conferencing
Lack of documentation is a big challenge
Thank You
Questions?