340 likes | 439 Views
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.
E N D
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 real-time 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 Signup Login New User On successful authentication Dash board Join public room Join private room Password Find users Create chat room Public chat room Private Chat room Video Message VCT page flow diagram
VCT Login implementation Web Browser Apache Web Server PHP script http://localhost/Login.php GET Execute scripts query Login.php MySQL database result POST LoginSubmit.php 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 Executes scripts query Signup.php MySQL database result POST SignupSubmit.php 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 Web browser HTTP swf 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 • 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 active instances in FMS console
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
Applications Folder Application Name Folder sharedobjects Folder _definst_ Sharedobjectname.fso file instanceName Sharedobjectname.fso file VCT shared objects 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 PHP query Sends user data request Flex MySQL PHP sends back data 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 • Graph shows usability rating versus age • Usability rating peaks between the age of 35-40 Usability testing graph
Performance Testing 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