SRS - Streaming en stéréoscopie

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

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

1.5 Overview of the remainder of the document
=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=
 * document external interfaces,
 * describe system functionality and performance
 * specify logical database requirements,
 * design constraints,
 * emergent system properties and quality characteristics.

3.1 Requirement X.Y.Z (in Structured Natural Language)
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

Description:

Inputs:

Source:

Outputs:

Destination:

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

Non functional requirements:

Pre-condition:

Post-condition:

Side-effects:

=4. Product evolution=

=5. Appendices= =6. Index=