Storage And Retrieval Of Audio and Video

Group #RHS041518

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.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

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 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

Principal Component Analysis

Colorado State University: Face Recognition

Linux Programming

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.1 Product Perspective

There are basically two master modules which ensemble the software.

* 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 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 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.


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 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


Hardware/System Dependencies

2.8 Overview of Data Requirements


User will provide the user id and password. On sucess ful login, he will enter his account.


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.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.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.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.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.