On Click Video
On Click Video
ON-CLICK VIDEO (LIVE VIDEO BROADCASTING) A REPORT OF MINI PROJECT WORK Submitted by
AMRUTHA.T NEEMA.K TESSY ROSE MEERA JOSEPH
Date: 23-05-2011
CERTIFICATE
This is to certify that the Main Project Work bearing the Title: ON-CLICK VIDEO (LIVE VIDEO BROADCASTING) submitted by AMRUTHA.T-IEAIEIT004, NEEMA.K-IEAIEIT026, TESSY ROSEIEAIEIT045 and MEERA JOSEPH-IEAIEIT023 is a record of the bonafide work done in partial fulfillment of the requirements for the award of B.Tech Degree in Information Technology at this Institute during December 2010 to June 2011.
ACKNOWLEDGEMENT
We express our sincere thanks to the great Almighty for being with us from the beginning till the successful completion of our project. We hereby convey our sincere thanks to our Principal, MR.Linoj V R and also to Mrs. Deepa K., Head of the Department of Information Technology and our guide who has throughout been a great source of encouragement and whole hearted support and guidance for the successful completion of this project. We also extend our gratitude to all the teachers of the Department of Information Technology of Calicut University Institute of Engineering And Technology, for the guidance that they have given us throughout our project work. We also express our sincere thanks to all the staff members of IT department who have actively cooperated with us in this endeavor for presenting the project with their active cooperation. Also loving thanks to our dear friends and family members for their continuous help rendered by them during the period of this project.
ABSTRACT
ON-CLICK VIDEO is the live video broadcasting system for a college to broadcast different events of the college. This system support different types of users such as admin, staff, parents, students and others. Streaming media is multimedia that is constantly received by and presented to an enduser while being delivered by a streaming provider. The name refers to the delivery method of the medium rather than to the medium itself. The distinction is usually applied to media that are distributed over telecommunications networks, as most other delivery systems are either inherently streaming (e.g., radio, television) or inherently non-streaming (e.g., books, video cassettes, audio CDs). The verb 'to stream' is also derived from this term, meaning to deliver media in this manner. Internet television is a commonly streamed medium. Live streaming, more specifically, means taking the video and broadcasting it live over the Internet. The process involves a camera for the video, an encoder to digitize the content, a video publisher where the streams are made available to potential end-users and a content delivery network to distribute and deliver the content. The media can then be viewed by end-users live. The vlcj project is an Open Source project that provides Java bindings for the excellent vlc media player from VideoLAN. The bindings can be used to build media player client and server software using Java everything from simply playing local media files to a full-blown video-on-demand streaming server is possible. With vlcj you can send or receive a live media broadcast, such as live radio and television broadcasts, or real time teleconferences over the Internet or an intranet.
CONTENTS
ACKNOWLEDGEMENT ABSTRACT
CHAPTER
TITLE
PAGE NO.
1. 2.
INTRODUCTION REQUIREMENT ANALYSIS 2.1 EXISTING SYSYTEM 2.2 PROPOSED SYSTEM 2.3 SELECTION OF SOFTWARE 2.4 FEASIBILITY STUDY 3
3 3 4 4 6 6 6 6 11 11 12 13 22 22 22 24
3.
SYSTEM SPECIFICATION 3.1 HARDWARE SPECIFICATION 3.2 SOFTWARE SPECIFICATION 3.3 DESCRIPTION OF LANGUAGE
4.
SYSTEM DESIGN 4.1 INPUT DESIGN 4.2 OUTPUT DESIGN 4.3 DATA FLOW DIAGRAM
5.
SYSTEM IMPLEMENTATION AND TESTING 5.1 SYSTEM IMPLEMENTATION 5.2 SYSTEM TESTING SYSTEM MAINTENANCE
6.
7.
FUTURE ENHANCEMENTS
25
8. 9. 10.
26 27 28
ON-CLICK VIDEO
1. INTRODUCTION
1.1 ABOUT ON-CLICK VIDEO In this project, we designed and constructed a live media streaming system to broadcast important activities such as: graduation ceremonies, sport games, banquets, and seminar presentation etc. Since 1990s up to now, the network has become more popular in the world. The Internet supports popular services such as World Wide Web (www), e-mail, file transfer and file sharing, web search, VoIP, BBS, Telnet, gaming, commerce, streaming technology, publishing, video on demand, and etc. Functions of Internet also offers file sharing and transferring. It is generally believed that bandwidth is limited, and network resources are increasing more and more. If clients download huge media files directly, would make this problem even worse. In order to resolve the problem of bandwidth limitation, many network technologies have been developed in recent years, such as streaming technology. Nowadays, streaming media has already become very popular. There are many streaming media services, for instance YouTube and Yahoo video. The characteristics of streaming systems can reduce the server loading, and rapidly synchrony presented the media. The technology of streaming allows users or clients to view or hear media objects without having to wait until the entire media is downloaded, instead of downloading media files directly and entirely. Based on above characteristics, streaming technology would reduce the bandwidth requirement and provide solution of this problem. On click video is a web application which provide live video streaming of different events in the college. Besides live video streaming it also support recorded video streaming. This application support different types of users such as registered users and unregistered users. STATEMENT ABOUT THE PROBLEM There are many systems which provide video streaming. But we can not expect much about the privacy of that video. But we know that the videos of the college should be secured. Here, by providing different user classes and assigning permission levels to
CUIET
ON-CLICK VIDEO
the videos the admin can restrict the video access. An unregistered user can view only a few videos. But the registered user can access more videos. The registered users include admin, staff, parent and student. OBJECTIVE AND SCOPE OF THE PROJECT The main objective of our project is to create a web application exclusively for streaming videos of the college. By providing different user classes we can provide maximum security and privacy for these videos. Through this web site we can view the different programs in the college if we are not present there. Recorded videos are also supported by the system, so this application provides an opportunity to view those programs in future.
Streaming module: This module is responsible for streaming the video through web. The videos may be live or recorded. According to the request from client the admin can stream the video. The recorded video will be saved in the data base of server. Live video will be streamed after encoding. In live video streaming the video can be selected from video capturing devices associated with the computer. After encoding and setting permission the admin can stream this video. For encoding and streaming the video we use vlcj libraries. Database management module: This module is responsible for storing and processing the data of users and videos. The database of this system contains details of different categories of users and videos access permission is based on this user category. In the database, the administrator will set the access permission to each video and according to this the videos will be available to each user.
CUIET
ON-CLICK VIDEO
2. REQUIREMENT ANALYSIS
2.1 EXISTING SYSTEM The technology of multimedia streaming allowing clients to view media contents without waiting data download completely, and it support real-time video presenting for the client. There exist different streaming systems and coding formats. There are many streaming media services, for instance YouTube and Yahoo video. The features of existing video streaming system are:
Stream video and audio live from the PC Watch video streams from any web browser with a Flash plugin or in Windows Media Player Host any number of pre-recorded video files Stream videos in any file format Stream video or jpg images from your webcam Pre-record video for broadcast with Debut Video Recorder There also exist systems for live video streaming through web for news, sports etc.
2.2 PROPOSED SYSTEM: There exist different live video streaming systems. But this system provides video streaming exclusively for college events. The features of this system can be described as: 2.2.1 Live video broadcasting of college events:
This system will broadcast the different events in the college. Here, we designed and constructed a live media streaming system to broadcast important activities such as: graduation ceremonies, sport games, banquets, and seminar presentation etc. 2.2.2 Considering Support multiples transmission bit rates:
The home-user broadband connection is different, so this system must support multiple transmission rates.
CUIET
Mini Project Report 2011 2.2.3 Only the approved users can login to this site.
ON-CLICK VIDEO
Only the administrator can register the users based on the college database. After the registration the users can collect their username and password from the administrator. So only the registered users can login to the site. But there are some public videos which are permitted to the unregistered users also. 2.2.4 More than one video can be broadcasted at a time. When there are more than one program occurs at college, the administrator can stream multiple videos at the same time by simply specifying the device URL. And the users can select the videos from the list. 2.2.5 Support different categories of users: This system support different categories of users such as students, parents, staffs and others. And give permission to watch video according to the user category. 2.2.6 Opportunity to save videos. If the registered user wishes to save the video, then the system provides opportunity to save videos in the database of users account. 2.2.7 Post comments Users can post comments about the videos.
CUIET
ON-CLICK VIDEO
if it can be developed given existing budgetary constraints. The key considerations involved in the feasibility analysis are economic, technical, behavioral and operational.
Economic Feasibility: The economic analysis is to determine the benefits and savings that are expected from a candidate system and compare them with costs. The system is economically feasible, as the organization possesses the hardware and software resources required for the functioning of the system. Any additional resources, if required, can also be easily acquired. Technical Feasibility: It centres on the existing computer system and to what extent it can support the proposed addition. Since the minimum requirements of the system like IIS on the server and a browser on the client, are met by any average user. Operational Feasibility: The system operation is the longest phase in the development life cycle of the system. So, operational feasibility should be given much importance. The users of the system do not need thorough training on the system. All they are expected to know to operate the system is the basic net surfing knowledge. It has a user-friendly interface. Behavioral Feasibility: In todays world, where computer is an inevitable entity, the systems like video streaming site, which requires no special efforts than surfing the net are enjoying wide acceptance. Thus the organization is convinced that the system is feasible.
CUIET
Mini Project Report 2011 3. SYSTEM SPECIFICATIONS 3.1 SOFTWARE SPECIFICATIONS: Operating System Programming Language Server Documentation tool Libraries : : : : :
ON-CLICK VIDEO
Microsoft Windows98/2000/2007/xp, Windows7, Linux Java, vlcj, jsp servlet, jdbc Apache Tomcat, MySQL server MS-Word VLC libraries
3.2 HARDWARE SPECIFICATIONS: Processor Hard Disk Main Memory Monitor Key Board : : : : : PENTIUM IV 40 GB 512 MB VGA 104 HD
CUIET
ON-CLICK VIDEO
The concept of Write-once-run-anywhere (known as the Platform independent) is one of the important key feature of java language that makes java as the most powerful language. Not even a single language is idle to this feature but java is closer to this feature. The programs written on one platform can run on any platform provided the platform must have the JVM. SIMPLE There are various features that makes the java as a simple language. Programs are easy to write and debug because java does not use the pointers explicitly. It is much harder to write the java programs that can crash the system but we can not say about the other programming languages. Java provides the bug free system due to the strong memory management. It also has the automatic memory allocation and deallocation system. OBJECT ORIENTED To be an Object Oriented language, any language must follow at least the four characteristics.
Inheritance
behavior of the existing classes by extending them just to reuse the existing code and adding the additional features as needed.
Encapsulation Polymorphism
: :
It is the mechanism of combining the information and As the name suggest one name multiple form, Polymorphism
is the way of providing the different functionality by the functions having the same name based on the signatures of the methods.
Dynamic binding:
their specific types while writing our code. It is the way of providing the maximum functionality to a program about the specific type at runtime. As the languages like Objective C, C++ fulfills the above four characteristics yet they are not fully object oriented languages because they are structured as well as object oriented languages. But in case of java, it is a fully Object Oriented language because object is at the outer most level of data structure in java. No stand alone methods, constants, and variables are there in java. Everything in java is object even the primitive data types can also be converted into object by using the wrapper class.
CUIET
ON-CLICK VIDEO
Java has the strong memory allocation and automatic garbage collection mechanism. It provides the powerful exception handling and type checking mechanism as compare to other programming languages. Compiler checks the program whether there any error and interpreter checks any run time error and makes the system secure from crash. All of the above features make the java language robust. DISTRIBUTED The widely used protocols like HTTP and FTP are developed in java. Internet programmers can call functions on these protocols and can get access the files from any remote machine on the internet rather than writing codes on their local system. PORTABLE The feature Write-once-run-anywhere makes the java language portable provided that the system must have interpreter for the JVM. Java also has the standard data size irrespective of operating system or the processor. This feature makes the java as a portable language. DYNAMIC While executing the java program the user can get the required files dynamically from a local drive or from a computer thousands of miles away from the user just by connecting with the Internet. SECURE Java does not use memory pointers explicitly. All the programs in java are run under an area known as the sand box. Security manager determines the accessibility options of a class like reading and writing a file to the local disk. Java uses the public key encryption system to allow the java applications to transmit over the internet in the secure encrypted form. The byte-code Verifier checks the classes after loading.
PERFORMANCE Java uses native code usage, and lightweight process called threads. In the beginning interpretation of byte-code resulted the performance slow but the advance version of JVM uses the adaptive and just in time compilation technique that improves the performance. MULTITHREADED
CUIET
ON-CLICK VIDEO
As we all know several features of Java like Secure, Robust, Portable, dynamic etc; you will be more delighted to know another feature of Java which is Multithreaded. Java is also a multithreaded programming language. Multithreading means a single program having different threads executing independently at the same time. Multiple threads execute instructions according to the program code in a process or a program. Multithreading works the similar way as multiple processes run on one computer. Multithreading programming is a very interesting concept in Java. In multithreaded programs not even a single thread disturbs the execution of other thread. Threads are obtained from the pool of available ready to run threads and they run on the system CPUs. This is how Multithreading works in Java which you will soon come to know in details in later chapters. INTERPRETED We all know that Java is an interpreted language as well. With an interpreted language such as Thus, Java, Java as programs an run directly language from on the an source interpreter code. program. The interpreter program reads the source code and translates it on the fly into computations. interpreted depends The versatility of being platform independent makes Java to outshine from other languages. The source code to be written and distributed is platform independent. Another advantage of Java as an interpreted language is its error debugging quality. Due to this any error occurring in the program gets traced. This is how it is different to work with Java. ARCHITECTURAL NEUTRAL The term architectural neutral seems to be weird, but yes Java is an architectural neutral language as well. The growing popularity of networks makes developers think distributed. In the world of network it is essential that the applications must be able to migrate easily to different computer systems. Not only to computer systems but to a wide variety of hardware architecture and Operating system architectures as well. The Java compiler does this by generating byte code instructions, to be easily interpreted on any machine and to be easily translated into native machine code on the fly. The compiler generates an architectureneutral object file format to enable a Java application to execute anywhere on the network and then the compiled code is executed on many processors, given the presence of the Java runtime system. Hence Java was designed to support applications on network. This feature of Java has thrived the programming language. Department of Information Technology 9 CUIET
ON-CLICK VIDEO
3.3.2 JSP
Java Server Pages (JSP) is a Java technology that helps software developers serve dynamically generated web pages based on HTML, XML, or other document types. Released in 1999 as Sun's answer to ASP and PHP, JSP was designed to address the perception that the Java programming environment didn't provide developers with enough support for the Web. To deploy and run, the Apache Tomcat Server is used. It is an open source servlet container developed by the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the Java Server Pages (JSP) specifications from Sun Microsystems, and provides a "pure Java" HTTP web server environment for Java code to run.
A language for developing JSP pages, which are text-based documents that describe how to process a request and construct a response Constructs for accessing server-side objects Mechanisms for defining extensions to the JSP language
JSP technology also contains an API that is used by developers of Web containers.
10
CUIET
ON-CLICK VIDEO
3.3.4 HTML
HTML, which stands for HyperText Markup Language, is the predominant mark-up language for web pages. HTML is the basic building-blocks of web pages. HTML is written in the form of HTML elements consisting of tags, enclosed in angle brackets (like <html>), within the web page content. HTML tags normally come in pairs like <h1> and </h1>. The first tag in a pair is the start tag, the second tag is the end tag (they are also called opening tags and closing tags). In between these tags web designers can add text, tables, images, etc. The purpose of a web browser is to read HTML documents and compose them into visual or audible web pages. The browser does not display the HTML tags, but uses the tags to interpret the content of the page. HTML elements form the building blocks of all websites. HTML allows images and objects to be embedded and can be used to create interactive forms. It provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. It can embed scripts in languages such as JavaScript which affect the behaviour of HTML webpage.
4. SYSTEM DESIGN
4.1 INPUT DESIGN Inaccurate input data are most common cause of errors in data processing. Errors entered by data entry operators can be controlled by input design. Input design is the process of converting user-oriented inputs to a computer-based format. Input data are collected and organized into groups of similar data. The goal of designing input data is to make data entry easy, logical and free from errors as possible. In the design of input the following steps must be considered. The allocated space for each field. Field sequence, which must match that in the source document. The format in which data fields are entered 11 CUIET
Mini Project Report 2011 We have to keep in mind the following things to design the system What data to input What medium to use The dialogue to guide users in providing input
ON-CLICK VIDEO
Methods for performing input validation and steps to follow when errors occur.
Input design is a part of overall system design which requires very careful attention. Often the collection of input data is the most expensive part of the system, in terms of the equipment used; it is the point of most contact for the users with the computer system; and it is prone to error. If data going into the system is incorrect, then the processing and output will magnify these errors. Thus the designer has a number of clear objectives in input design.
4.2 OUTPUT DESIGN Outputs from computer systems are required primarily to communicate the result of processing to users or sometimes to other systems, including machine based systems. They are also used to provide a permanent copy of these results for later consultation. These are various types of output required by most systems, the main ones are:
External Output Whose destination is outside the organization and which require special attention because they project the image of the organization. Internal Outputs: Whose destination is within the organization and which require careful design because they are the users among interface with the computer. Department of Information Technology 12 CUIET
ON-CLICK VIDEO
Whose use is purely within the computer department, e.g. program listings, usage statistics etc. Interactive Outputs: This involves the user in communicating directly with the computer. Output Definition The outputs should be defined in terms type of output, content, format, location, sequence.
4.3 DATAFLOW DIAGRAMS Data Flow Diagrams (DFD) is used to define the flow of the system and its resources such as information. Data Flow Diagrams are a way of expressing system requirements in a graphical manner. DFD represents one of the most ingenious tools used for structured analysis. A DFD is also known as a bubble chart. It has the purpose of clarifying system requirements and identifying major transformations that will become programs in system design. In the normal convention, logical DFD can be completed using only 4 notations,
13
CUIET
ON-CLICK VIDEO
The DFD at the simplest level is referred to as the Context Analysis Diagram. These are expanded by level, each explaining its processing detail. Processes are numbered for easy identification and are normally labeled in block letters. Each Data flow is labeled for easy understanding.
LEVEL :0
O V
- C L I I D E O
14
CUIET
ON-CLICK VIDEO
LEVEL: 1
ADMIN:
C P O H A R A S D S N W G E
I N
R T U
E E S
G R E R
I S
L T
O A
G B L
I N E
I N
E T
G A
I S T R B L E
I O
O I N
U R U
P E S M
D R E
A O R
T V
E E
I D E O T A B L T O A G
L I N E
A E
1
P N C O A T S T I F I O I O S T
1
V I E W
O T
T A B
I F L
I C E
I O
S A V D D I D E N O E W
1
S T A R T
I L
P S N
S E T G &
E R R
T M I S S I O L I V E E A M I N
L T
I V A
E B
V L E
I D
T O
15
CUIET
ON-CLICK VIDEO
STUDENT/PARENT/STAFF
I N
T A
C P O
H A
A S R S D
N W
1
V
I V T A
E B
V L
I D E
E O
I E W
U N
D T
/ S
/ P
I N
S E L P E R E D V I D
E C T M I T T E O S A V
I E W
F I L
T A
I D E O T A B
A E
N C N
O A S
T I F I T I O P O S T
I E W
N N
T I F I C T A B L
A E
T I O
16
CUIET
ON-CLICK VIDEO
OTHERS:
I E W I D E O F O R P U B L I C V V
I L
T A
I V T A
E B
V L
I D E
E O
LEVEL: 2
ADMINISTRATOR:
E A D M I N L O I N G C U P A R
N R S D
T R S
E W
R E N O
N P W
E A O S
W S R D
L T
O A
G B
I N E
17
CUIET
ON-CLICK VIDEO
GT
A I NB
E 1 R O E N G I S T R A T T A B L E
O I N
D U
E S
L E
E R
S E E-M
N A
D I L
I D E O T A B
A E
STREAM VIDEO:
1 L T O A G I N B L E 1 L I V T A E B V L E I D E O
I N
O I N
E L T V I D
E E
C O
T R M V I D
E E
A O P E
R G
T I V I L E S
I L
NOTIFICATIONS:
18
CUIET
ON-CLICK VIDEO
I N
N C N
O A
T T
I F I O
I V I E W
N N
O T
I F I C A B L
A E
D E
STUDENT/PARENT/STAFF:
I N
R S
E T
N T / A F F
DL E O N
I N
TG
C T W
U P O
R A R
R S
E S
N P W
E A O
W S
SAVE/VIEW VIDEO:
19
CUIET
ON-CLICK VIDEO
L T
L I V
I V A
E V
E B
I D
V L
E
I D E
O
1
R E C
F
O
I L
R D
E
E D
T
V
B
I D
L
E O
R S
E T
N A
T F
/ F
S T
S V
E T
E E
C S O A V E 1 A
V C T A
I D C B
I D
E O O U L E
V V
I E I D
W E
VIEW/POST NOTIFICATIONS:
P
P A R E N T / T A F F S T U
T N N O T T I F I C A B L A E T
N O T C D A E NT N
I F T / I O
I 1
I E
20
CUIET
ON-CLICK VIDEO
21
CUIET
ON-CLICK VIDEO
All independent paths within a module have been exercised at least once.
Exercise all logical decisions on their true or false side. Execute all loops at their boundaries.
Black Box Testing It is focused on the functional requirements of the software. It is not alternative to White Box Testing; rather it is complementary approach that is likely to uncover a different class of errors than White Box Methods. It is attempted to find errors in the following categories. Incorrect or missing functions. Interface Errors. Errors in data structures or external database access. Performance errors. Testing should begin in small and progress towards testing in large.
TESTING IN LARGE Integration Testing Bottom up integration is used for this phase. It begins construction and testing with atomic modules. This strategy is implemented with the following steps. Low-level modules are combined to form clusters that perform a specific software
22
CUIET
ON-CLICK VIDEO
6. SYSTEM MAINTENANCE
Maintenance of the software is one of major step in Software Engineering. System Maintenance is the process of modifying a software system or component after its delivery inorder to correct , improve the performance and other attributes or to adapt to the changed environment. Maintenance covers a wide range of activities including correcting, coding and design errors, updating the documentation and test data and updating the user support. There is an aging process that calls for periodic maintenance of hardware and software. Maintenance can be classified as: Corrective Maintenance Adaptive Maintenance Perfective Maintenance
Corrective Maintenance removes the software faults. Corrective Maintenance should be of overriding priority for the software maintenance, which improves the system without changing its functionality. Adaptive Maintenance may be needed because of changing in the user requirements, changes in the target platform or changes in the external interface. Minor adaptive changes should be carried out as a separate development project. The objective of perfective maintenance should be to prevent failure and optimize the software adaptive maintenance that modifies the software to keep it up to date with its operative.
23
CUIET
ON-CLICK VIDEO
7. FUTURE ENHANCEMENTS
Streaming technology has entered a new cycle of innovation. Content providers are looking for new ways to reuse the content and metadata they already have. Podcasting based on the calendar we already maintain for our website, detecting audio and video content in their streams, creating fake live streams based on on-demand content, tieing into their metadata databases, Streaming providers are being challenged to provide custom solutions for the content providers who are becoming more demanding and creative with their content.
The major disadvantage of streaming is that quality is limited by available bandwidth. For videos to be delivered quickly to a user's desktop for viewing, two things have to be considered: the size of the video and the Internet bandwidth available to the user. So these would be put into enhancement and development for future. Compressing videos can normally sacrifice their quality, and a small bandwidth normally results in choppy video playback. Another drawback to the availability of streaming videos is the increase in network or Internet traffic. The current stream is not perfectly fine because the streaming speed is comparatively slow and mainly depends on the internet connection. So would increasing the maximum streaming speed be a difficult thing to do, but hopefully someday in the future!
24
CUIET
ON-CLICK VIDEO
8. CONCLUSION
In this project, we implemented a live video streaming system for the college. Our target is the delivery of live video as well as recorded video streams (with audio) of different events take place in the college to different users. With this objective, we examined the existing (commercial and noncommercial) systems, coming up to the conclusion that none of them meets all the requirements of our application. Therefore, we developed a system for video streaming in a college environment using http protocol. We used the vlcj, the java binding for Video LAN, for encoding and streaming the video. Our experimentation results the solution for a video streaming system for colleges. As the future directions of our project, we will implement a video streaming system which supports high definition videos with better playback quality.
25
CUIET
ON-CLICK VIDEO
9. BIBILIOGRAPHY
WEB REFERENCES [1] www.programmersheaven.com [2] www.wikipedia.org
26
CUIET
ON-CLICK VIDEO
27
CUIET
ON-CLICK VIDEO
28
CUIET
ON-CLICK VIDEO
29
CUIET
ON-CLICK VIDEO
30
CUIET
ON-CLICK VIDEO
31
CUIET
ON-CLICK VIDEO
32
CUIET
ON-CLICK VIDEO
33
CUIET
ON-CLICK VIDEO
34
CUIET
ON-CLICK VIDEO
35
CUIET