200 likes | 344 Views
Project 1. Online multi-user video monitoring system. System goal:. A user can monitor the views of different sites simultaneously. Multiple users can access to the views simultaneously. Example:.
E N D
Project 1 Online multi-user video monitoring system
System goal: • A user can monitor the views of different sites simultaneously. • Multiple users can access to the views simultaneously.
Example: • Different classrooms, each has a camera, administrator wants to monitor the classroom by looking through the different camera views. • Many persons can be the administrator, such as the security staff, the head of the school, the parent of the students, so on and so forth.
System functionality requirement • Data collection • Data management • User interface design
Data collection I • Video stream data have to be collected from different sites using cameras • Stream data can be collect from the camera located in different sites (e.g. classroom) • You can generate the video stream data using VLC http://www.videolan.org/vlc/ • VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVD, Audio CD, VCD, and various streaming protocols.
Data collection II • Data will be continuously transported to a remote datacenter for processing via internet • The system will receive the streaming data and store it in a local file • The local file will continuously be transported to the HDFS in the cloud • The key point of this project is the use of cloud technique, specifically the Hadoop • Sample code from http://bbs.chinacloud.cn
Data collection III • Support dynamic camera adding and deleting • Do not need to reboot system when add or delet a camera • Cameras in the system support two modes: ON and OFF.
Data collection IV • Data collection supports two modes: ON and OFF. • When camera is OFF, data collection is OFF • When camera is ON, data collection is ON or OFF, set by system administrator • When the data collection is ON, the live streaming data will be transported to the cloud
Data management I • Streaming data are stored in cloud, use the front-end server as a cache. • Cameras are connected to a front-end server • Video data are first stored in a file in the front-end server • The file is transported into the HDFS for user access and data archive • The uploaded files will be deleted locally from the front-end server
Data management II • Data storage modes: • STORE mode: data can be stored in the HDFS of cloud • CACHE mode: data just be cached for a while (e.g. 1min) before being deleted permanently. • This “cache” is similar to the cache on the front-end server • Front-end server is just for collecting data, not for user access • Users access to videos by login to the cloud
Data management III • Data are archived daily for replay : • Data will be compressed and stored in the HDFS in terms of day and place in STORE mode • Nothing to do in CACHE mode
Data management IV • Support video search • System builds a search engine for stored videos in terms of date and place • The search result can be depressed and replayed • More play features can be considered
Data management V • Limited number of archived videos • The storage of cloud is limited due to the pay-as-you-go payment method • Number of archived data for each camera can be specified by system administrator
User interface design I • Access to the system • support standard user register and login, s.t. username, password • Users are granted to access to specified cameras’ videos, admin can update the user’s camera list.
User interface design II • Switch between different cameras • Users can switch to different authorized camera • Users access to only one camera at the same time to improve the system performance, which means only one video file will be opened and displayed for one user in a certain moment.
User interface design III • Replay archived videos • Users can replay the video returned by the search engine. • Allow for different video resolution in terms of network bandwidth • Use the available video player (VLC) • Do not need to implement it by yourself • It’s up to you to add more features.
System performance requirement • For each camera, support online users (live connections) 2 to 30. • System can support 2 to 20 cameras.
Tips to the implementation • Search http://bbs.chinacloud.cn for codes of video collecting and storing in HDFS. • You can debug code under the hadoop on single server mode. • Find more in Hadoop project: http://hadoop.apache.org/
Collaboration • A group project • Up to 2 students in one group • Each group sends one copy of the group member list to TA by Thursday (March 21st) • Email title format: 2013DB2-GM: name1, name2 • Email content includes member name, email and cell phone
Project submission • Due time: April 7th, 23:59:59 • Materials to submit • Source code • Presentation slides • Presentation content • Demonstration of the system with multiple cameras (2 at least) if possible • show the system use case diagram, design, api, part of codes • Presentation time will be scheduled in week 7, 15 minutes per group, plus 5 minutes Q&A