Prepared By
Arjun Satish (Sir. M. Visvesvaraya Institute of Technology, Bangalore)
Sudeep Nayak U. (Sir. M. Visvesvaraya Institute of Technology, Bangalore)
C o n t e n t s
1. Introduction
2. General Description
3. External Interface Requirements
4. System Features
5. Other non-functional requirements
6. Other Requirements
1. INTRODUCTION
1.1 Purpose Of The Document
This Software Requirements Specification (SRS) specifies the requirements of
StReAV, a software which will be used for efficient storage and retrieval of
required audio and video data. This document will be used by the customer to
ensure all specifications are correct and verified by the software engineer to
design the system.
1.2 Document Convention
Main Section Title :
Font : Times New Roman, Bold
Size : 4
Sub Section Title :
Font : Times New Roman , Bold
Size : 3
Other Text matter :
Font : Times New Roman
Size : 3
1.3 Intended Audience and Reading Suggestions
You:
Users of StReAV will be using this
document to configure the software as per their requirements in day-to-day life.
StReAV is a very general software and it can be configured to perform a variety
of tasks.
Service Providers
People in this category must utilize this document to help the customers
whose technical knowledge could be limited. They can acquire an in-depth
knowledge of the administration of the StReAV Server
Organizations
Organizations have a fair amount of individuals serving them. StReAV can be
used for security purposes as face and feature recognition. Due to the nature of
Open Source, these organizations can use the core of StReAV and take it to the
next level for their respective purposes.
Research Students
Research students are advised to read all the sections of this document to
get an overall idea of the workflow and technicalities of the software.
NOTE : All users are adviced to read their Webcam instruction
manuals to get an idea regarding the compatibility and whether patches are
required .
1.4 Scope of Project Development
Many people have computers equipped with webcams these days. Most people
having mobile phones have a webcam equipped with it, which is not of much use
for a majority of the time, except for taking pictures and videos of special
moments .
The purpose of StReAV (Storage and retrieval of Audio and Video), is
to use the wasted (processing) time to store and retrieve useful information, in
the form of audio and video, which the user might like to use. StReAV requires
the user to have a simple audio and video capturing tool such as a webcam, which
could be easily clamped onto the collar of a shirt. This would be plugged into a
computer, mobile phone or PDA/handheld device. The software captures only
required audio/video from the external device, preferentially, which could later
be used by the user to search a face, object or feature, and display related
matter such as the person's name, time last seen, memos related to the person,
or even feedback of other users on that particular location or object, if found
on a common public server. The user could stream the video onto a server, which
is hosted by a local service provider, to save space on his system.
StReAV also
comes with a tool for editing and sorting the previously captured videos and
audio. Considering bandwidth constraints for providing such a service, the
software uses minimal bandwidth by using a different format for the storage and
retrieval of related data such as video and audio.
Users of StReAV can utilize
the software for a variety of applications, such as to maintain a 'visual' diary
or log book, to find information about a particular object or feature, such as a
monument at a tourist spot; also to compare and find more information on
anything by looking at the feedback put up by other users of the software, on
the common public StReAVserver. A person attending an important conference in
Japan can send updated information to his colleagues in France through the web
server. Appointments can be stored visually. Users of StReAV can recognize
objects/places/faces to the program, in order to increase its knowledgebase. The
program will then use this knowledgebase and its processing routines to give
results that the user wants to see.
StReAV Service Providers help in providing a
centralized data storage solution an option which will reduce the amount of
space required for data storage on the user's system. StReAV, the user
application, can be controlled in an easy to use Graphical User Interface (GUI)
. The StReAV Server can be controlled by the service provider, from anywhere
through an internet connection.
1.5 Definitions, Acronyms, Abbreviations
1.6 References
#Gtk+ IRC on EfNet
#Linux IRC on EfNet
Face Recognition using Eigenfaces
Eigenfaces for Face Recognition : Turk, Pentland
Colorado State University: Face Recognition
1.7 Overview Of The Document
The first section of this document gives a brief idea of what exactly StReAV
is, and what is the need behind having it. Along with this background
information it also provides the reference information for further study, design
and implementation.
The second section throws light on overall
description of the user's application, functions, perspective, operating
environment, design and implementation constraints, data inputs required.
The third section gives a description of external interfaces such as
user interface, hardware interface, communication interface and software
interface.
The fourth section includes system features in detail. The
subsections describe the features in much more detail.
The fifth section
gives details of the StReAV Server administration, for the service provider to
know the features and controls that are provided to him, as well as the
customer.
The sixth section gives details of non-functional requirements
such as security requirements, safety requirements etc.
2 OVERALL DESCRIPTION
2.1 Product Perspective
There are basically two master modules which ensemble the software.
CLIENT | SERVER |
* Provides an interface for config,
display of info/video/audio . * Store data received from the device in a specific part of the memory . * Process to check that amt. of memory used does not exceed a limit. * Connects to server and send recorded data, request data, feature recognition. * Audio+Video editing tool to delete, sort, and edit information. |
* Provides an external interface to allow
configuration from anywhere on the internet. * Admin has a login password. Users are recognized by their Login (ID & Pass) * Maintains Table of IP addresses and userID's, sessions etc. * Services requests from clients * All (image/audio) processing is done on the server. * Provides an efficient storage system for fast data retreival, of compressed data. * Provides public & private data sharing capability |
2.2 Product Functions
StReAV is limited by the imagination of the user. The following are the list of elementary functions provided. The main aspect of StReAV is it's simplicity. Everything is automated.
1. Operations and Administration
2. Maintenance
2.3 User Heirarchy and
Characteristics
Users
Users will log in to the Streav server with a log in name and password. If this is successful, the person is given access to the video.audio files. He is then given the freedom to edit the streav files, name the new unrecognised people and even give certain files priority (regarding backups). He can share the material with the world or keep it as a secret. The public material will be treated as a blog and the very best technology will be used to carry out the task. The material can be mailed to different friends who are members of Streav. If they are not, the data will be sent as an mpeg file to them via e-mail. If any user tries to misuse his/her account, their account will be automatically terminated with all the data lost. This may be retrieved by e-mail to an administrator.
Administrators
These people moderate the contents of visual blogs. They are also responsible for handling e-mail from various clients regarding complaints, comments and taking appropriate action to heed their commands. These administrator are specific to certain groups. They can also -
Developers
Developers can use the source code and vast amount of modules to build their
own projects or enhance the capabilities of Streav. This is possible as streav
is not one big chunk but a family of small modules controlled by a master
module. Thus the modules can be replaced by better versions by these programmers
if the need arises.
2.4 Operating Environments
2.5 Design Implementation Constraints
Since the software deals with the download of video files, the bandwidth is a limiting factor in the process. Thus, the higher the bandwidth, the better the performance. The minimum bandwidth can be resolved to be about 56Kbps.
User Constraints
2.6 User Documentation
The user documentation is upgraded as the software is being developed. Care
is taken to insure that the manual is as non-technical as possible, so that
anybody can read and understand it and use the individual modules to their
requirements. Also, documentation is required only for developers. The common
man does not have to worry about the software. It is automatic.
2.7 Assumptions and Dependencies
Assumptions
Hardware/System Dependencies
2.8 Overview of Data Requirements
Input
User will provide the user id and password. On sucess ful login, he will enter his account.
Output
He will then gain access to his video files, which he can later edit as per
his wishes. He can make his collection public or private sa per his wishes. He
can nake contact with people who have had similar experiences, if they are
willing to do so by initially sending them a member-to-member mail. They can
forward material to friends who are already members or to their e-mail accounts.
He can invite members to join the service.
2.9 General Constraints, Assumptions, Dependencies and Guidelines
Not Applicable
2.10 User View of Product Use
First the enthusiastic gains a user name and password through an
administrator. These can be later altered by the person when he logs in.
He must the required hardware to become an effective member of the
service. This includes a mobile phone with any version of linux running on it.
All it needs to do is capture images. If the system can play movie files, then
the user does not need anything else to be a member of StReAV.
Once he
gains access to his account, he can watch, edit and exchange his movie's around
the world. He can also put them up as blogs so that the entire world.
Note : you do not have to be a member to be able to view the blogs.
After this, the user can sign out after safely closing the account.
3. EXTERNAL INTERFACE REQUIREMENTS
3.1 User Interface
Registration Forms
This requires the user to fill up some details to become a member and
utitlize the resources of StReAV. He defines his class by this form. Once
defined, the class cannot be changed.
Login Screen
The login screen consists of a simple display prompting the user to enter the login name and password. If the login is not unsucessful, an appropriate message is typed out and the user is again prompted to enter his details.
Movie Viewing Capability
The system which is being used by the user needs a processor good enough to
be able to play movies. This is required if the user just wants to make some
video public or erase some details.
3.2 Hardware Interface
Streav requires the following connections with the hardware for it's effective usage -
Direct Physical Connection to Main Site
StReAV will need to change the main website corresponding to needs of the user. The main site will grant users access to their accounts, non-users to various groups where they can view public blogs.
Remote Network Connections to the User
When the user log's in to his StReAV, who may need to view some blogs or his own account. The uploading of the images must be done real time. It must handle the following functions when interacting with the user -
Access to the StReAV Database
This access is restricted to members with a valid user id and logn password.
The user is provided with a list of options which will allow him to carry out
the various functions streav offers.
3.3 Software Interface
Streav does not require any specialized software to run the video files. Just
about any web browser will suffice this need.
3.4 Communication Interface
This interface is required to provide the user to share the blogs with around
the world.
A suitable display will be provided asking the user the
details of the the blogs and what he wishes to do with them.
The display
will inform the user of any errors in the most non-technical fashion
4. SYSTEM FEATURES
4.1 Features
The Palm Top/PDA can be used is the key. It is is the only required
electronic item requied as far as the user is concerned. It needs to take
pictures at a predefined resolution in order to be made suitable for face
recognition. Also, if it can play movies, nothing else is required.
4.2 Response/Stimulus Sequences
4.3 Functional Requirements
The software basically controls the folw of multimedia data from one location
to another.
4.3.1 User Verification
Streav asks the user to log in. If he has a valid ID and password, he will
gain access to his account.
If the person is just a visitor, he can go
around the website looking at the public blogs.
4.3.2 Failure Reporting
This capability allows the software to report the details of the download to
the user. If any error occurs, the user is intimidated of this and is asked to
take an appropriate course of action which may include selection of other
mirrors through download.
4.3.3 Add and View Details
This enables the user to edit the video files and change their status in the
website.
5. OTHER NON FUNCTIONAL REQUIREMENTS
5.1 Performance Requirements
Streav server requires at least 10 GB of disk space storage initially. Streav
requires Linux for its Operating System. Preferably Fedora Core 2 or higher
version. Streav requires a minimum of 512 MB RAM. Streav requires a standard 1.2
GHz Processor of efficient operation.
5.2 Safety Requirements
The user's identity and password is kept in an encrypted format.
If
the members misuses his/her account, he will be removed from the service. His
existing video files can be obtained from the administator.
5.3 Security Requirements
5.4 Software Quality Attributes
The software will released under Open Source. Thus, the source code will be
available for improvement. Also people around the world can contribute patches
for the general development of the software itself. The main points regarding
the software quality are it's portability (system independence), reliability,
testability and a few other details which will highlighted below.
5.4.1 Portability
5.4.2 Reliability
5.5 Special User Requirements
5.5.1 Backup and Recovery
5.5.2 Data Migration
The concept of data migration is important to ensure that the videos can be
retrieved and viewed after many years (usually 6-7) after they have been
acquired. Usually the images are digitally converted and stored in cds, dvds and
other electronic media.They can be catalouged in preferred ways to
provide assistantship to the various workers, research students. They can also
be shared between various specialists in the respective fields.
5.5.3 Installation
This will check the system resources before installing the software. An
environment where the software can effectively operate is created and the files
put into place.
6. OTHER REQUIREMENTS
6.1 Server Side Administration
The StReAV service provider can control the server, and the manner in which it services
its clients.The Service provider has an Admin name and password for configuring the server
on the system. The service can be shut down in case of an emergency, public files on the
common server can be monitored for unwanted content.
6.2 Server Administration Features
The incoming and outgoing ports, maximun no of clients allowed, service timeout for
each client, and client space allocation can be configured using an interface, that
connects to the server from anywhere on the internet.
6.3 Interface for Server Administration
The interface for the server is a GTK application, which the service administrator
can use to configure the server. This is done to seperate the server, and the interface
to configure the server. Configuration is done real time. Advantages of seperating the
server from the configuration control include the possiblilty of the admin to configure
the server from any location, and unobstructed working of the server.