Difference between revisions of "SRS - Streaming en stéréoscopie"

From air
Jump to navigation Jump to search
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.
 
The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.
   
 
'''Read first:'''
 
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx
 
* http://en.wikipedia.org/wiki/Software_requirements_specification
 
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]
 
   
 
{|class="wikitable alternance"
 
{|class="wikitable alternance"
Line 27: Line 22:
   
 
|}
 
|}
  +
  +
{|class="wikitable alternance"
  +
|+ Document History
  +
|-
  +
|
  +
!scope="col"| Version
  +
!scope="col"| Date
  +
!scope="col"| Authors
  +
!scope="col"| Description
  +
!scope="col"| Validator
  +
!scope="col"| Validation Date
  +
|-
  +
!scope="row" |
  +
| 1.0.0
  +
| 29/02/2016
  +
| Zilong ZHAO - Guillaume HAMMOUTI
  +
| Update general description and specific requirements
  +
| TBC
  +
| TBC
  +
  +
|}
  +
   
   
 
=1. Introduction=
 
=1. Introduction=
 
==1.1 Purpose of the requirements document==
 
==1.1 Purpose of the requirements document==
This Software Requirements Specification (SRS) identifies the requirements and to present a detailed description about our project "Streaming en stéréoscopie".
+
This Software Requirements Specification (SRS) identifies the requirements and it presents a detailed description about our project "Streaming en stéréoscopie".
   
 
==1.2 Scope of the product==
 
==1.2 Scope of the product==
  +
Allowed users to see through Oculus in 3D what robot can see, can be used when the topography is dangerous.
  +
 
==1.3 Definitions, acronyms and abbreviations==
 
==1.3 Definitions, acronyms and abbreviations==
  +
Stéréoscopie: a technique for creating or enhancing the illusion of depth in an image by means of stereopsis for binocular vision.
  +
 
==1.4 References==
 
==1.4 References==
  +
https://webrtc.github.io/samples/
==1.5 Overview of the remainder of the document==
 
  +
  +
 
=2. General description=
 
=2. General description=
 
==2.1 Product perspective==
 
==2.1 Product perspective==
  +
The product is a web based system implementing p2p model, it provide a more real 3D effect by Oculus Rift with two cameras
==2.2 Product functions==
 
==2.3 User characteristics==
 
==2.4 General constraints==
 
==2.5 Assumptions and dependencies==
 
=3.Specific requirements, covering functional, non-functional and interface requirements=
 
* document external interfaces,
 
* describe system functionality and performance
 
* specify logical database requirements,
 
* design constraints,
 
* emergent system properties and quality characteristics.
 
   
 
==2.2 User characteristics==
==3.1 Requirement X.Y.Z (in Structured Natural Language)==
 
  +
It is considered that the user do have the basic knowledge of operating the internet and Oculus Rift. The administrator is expected to be familiar with javascript and websocket.
'''Function''':
 
   
 
==2.3 General constraints==
'''Description''':
 
  +
Now, as we use the technology webrtc for streaming our videos, it can only support by Chrome and Firefox browser.
   
 
==2.4 Assumptions and dependencies==
'''Inputs''':
 
  +
In the part of websocket server, on quoted a server here:
  +
https://github.com/theturtle32/WebSocket-Node
   
'''Source''':
 
   
'''Outputs''':
 
   
 
=3.Specific requirements, covering functional, non-functional and interface requirements=
'''Destination''':
 
   
  +
'''Function''': 1. Composer deux flux de videos dans un seul stream, les envoyer d'un client au server, afficher dans coté server pour avoir un effet de video en 3D . 2. Envoyer l'audio en stereo d'un client au server, émettre un audio en effet 3D. 3. Envoyer les informations de rotations de Oculus d'un client au server, puis utiliser ces informations pour contrôler Arduino et après pour contrôler servos qui tourne avec Oculus
'''Action''':
 
* Natural language sentences (with MUST, MAY, SHALL)
 
* Graphical Notations : UML Sequence w/o collaboration diagrams, Process maps, Task Analysis (HTA, CTT)
 
* Mathematical Notations
 
* Tabular notations for several (condition --> action) tuples
 
   
  +
'''Inputs''': Two videos streaming, an audio, information of rotations of Oculus
'''Non functional requirements''':
 
   
  +
'''Outputs''': Composed video streaming, audio on stereo, motor rotated with Oculus
'''Pre-condition''':
 
   
  +
'''Destination''': Composed video streaming, audio on stereo, motor rotated with Oculus
'''Post-condition''':
 
   
'''Side-effects''':
+
'''Non functional requirements''':
  +
* Based on Oculus OSX runtime environment, run with OSX EI CAPITAN. If you want to developer with windows or linux, Oculus has the requirements as follow:
  +
NVIDIA GTX 970 / AMD 290 equivalent or greater
  +
Intel i5-4590 equivalent or greater
  +
8GB+ RAM
  +
Compatible HDMI 1.3 video output
  +
2x USB 3.0 ports
  +
Windows 7 SP1 or newer
  +
  +
* The version of Nodejs requires 4.+
  +
* There are several type of ARDUINO, our code runs only on ARDUINO UNO
  +
* The part of code where we take the information of rotation of Oculus is only run on Xcode
   
 
=4. Product evolution=
 
=4. Product evolution=
  +
From one camera with video 2d to two cameras on video 3D, We replace traditional screen with a Virtual Reality Environment
  +
   
 
=5. Appendices=
 
=5. Appendices=

Latest revision as of 16:35, 14 April 2016

The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.


Document History
Version Date Authors Description Validator Validation Date
0.1.0 18/01/2016 Zilong ZHAO - Guillaume HAMMOUTI Creation of this page TBC TBC
Document History
Version Date Authors Description Validator Validation Date
1.0.0 29/02/2016 Zilong ZHAO - Guillaume HAMMOUTI Update general description and specific requirements TBC TBC


1. Introduction

1.1 Purpose of the requirements document

This Software Requirements Specification (SRS) identifies the requirements and it presents a detailed description about our project "Streaming en stéréoscopie".

1.2 Scope of the product

Allowed users to see through Oculus in 3D what robot can see, can be used when the topography is dangerous.

1.3 Definitions, acronyms and abbreviations

Stéréoscopie: a technique for creating or enhancing the illusion of depth in an image by means of stereopsis for binocular vision.

1.4 References

https://webrtc.github.io/samples/


2. General description

2.1 Product perspective

The product is a web based system implementing p2p model, it provide a more real 3D effect by Oculus Rift with two cameras

2.2 User characteristics

It is considered that the user do have the basic knowledge of operating the internet and Oculus Rift. The administrator is expected to be familiar with javascript and websocket.

2.3 General constraints

Now, as we use the technology webrtc for streaming our videos, it can only support by Chrome and Firefox browser.

2.4 Assumptions and dependencies

In the part of websocket server, on quoted a server here: https://github.com/theturtle32/WebSocket-Node


3.Specific requirements, covering functional, non-functional and interface requirements

Function: 1. Composer deux flux de videos dans un seul stream, les envoyer d'un client au server, afficher dans coté server pour avoir un effet de video en 3D . 2. Envoyer l'audio en stereo d'un client au server, émettre un audio en effet 3D. 3. Envoyer les informations de rotations de Oculus d'un client au server, puis utiliser ces informations pour contrôler Arduino et après pour contrôler servos qui tourne avec Oculus

Inputs: Two videos streaming, an audio, information of rotations of Oculus

Outputs: Composed video streaming, audio on stereo, motor rotated with Oculus

Destination: Composed video streaming, audio on stereo, motor rotated with Oculus

Non functional requirements:

  • Based on Oculus OSX runtime environment, run with OSX EI CAPITAN. If you want to developer with windows or linux, Oculus has the requirements as follow:

NVIDIA GTX 970 / AMD 290 equivalent or greater Intel i5-4590 equivalent or greater 8GB+ RAM Compatible HDMI 1.3 video output 2x USB 3.0 ports Windows 7 SP1 or newer

  • The version of Nodejs requires 4.+
  • There are several type of ARDUINO, our code runs only on ARDUINO UNO
  • The part of code where we take the information of rotation of Oculus is only run on Xcode

4. Product evolution

From one camera with video 2d to two cameras on video 3D, We replace traditional screen with a Virtual Reality Environment


5. Appendices

6. Index