Software Requirements
Specification
For
“video streaming sites –
youtube”
Prepared by -Karan Agrawal
Lovely Professional University
September 2016
Table of Contents
Table of Contents................................................................................................................................................ ii
Revision History.................................................................................................................................................. ii
1. Introduction................................................................................................................................................. 1
1.1 Purpose...........................................................................................................................................1
1.2 Document Conventions...................................................................................................................1
1.3 Scope…………………………………………………………………………………… 1
1.4 References......................................................................................................................................1
2. Overall Description....................................................................................................................................... 2
2.1 Product Perspective........................................................................................................................2
2.2 Product Features.............................................................................................................................2
2.3 User Classes and Characteristics.....................................................................................................2
2.4 Operating Environment...................................................................................................................2
2.5 Design and Implementation Constraints.........................................................................................2
2.6 User Documentation.......................................................................................................................2
2.7 Assumptions and Dependencies.....................................................................................................3
3. System Features........................................................................................................................................... 3
3.1 System Feature 1.............................................................................................................................3
4. External Interface Requirements.....................................................................................................4
4.1 User Interfaces................................................................................................................................4
4.2 Hardware Interfaces........................................................................................................................4
4.3 Software Interfaces.........................................................................................................................4
5. Other Nonfunctional Requirements............................................................................................................. 5
5.1 Performance Requirements............................................................................................................5
5.2 Safety Requirements.......................................................................................................................5
5.3 Security Requirements....................................................................................................................5
5.4 Software Quality Attributes.............................................................................................................5
6. Other Requirements..................................................................................................................................... 5
Appendix A: Glossary.......................................................................................................................................... 5
Appendix B: Analysis Models.............................................................................................................................. 6
Revision History
Name Date Reason For Changes Version
Software Requirements Specification Page 1
Introduction
A video hosting service allows individuals to upload video clips to an Internet website. The video
host will then store the video on its server, and show the individual different types of code to allow
others to view this video. The website, mainly used as the video hosting website, is usually called
the video sharing website.
Because many users do not have unlimited web space, either as a paid service, or through an ISP
offering, video hosting services are becoming increasingly popular, especially with the explosion in
popularity of blogs, forums, and other interactive pages.
The mass market for camera phones has increased the supply of user-generated video. Traditional
methods of personal video distribution, such as making a DVD to show to friends at home, are
unsuited to the low resolution and high volume of camera phone clips. In contrast,
current broadband Internet connections are well suited to serving the quality of video shot on
mobile phones. Most people do not own web servers, and this has created demand for user-
generated video content hosting, which the likes of YouTube are catering to.
Purpose
Save on bandwidth costs, often eliminating costs entirely
Creating a common place and Make hassle-free experience, where uploading a video
and streaming or embedding would normally require advanced programming knowledge. It is
now commonly achieved through a web browser, with little or no programming experience.
Document Conventions
Heading – 14px
Font – 12, 10 px
BOLD , ITALICS, UNDERLINE
Software Requirements Specification Page 2
Intended Audience and Reading Suggestions
The
document is intended for all the stakeholders customer and the developer
(designers, testers, maintainers).
The reader is assumed to have basic knowledge of upload and download
The video.
Project Scope
Video sharing refers to websites or software where users can distribute their video clips. Some
services may charge, but the large majority of them offer free services. Many services have options
for private sharing and other publication options. Video sharing services can be classified into
several categories, among them: user generated video sharing websites, video sharing platform /
white label providers and web based video editing. Please note that websites that are solely search
engines and do not provide the hosting of their video content (such as Singingfish) is not included in
this article.
User generated video sharing
User generated sites mostly offer free services whereby users can upload video clips and share it
with the masses. Many sites place restrictions on the file size, duration, subject matter and
format of the uploaded video file. Most sites don't allow nudity, though each site makes
judgment calls on what qualifies as inappropriate content. Some sites also flag adult material to
keep it out of their public pool of content. Some sites screen all their content before it is
published and others approve first and use community features to filter out inappropriate
content "after-the-fact." Website in this category are: Facebook, Flickr, Gubb ([Link])
Video sharing platform/ White label Providers
Platform and White Label Providers sell the technology to various parties that allow them to
create the services of the aforementioned "User Generated Video Sharing" websites with the
client's brand. Just as Akamai and other companies host and manage video/image/audio for
many companies, these white-labels "host video content". Many of these companies also offer
their own user-generated video sharing website both for commercial purposes and to show off
their platform. Websites in this category are: Clip-Share, [Link].
Enterprise Video Hosting Providers
Software Requirements Specification Page 3
Enterprise video hosting sites are aimed at businesses wanting to share video content internally
with employees or externally with customers, partners, or prospects. Features may include
limiting access to authenticated users, tracking of user actions, integration with single sign-
onservices and a lack of the advertisements normally present on public sites. Among sites in
this category are: Brightcove, Kewego, [Link]
Web based video editing
Web based video editing sites generally offer the "user generated video sharing" website in
addition to some form of editing application. Some of these applications simply allow the user
to crop a video into a smaller clip. Other services have invested much time and effort into
replicating the same functionality that has previously only been available via Windows Movie
Maker, iMovie and other client-side applications that run outside of a web page. Some of these
applications are based in AJAX and others in Flash. Some websites also offer downloadable
editors but they will not be listed here due to the number of pre-existing video editors.
Websites in this category include (in alphabetical order): [Link], YouTube
References
Separate studies conducted by Karan Agrawal on video distribution within the home. All studies
created on September 2016
. [Link]
[Link]
[Link]
[Link]
[Link]
Software Requirements Specification Page 4
Overall Description
Product Perspective
The program is a new self-contained product. It has come about due to the demand for such a
product being identified in a series of Ethnography studies. From these studies we saw that the
main activity people used video for was the watch content found online. These people would
regularly spend periods of time searching websites to try and find the videos they wanted to watch,
either somewhere to stream the video from or the files to download the video. Our system will aim
to speed up this process.
Product Features
The main feature of the system will be a search engine for finding the location of videos and
streaming sites for videos on the internet. The user can specify which of the 2 or both to look for.
The results will be divided into the types that were specified using different tabs, and then the
results will be orderable by different categories, such as name, size, site, etc. The user will have the
option to filter out videos containing certain content depending on age restrictions, for example
adult content. In addition the user will have the option to filter out or only search certain websites;
for example a user may only want to look at videos on YouTube. They will have the facility for users
to store their favorite videos, so that they can come back to the video at another time.
User Classes and Characteristics
There will be two levels of user for our system. The first will be the general user that will be using
our software to find their videos. They will only see the front end of the system. The second level
will be the system developers. They will be able to edit which sites the system will search,
depending on whether they think the site is safe, compatible with respective softwares, the speed
Software Requirements Specification Page 5
at which the site can be searched, and how useful the site is to users, i.e. how many results have
come back from that site
General Constraints
Server capacity is how many users can access or can be online at once. More is the number of users
more will be the network traffic and hence the server comes in a down state. Personal firewall and
updating is a tough task, it should be such that it should not block the network traffic, making the
system slower. Firewall of the server should not collide with the firewall of the user system.
Operating Environment
The system will be portable; this means it will work across different operating systems including
Microsoft XP and Vista, Windows 7,8,10 Mac OS X and a range of Linux platforms. Also it will work
with different web browsers, for example Internet Explorer, Firefox, crome and Safari.
The hardware needed for our system will be a reasonably up-to-date computer that is connected to
the internet via a modem.
Design and Implementation Constraints
• Login
Signup
Upload
Validate User Credentials
• Validate for username/email and password
Validate for forgot username or password
Recovery through email or mobile no.
User Documentation
Help
Software Requirements Specification Page 6
Assumptions and Dependencies
• Hardware never fails
• unlimited number of users can access per day .
Specific Requirements
Functional Requirements
1- Streaming search will share the same search bar with the torrent search.
Database of video hosting and video linking sites can be updated via the internet.
2- There will be a tick box to allow the user to choose to include video host searching in the
search
3-There will be a tick box to allow the user to choose to include video link searching in the
search.
4-Query to video hosting sites will retrieve full video name, length, date posted and a link to
the video itself.
5- Query to video link sites will retrieve the show’s name, episode name and a link to the
webpage itself.
6- If no results are found on a search it will display a message “No results were found for this
search.”
7-Results will be arranged in length/date/alphabetical order by clicking on the column
headers.
8-There will be page button for the user to navigate the results.
Software Requirements Specification Page 7
External Interface Requirements
User Interfaces
The user Interface will consist of one main screen, allowing all the functionally to come from this
one screen. This allows the user to use the software with ease by not flicking through a number of
different screens. In addition to this the user can always see the videos they are looking for. The
main screen will be laid out as in Appendix: B Diagram along with the description of the diagram.
We decided on this type of interface because we felt that it would be very simple for the user to
navigate. From our reports we found that the simpler the interface was, the more people liked it.
With all these features complied into one screen it will give the software more flexibility and allows
for easy and simple usage. This will appeal to both naïve computer users and experienced computer
users with a higher selling market.
Appendix B: Diagrams
1- The first feature of the software is a menu bar.
This software includes the basic features used in
similar products such as new search, close, load etc.
However with our software there are two extra
features. These being a filter option which allows
the user to set parental controls over the software.
This enables the user to be able to search for videos
without getting explicit content. In addition to this
there is a favorite’s option. This feature gives the user the option of being able to store links to their
favorite videos in the software, and be able to go back to these websites after restarting the
software.
Software Requirements Specification Page 8
2- This is the main engine behind the software. This is where the user enters the name of the video
they wish to search for. Once the user has typed in the name of their desired video they can either
press the enter key or the search button to run the query.
3- These tick boxes tell the software to search for either torrents or streaming videos, depending on
what type of video the user wishes to view.
4- These are the tabs which bring up the different pages of the search results. This allows the user.
5- This is where the actual search results will be displayed. Within these display fields the User will
be told the name of the video, the location of the video (which website the Video is on), the size of
the video so the user can decide if they wish to download the Video or just to stream the video, the
rating of the video with information on how safe The website is, and finally comments on the video
(what other user think of the video). With this the user can then decide on how he wants the
search results sorted using the Column headers at the top.
Hardware Interfaces
The external hardware interface used for accessing the video hosting sites is the personal
computers of the users. The PCs may be laptops, notebooks, netbooks with internet connections as
a wireless connection, via modems, or broadband.
Software Interfaces
The software will use hyperlinks to allow the user to open websites in their default Web browser.
Server Site system requirements
Unix/Linux operating system with 32-bit or 64-bit support
SQL database. MySQL pre-compiled binaries recommended
Apache2 (mpm-prefork) with SSL support
PHP5 with support for MySQL, OpenSSL, cURL, etc.
Software Requirements Specification Page 9
Setup and configuration of: log rotation in cron jobs, virtual hosts, SSL certificates, RAID 5 storage or
NAS/SAN storage in larger installations.
User Site System Requirements
In order to watch videos on such sites, user should make sure that his system has access to the
following system requirements:
Macromedia Flash Player 7.0+ plug-in
Windows 2000 or higher with latest updates installed
Mac OS X 10.3 or higher
Firefox 1.1+, Internet Explorer 5.0+ or Safari 1.0+
Broadband connection with 500+ Kbps
Content Management System
Web-content-management system (WCM, WCMS or Web CMS) is content management
system (CMS) software, implemented as a Web application, for creating and managing
HTML content. It is used to manage and control a large, dynamic collection of Web material
(HTML documents and their associated images). A WCMS facilitates content creation,
content control, editing, and essential Web maintenance functions.
The software provides authoring (and other) tools designed to allow users with little
knowledge of programming languages or markup languages to create and manage content
with relative ease.
Most systems use a database to store content, metadata, or artifacts that might be needed
by the system. Content is frequently, but not universally, stored as XML, to facilitate reuse
and enable flexible presentation options.
A presentation layer displays the content to Web-site visitors based on a set of templates.
The templates are sometimes XSLT files.
Most systems use server side caching boosting performance. This works best when the
WCMS is not changed often but visits happen on a regular basis.
Administration is typically done through browser-based interfaces, but some systems
require the use of a fat client.
Unlike Web-site builders, a WCMS allows non-technical users to make changes to a website
with little training. A WCMS typically requires an experienced coder to set up and add
features, but is primarily a Web-site maintenance tool for non-technical administrators.
a) Capabilities
Software Requirements Specification Page 10
A WCMS is a software system used to manage and control a dynamic collection of Web
material (HTML documents, images and other forms of media). A CMS facilitates document
control, auditing, editing, and timeline management. A WCMS typically has:
• Automated templates
Create standard output templates (usually HTML and XML) that can be automatically
applied to new and existing content, allowing the appearance of all content to be changed
from one central place.
• Easily editable content
Once content is separated from the visual presentation of a site, it usually becomes much
easier and quicker to edit and manipulate. Most WCMS software includes WYSIWYG editing
tools allowing non-technical individuals to create and edit content.
• Scalable feature sets
Most WCMS software includes plug-ins or modules that can be easily installed to extend an
existing site's functionality.
• Web standards upgrades
Active WCMS software usually receives regular updates that include new feature sets and
keep the system up to current web standards.
• Workflow management
Workflow is the process of creating cycles of sequential and parallel tasks that must be
accomplished in the CMS. For example, a content creator can submit a story, but it is not
published until the copy editor cleans it up and the editor-in-chief approves it.
• Delegation
Some CMS software allows for various user groups to have limited privileges over specific
content on the website, spreading out the responsibility of content management.
• Document management
CMS software may provide a means of managing the life cycle of a document from initial
creation time, through revisions, publication, archive, and document destruction.
• Content virtualization
CMS software may provide a means of allowing each user to work within a virtual copy of
the entire Web site, document set, and/or code base. This enables changes to multiple
interdependent resources to be viewed and/or executed in-context prior to submission.
b)Types
There are three major types of WCMS: offline processing, online processing, and hybrid
systems. These terms describe the deployment pattern for the WCMS in terms of when
presentation templates are applied to render Web pages from structured content.
c) Online processing (called "frying" systems)
These systems apply templates on-demand. HTML may be generated when a user visits the
page, or pulled from a cache.
Software Requirements Specification Page 11
Most open source WCMSs have the capability to support add-ons, which provide extended
capabilities including forums, blog, wiki, web-stores, photo-galleries, contact-management,
etc. These are often called modules, nodes, widgets, add-ons or extensions. Add-ons may be
based on an open-source or paid licence model.
Different WCMSs have significantly different feature-sets and target audiences.
d) Hybrid Systems
Some systems combine the offline and online approaches. Some systems write out
executable code (e.g. JSP, ASP, PHP, ColdFusion, or Perl pages) rather than just static HTML,
so that the CMS itself does not need to be deployed on every Web server. Other hybrids,
operate in either an online or offline mode.
e)Web content management system history
Web content management systems began to be formally developed as commercial software
products in the mid 1990s. In the mid 2000s, the web content management market became
a fragmented market as a plethora of new providers emerged to complement the traditional
vendors. These web content management systems may be categorized as: software as a
service, enterprise, mid-market, or open source.
4.4Communications Interfaces
Communication standards that will be used through the software will be PHP or Other such
languages. These will be used to query the different servers that the Websites use and will give us
back.
5 Other Nonfunctional Requirements
5.1 Performance Requirements
Query times will take no longer than 5 seconds to any website.
Sending the hyperlink to the default browser will take less than 1 second.
Loading the program will take less than 10 seconds.
Any result with 0 seeds will not be displayed.
Sorting results should take less than 0.1 seconds.
A results page will display 100 results.
Software Requirements Specification Page 12
Any result with a rating of less than 1 will not be displayed.
5.2 Safety Requirements
Storage server must be kept in well equipped labs.
Storage sever must be kept under certain temperature.
It pays special attention to the videos being uploaded for eg. If someone uploaded a explicit content
on the website then they automatically remove that video before being published.
Eg. [Link]
www. [Link]
5.3 Security Requirements
No physical requirement is needed.
Key characteristics of Video Sharing as a Service:
The application is delivered primarily in a one-to-many model (single instance, Multi-
tenant architecture)
Feature updates are done in the network and are transparent to the users, which eliminates
the need for downloadable patches and upgrades
Edge devices (cameras and recorders) are plug-and-play - all customer premise equipment
connects to the video service without requiring configuration by the customer
All application functionality is available via the Internet using a web interface without
requiring an application installed on a desktop
Provides centrally controlled/administered access that is mandatory for proper security and
allows centralized administration of users and video, making it easy to add or remove users
Scalable to hundreds or thousands of locations
Provides ability to view not only live video but also to search and review recorded video
Works through firewalls and NAT devices without configuration, and will run over low speed,
high speed, and satellite connections
Software Requirements Specification Page 13
Other Requirements
Video Stream Search
Description and Priority
This feature will search a term the user enters, through a database of compatible video streaming
websites that are added by the development team. The video websites will range from sites that
actually host video such as MegaVideo, YouTube, etc as well as websites that show links to videos
hosted on other sites such as [Link], [Link], etc. The results will be displayed in a
tab on the programs main window. This tab will be split horizontally into two sections, the top half
for the video hosting sites and the bottom half for the video link sites. This is another of the main
features of the software and also has a higher priority for development.
Stimulus/Response Sequences
User ticks streaming host tick box – system will now query the video hosting sites in its database
when a search is started. Hosting sites will include the actual videos on their servers, e.g. YouTube.
User ticks streaming links tick box – system will now query the video link sites in its database when
a search is started. The link sites will include external video links to different video hosting sites, e.g.
[Link]. User enters search term and starts search – system sends queries to the video
websites in its database based on the search term. Results for this query will then be sent to the
video stream tab in the program. The hosting half of the tab displays the website, full video name,
length and date posted. The link half of the tab displays the website and video name (e.g.
combination of the show’s name and the episode name). User sorts the search results by clicking
once on the column header – system sorts all results by descending/ascending order. User filters
websites they want to be shown in the results – system removes unselected websites from the
results. User clicks on next page button – system displays the next set of results for the search.
Software Requirements Specification Page 14
Appendix A: Glossary
validate. -To validate is to prove that something is based on truth or fact, or is acceptable. It can
also mean to make something, like a contract, legal. You may need someone to validate your
feelings, which means that you want to hear, “No, you're not crazy. It's acceptable to be angry about
that.”
Appendix B:
DATA FLOW DIAGRAM
Data flow diagram level-0
Dataflowdiagram
Level- 1
Software Requirements Specification Page 15
Software Requirements Specification Page 16
Software Requirements Specification Page 17
USE CASE DIAGRAM
Software Requirements Specification Page 18