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 ◦ 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
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 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:
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 21 st ) title format: 2013DB2-GM: name1, name2 content includes member name, 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