Project Report On Online Streaming of Videos
Project Report On Online Streaming of Videos
September 2019
University of Okara
OKARA – PAKISTAN
1
Submission Form for IT Capstone
Project
PROJECT REPORT
NUMBER OF MEMBERS 3
TITLE
Online Video Streaming
Project
CHECKLIST:
I/We confirm to state that this project is free from any type YES / NO
of plagiarism and misuse of copyrighted material
2
MEMBERS’ SIGNATURES
Supervisor’s Signature
Head of Department
(Chairman)
Sir Khurshid Asghar
Supervisor
(Member)
Sir Khurshid Asghar
University of Okara
OKARA – PAKISTAN
Session 2015-19
3
Declaration
“No portion of the work referred to in the dissertation has been submitted in support of an
application for another degree or qualification of this university/institute”.
MEMBERS’ SIGNATURES
4
Acknowledgement
In the name of God, the kindest and most Merciful.
We would like to thank our teacher Sir Khurshid Asghar who kept backing us up in all
the times, both financially and morally. We would also like to thank for his guidance and
encouraging us to work hard and smart. We have found him very helpful while discussing the
optimization issues in this dissertation work. His critical comments on our work have certainly
made our thinking of new ideas and techniques in the fields of optimization and software
simulation.
We grateful to the God Almighty who provides all the resources of every kind to us, so
that we make their proper use for the benefit of mankind. May He keep providing us with all
the resources, and the guidance to keep helping the humanity.
5
Table of Contents
Video Streaming System............................................................................................................ 1
Declaration ................................................................................................................................. 4
Acknowledgement ..................................................................................................................... 5
1. Introduction ........................................................................................................................ 8
1.1 Existing System ........................................................................................................... 8
1.2 Drawbacks of Existing System: .................................................................................. 8
1.3 Proposed System: ........................................................................................................ 8
1.4 Advantages of the proposed system: ........................................................................... 8
1.5 Hardware and Software Requirements ........................................................................ 8
1.5.1 Software Requirements ........................................................................................ 8
1.5.2 Hardware Requirements....................................................................................... 9
1.6 Feasibility Study.......................................................................................................... 9
1.6.1 Economic Feasibility ........................................................................................... 9
1.6.2 Operational Feasibility ......................................................................................... 9
1.6.3 Technical Feasibility .......................................................................................... 10
1.7 Implementation plan .................................................................................................. 10
1.8 Project Plan ............................................................................................................... 11
2. System Requirements Specification ................................................................................. 13
2.1 Introduction ............................................................................................................... 13
2.2 Functional Requirements........................................................................................... 13
2.3 Non-Functional Requirements .................................................................................. 13
2.3.1 Analysis, Design & Data requirements .............................................................. 14
2.3.2 Constraints ......................................................................................................... 14
2.3.3 Guidelines .......................................................................................................... 15
2.3.4 Validation Criteria ............................................................................................. 15
3. Architecture and Technologies ......................................................................................... 16
3.1 3.1 Modules: .............................................................................................................. 16
3.1.1 Administrator Module ........................................................................................ 16
3.1.2 User Module....................................................................................................... 16
6
3.1.3 Registration ........................................................................................................ 16
3.2 3.2 User Activities: .................................................................................................... 16
3.3 General Methodology in Developing Project............................................................ 16
3.4 Requirement Specification: ....................................................................................... 17
3.5 System Design ........................................................................................................... 17
4. Uml Diagrams................................................................................................................... 19
4.1 Use case Diagrams: ................................................................................................... 19
4.2 Sequence Diagram: ................................................................................................... 20
4.3 Class Diagram ........................................................................................................... 22
4.4 Activity Diagram ....................................................................................................... 23
4.5 System Analysis ........................................................................................................ 24
5. Technologies ..................................................................................................................... 25
5.1 World Wide Web – Web Technologies .................................................................... 25
5.2 Hyper Text Transfer Protocol ................................................................................... 25
5.3 Three – Tier Architecture .......................................................................................... 25
5.4 TCP/IP Protocol ........................................................................................................ 25
5.5 Apache Web Server ................................................................................................... 26
5.6 Hypertext Markup Language (HTML) ..................................................................... 27
5.7 Structure Of HTML ................................................................................................... 27
5.8 Dynamic Hypertext Markup Language (DHTML) ................................................... 28
5.9 Java Script ................................................................................................................. 28
6. Testing .............................................................................................................................. 30
6.1 Testing Phases ........................................................................................................... 30
6.1.1 Unit Testing ....................................................................................................... 30
6.1.2 Integration Testing ............................................................................................. 30
6.1.3 System Testing ................................................................................................... 30
6.1.4 Acceptance Testing ............................................................................................ 30
6.1.5 Testing Methods................................................................................................. 30
6.1.6 White Box Testing ............................................................................................. 31
6.1.7 Black Box Testing.............................................................................................. 31
7. Interface View .................................................................................................................. 32
8. Conclusion and future work plans .................................................................................... 36
9. BIBLIOGRAPHY ............................................................................................................ 37
10. REFERENCES ............................................................. Error! Bookmark not defined.
7
1. Introduction
The Project entitled “Video Streaming” is an application that allows the users to add videos.
The users those who wish to add videos, can register for the website and get the UserID and
password. Video Streaming is a web-based application allow the users to browse the videos at
same time. It provides the user up to date information at any appropriate location.
The earlier system is not computerized. The process of adding the videos is very
difficult when done manually. Users face so many problems in uploading videos. Here now
such type of pre-planned applications is not there for users.
The proposed system is fully computerized, which removes all the drawbacks of
existing system. In the proposed system, the users can add the videos very easily.
RAM : 512MB
HARD DISK : 40 GB
Feasibility study is an important phase in the software development process. It enables the
developer to have an assessment of the product being developed It refers to the feasibility study
of the product in terms of outcomes of the product, operational use and technical support
required for implementing it. Feasibility study should be performed on the basis of various
criteria and parameters. The various feasibility studies are:
Economic Feasibility
Operational Feasibility
Technical Feasibility
It refers to the benefits or outcomes we are deriving from the product compared to the total cost
we are spending for developing the product. If the benefits are more or less the same as the
older system, then it is not feasible to develop the product. In the present system, the
development of the new product greatly enhances the accuracy of the system and cuts short the
delay in the processing of application.
The errors can be greatly reduced and at the same time providing a great level of security. Here
we don’t need any additional equipment except memory of required capacity. No need for
spending money on client for maintenance because the database used is web enabled database.
It refers to the feasibility of the product to be operational. Some products may work very well
at design and implementation but may fail in the real time environment. It includes the study
of additional human resource required and their technical expertise. In the present system, all
the operations can be performed easily compared to existing system and supports for the
backlog data. Hence there is need for additional analysis. It was found that the additional
9
modules added are isolated modules as far as the operational is concerned, so the Developed
system is operationally feasible.
It refers to whether the software that is available in the market fully supports the present
application. It studies the pros and cons of using particular software for the development and
its feasibility. It also studies the additional training needed to be given to the people to make
the application work. In the present system, the user interface is user friendly and does not
require much expertise and training. It just needs a mouse click to do any sort of application.
The software that is used for developing is server pages fully is highly suitable for the present
application since the users require fast access to the web pages and with a high degree of
security. This is achieved through integration of web server and database server in the same
environment.
The main plan for the system developed is to upgrading existing system to the proposed
system. There are mainly 4 methods of upgrading the existing system to proposed
10
1.7.3 Phase-in Method
In this method a part of the system is first implemented and over time other remaining parts
are implemented.
It was decided to use good Software engineering principals in the development of the system
since the company had quite a big client network & was aiming to provide staffing for the
clients or to develop the internal projects of the companies & expand their operations in the
near future. So the following Project Plan was drawn up
1. The Analysts will interact with the current manual system users to get the
Requirements. As a part of this the Requirements Specification Document will be
created.
2. The requirements Specifications document will contain the Analysis & Design of the
system & UML will be used as the modeling language to express the Analysis & Design
of the System. According to Grady Booch et al, in The Unified Modeling Language
User Guide [UML-1998], “The Unified Modeling Language (UML) is a graphical
language for visualizing, specifying, constructing, and documenting the artifacts of a
software-intensive system. The UML gives you a standard way to write a system's
blueprints, covering conceptual things, such as business processes and system
functions, as well as concrete things, such as classes written in a specific programming
language, database schemas, and reusable software components”.
3. The Analysis, Design, Implementation & testing of the System itself will be broadly
based on the Rational Unified Software Development process. According to Ivar
Jacobson et al, in The Unified Software Development Process (The Addison-Wesley
Object Technology Series) [USDP-2000], the Unified Software Development Process
contains Inception, Elaboration, Construction & Transition as the main Phases, which
contain further cycles & iterations. This process will be followed to produce an
11
incremental cycle, which will deliver milestones like the Requirements Specification
Document etc., at the end of each of the iterations, Phases or cycles.
4. The Architecture & Technologies will be decided as a part of the Analysis of the
requirements.
5. Once the Design is ready the Implementation & Testing strategy of the system will
commence. Each will be independent of the other. The implementation of the system
itself will be broken down into sub-systems following the Software Engineering
principles for the development of robust software.
6. Once the implementation is ready, the System testing will take place. If the system is
judged to be stable, then Acceptance testing by the Users will take place & once the
Users are satisfied the System will be rolled out to the Users & they will be trained on
how to use it for an initial period.
12
2. System Requirements Specification
The following chapters contain an account of how the Technology & architecture for the
system were chosen.
2.1 Introduction
1. Functional requirements
2. Non-functional requirements
The main purpose of functional requirements within the requirement specification document is
to define all the activities or operations that take place in the system. These are derived through
interactions with the users of the system. Since the Requirements Specification is a
comprehensive document & contains a lot of data, it has been broken down into different
Chapters in this report. The depiction of the Design of the System in UML is presented in a
separate chapter. The Data Dictionary is presented in the Appendix of the system.
1. The System should allow the administrator to manage different levels of tests and
their sequence.
2. It allows the administrator to manage the questions in each category.
3. It allows the administrator to manage the list of questions in each category.
4. This system finally evaluates the test, display the result and store it.
5. This system can then take the candidate to the next level.
6. It allows the administrator to generate the report bases on some cut off marks.
7. It allows the candidate the feedback
8. The User can view the lecture online
9. Administrator can present the lecture.
13
Analysis, Design & Data requirements (Use-case diagrams, textual analysis, sequence
diagrams, data dictionary etc.)
Constraints.
Guidelines.
The use case diagrams, textual analysis and sequence diagrams & data dictionary fall into this
category. Since each category above is of considerable importance, they have been dealt in
separate chapters. An outline is only included here.
The Analysis & Design phases of the system yield Use Case diagrams, textual analysis,
Sequence Diagrams, Class diagrams & Data Dictionary. Data dictionary consists of process
statements showing how data is flowing from starting point to end point.
2.3.2 Constraints
These are the requirements that are not directly related to the functionality of the system. These
should be considered as mandatory when the system is developed. The following Constraints
were arrived at for the system:
1. The system should be available over the intranet so that the Users like the candidates
can use the system from their system which was assigned to him.
2. For gaining entry into the system the users should be registered and should be able use
login & passwords for gaining access to the system.
3. The users should be able to change their passwords for increased security.
4. The system should conform to the requirement specified and final deliverables of the
project before some date.
5. The system should be easy to understand and organized in a structured way. The users
should also receive feedback about any errors that occur.
6. There should be no limitation about the hardware platform that is to be used to run the
system.
7. Data integrity should be maintained if an error occurs or the whole system comes down.
8. A user should to be registered in the system once in 6 months only.
9. A user can take-up the next level test once he clears previous level.
14
2.3.3 Guidelines
We have discussed mandatory requirements in the previous section. The requirements in this
section should be taken as suggestions & they should be thought of as recommendations to
further enhance the usability of the system.
The Validation Criteria are dealt separately in the Chapter dealing with the Test Strategy &
Test cases.
15
3. Architecture and Technologies
3.1 Modules
There are some modules that are the part of this proposed project. These modules are under
below.
This module allows administrator to manage different videos that upload by the users. It allows
him to add, modify and delete the videos
It allows the candidate to register for the website and generate the ID and password. It allows
the user login into this application and see the videos. He can view all the videos upload by the
admin. He can add videos as Favorites.
3.1.3 Registration
This module allows the users to register for the website. It allows the Users select an option for
add favorites with in the stipulated time and continues generating the videos.
Administrator
16
previously completed. This cycle back or feedback may occur as a result of the failure with
the system to meet a performance objective or as a result of changes in redefinition of system
activities. Like most systems that life cycle of the computer-based system also exhibits distinct
phases.
These are,
Feasibility Study
Requirement Analysis
Designing
Testing
Maintenance
Here, the focus is on specifying what has been found giving analysis such as
representation, specification languages and tools, and checking the specification are addressed
during this activity. The Requirement phase terminates with the production of the validate SRS
document. Producing the SRS document is the basic goal of this phase.
Design of software involves conceiving, planning out and specifying the externally
observable characteristics of the software product. We have data design, architectural design
17
and user interface design in the design process. These are explained in the following section.
The goal of design process is to provide a blue print for implementation, testing and
maintenance activities.
The primary activity during data design is to select logical representations of data
objects identified during requirement analysis and software analysis. A data dictionary
explicitly represents the relationships among data objects and constraints on the elements of
the data structure. A data dictionary should be established and used to define both data and
program design. Software design is a process that gradually changes as various
new, better and more complete methods with a broader understanding of the of the whole
problem in general come into existence. There are various kinds of methods in software design.
They are as follows
18
4. UML DIAGRAMS
UML stands for Unified Modeling Language. UML is a language for specifying, visualizing
and documenting the system. This is the step while developing any product after analysis. The goal
from this is to produce a model of the entities involved in the project which later need to be built. The
representation of the entities that are to be used in the product being developed need to be design.
Use case diagrams model behavior within a system and helps the developers understand
of what the user required. The stick man represents what’s called an actor.
19
Figure 3. use case for normal user
The purpose is to show the of functioning through a use case. In other Words, we call it
mapping processes in terms of data transfers from the actor through corresponding objects.
20
Figure 4. Sequence Diagram for admin
21
It must be remembered that the sequence diagram display Objects and not
the classes.
Above are the sequence diagrams of the user and admin as shown in figure 4 and figure 5.
22
4.4 Activity Diagram
Log-in
Invalid User
Authetication
Valid User
Administration
Log-Out
23
Activity diagram for Different options for the user.
Analysis is the detailed study of the various operations performed by the system and
their relationships within and outside of the system. A key question is: what must be done to
solve the problem? One aspect of analysis is defining the boundaries of the system and
determining whether or not candidate system should consider other related systems. During
analysis, data are collected on the available files, decision points, and transactions handled by
the present system.
24
5. Technologies
The World Wide Web is an open-ended information system where the information can
be retrieved and is designed to use in the Internet’s distributed environment. It contains Web
pages that provide information and controls. The World Wide Web initially started as a text
only medium but now ranges of features are added like graphics, sounds, animation and video.
A large portion of internet is organized as the world wide web. A Web application is defined
as multi –tier application based on the internet standards, using a web browser as client. The
rule making body of the web is W3C. W3C stands for World Wide Web Consortium. W3C
puts together specifications for Web standards. The most essential Web standards are HTML,
CSS and XML. The latest HTML standard is XHTML 1.0.
The standard web transfer protocol is HTTP. Each interaction consists of one ASCII
request, followed by one RFC 822 MIME – like response. Although the use of TCP for the
transport connection is very common, it is not formally required by the standard. HTTP is
constantly evolving. Several versions are in use and others are under development.
A web application follows a 3 – tier model. The first tier consists of presentation layer,
the second tier consists of the application layer and the third tier provides the data. A web
application will collect the data from the client and sends the request to the web server.
The most basic internet standard is the TCP/IP protocol. This protocol defines the rules
for establishing connections between computers, that is between client and server hardware.
Following figure 9 shows the 3-tier architecture of model.
25
Figure 9. 3 tier architecture
In a web application the first tier includes the web browser and the web server. The
relevant script let program runs and gets the data (second and the third tier) and sends the data
to the Web server. The web server sends the data back to the client (first tier).
Apache was originally based on the code and ideas found in the most popular HTTP
server of the time. NCSA httpd1.3 (early 1995). It has since evolved into a far superior system
which can rival (and probably surpass) almost any other UNIX based HTTP server in terms of
functionality, efficiency and speed. Since it began, it has been completely rewritten and
includes many features. Apache is, as of January 1997, the most popular WWW server on the
Internet, according to the Net craft Survey.
An HTML document consists of text, which comprises the content of the document and
tags, which, defines the structure, and appearance of the document. The structure of an HTML
document is simple.
Here’s an example.
<HEAD>
</HEAD>
<BODY>
</BODY>
</HTML>
27
5.8 Dynamic Hypertext Markup Language (DHTML)
With the explosion of interest in the World Wide Web, Hypertext Markup Language
(HTML) has assumed a prominent place in the computer world. HTML has evolved to meet
the increasing demand for eye-catching and mind-catching web sites. Until recently, however
the evolutionary process mostly involved new and improved tags
and attributes. The end products, static web pages that often-required repeated time-consuming
round trips between client and server machines, clearly showed a new direction was in order.
Dynamic HTML is that new direction. It combines HTML with Cascading Style Sheets and
scripting languages.
JavaScript is a scripting language that was created by Netscape. It was originally called
LiveScript. Despite the similarities in name and syntax, JavaScript is not related to the Java
programming language. JavaScript is supported by a wide range of Web browsers, including
both Microsoft® Internet Explorer and Netscape Navigator. The Internet Explorer 3.0 supports
JavaScript directly through a scripting engine in the file jscript.dll.
SYNTAX
<SCRIPT LANGUAGE="JavaScript">
var rtn=false;
function push_me() {
5.10 PHP
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open
source general-purpose scripting language that is especially suited for web development and
can be embedded into HTML.
28
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
</head>
<body>
<?php
?>
</body>
</html>
Instead of lots of commands to output HTML (as seen in C or Perl), PHP pages
contain HTML with embedded code that does "something" (in this case, output "Hi, I'm a
PHP script!"). The PHP code is enclosed in special start and end processing instructions
<?php and ?> that allow you to jump into and out of "PHP mode."
What distinguishes PHP from something like client-side JavaScript is that the code is
executed on the server, generating HTML which is then sent to the client. The client would
receive the results of running that script, but would not know what the underlying code was.
You can even configure your web server to process all your HTML files with PHP, and then
there's really no way that users can tell what you have up your sleeve.
The best things in using PHP are that it is extremely simple for a newcomer, but offers
many advanced features for a professional programmer. Don't be afraid reading the long list of
PHP's features. You can jump in, in a short time, and start writing simple scripts in a few hours.
Although PHP's development is focused on server-side scripting, you can do much more with
it. Read on, and see more in the What can PHP do? section, or go right to the introductory
tutorial if you are only interested in web programming.
29
6. Testing
Software testing is a critical element of the software quality assurance and represents the
ultimate review of specification, design and coding. Testing is the exposure of the system to
trial input to see whether it produces correct output.
Test activities are determined and test data selected. The test is conducted and test results are
compared with the expected results. There are various types of testing:
Unit testing is essentially for the verification of the code produced during the coding phase and
the goal is test the internal logic of the module/program. Int the Generic code project, the unit
testing is done during coding phase of data entry forms whether the functions are working
properly or not. In this phase all the drivers are tested they are rightly connected or not.
All the tested modules are combined into subsystems, which are then tested. The goal is to see
if the modules are properly integrated, and the emphasis being on the testing interfaces between
the modules. The generic code integration testing is done mainly on table creation module and
insertion module.
It is mainly used if the software meets its requirements. The reference document for this process
is the requirement document.
It is performed with realistic data of the client to demonstrate that the software is working
satisfactorily.
30
6.1.6 White Box Testing
It is a test case design method that uses the control structures of the procedural design to derive
the test cases. Using this testing a software engineer can derive the following test cases:
Exercise all the logical decisions on either true or false sides. Execute all loops at their
boundaries and within their operational boundaries. Exercise the internal data structures to
assure their validity.
It is a test case design method used on the functional requirements of the software. It will help
a software engineer to derive sets of input conditions that will exercise all the functional
requirements of the program.
Test cases that reduce by a count that is greater than one, the number of additional test
cases that must be designed to achieve reasonable testing.
Test cases that tell us something about the presence or absence of classes of errors rather
than errors associated only with a specific test at hand.
31
7. Interface View
32
Figure 11. Admin Panel Login
33
Figure 13. Admin’s Dashboard
34
Figure 14. Manage TV
35
8. Conclusion and future work plans
Technology have been evolving day by day. Every day there is new products are launched. So,
we have decided to change our previous traditional system with a fully functionality which
include new features that are not available in existing system. We use different methods and
software developing tools for developing our system. It will be useful for any college and
university students who want to use and know new technology and it will be convenient for
them. They will get rid from compulsory attending the classes because sometimes students may
busy in urgent work and can’t reach in the class on time.
There could be several future work plans to enhance our system functionality. These can be:
New ideas:
36
9. Bibliography
System Analysis and Design – James A.Senn
Database System Design – ElmasreeKorth
Modern Database Management – McFadden, Hoffer, Prescott
Software Engineering Concepts – Robert Pressman
10. References
37