Distributed Software Development

Distributed Software Development
2017-07-13
1
Customers : Damir Isovic (MDH) and
Klas Eriksson (OneDial AB)
Requirements Definition and
Design Description Presentation :
Live TV
2017-07-13
2
What we’ll speak about ?
•
•
•
•
1. The goal of the project
2. Requirements
3. Use case diagrams
4. Architecture and Technologies (Design)
2017-07-13
3
1. The goal of the project 1/2
• Implement a system that can be used for
live TV broadcasting using mobile phones
Record
2017-07-13
Select the
stream
Watch
4
1. The goal of the project 2/2
2017-07-13
5
2. Requirements
• Recording application requirements :
– OneDial provided the “recorder mobile”
– Desirable to record with a variety of mobile
– Possibility to choose the quality of recording
– Have the possibility to receive client’s
feedback (optional)
2017-07-13
6
2. Requirements
• Production studio application requirements :
– Minimum 6 streams can be received
simultaneously
– Be able to select the stream
– Add commercials in the stream
– Run on Windows system
2017-07-13
7
2. Requirements
• Player application requirements :
– Available on variety of mobile phone brands
– Allows users to send feedback (optional)
– Ability to check mobile device support
(optional)
2017-07-13
8
2. Requirements
• Non-functional requirements:
– Use existing network (3G, Wifi, …)
– 5s delay maximum from the event to the client
mobile
– Quality of sound should not be compromised
2017-07-13
9
2. Requirements
Identity Priority
Description
Recorder application
REC-1
1
Record video using phone’s camera
REC-2
1
Stream video to a remote server
REC-3
2
Change the recording resolution
REC-4
3
Receive feedback from server
Player application
PLY-1
1
Play video stream from remote server
PLY-2
3
Check streaming support on the mobile device
PLY-3
3
Send feedback to the server
PLY-4
2
Platform independent
2017-07-13
10
2. Requirements
Identity Priority
Description
Production studio application
STU-1
1
Receive at least 6 different streams at a time
STU-2
1
Show all incoming streams
STU-3
1
User can choose which stream to broadcast
STU-4
2
Insert a commercial at any point in a stream
STU-5
3
Send feedback from players to recorders
Project-wide nonfunctional requirements
PNF-1
1
The delay introduced by the system should be less than 5 seconds
PNF-2
1
The video streaming must be done through some existing mobile
network, e.g., 3G
PNF-3
1
The quality of the sound should not be compromised
2017-07-13
11
3. Use case diagrams
Recorder
Set server address
Start recording
Stop recording
User
Change resolution
Receive feedback
2017-07-13
12
3. Use case diagrams
Studio
Display streams
Select stream
Insert a commercial
User
Publish feedback
2017-07-13
13
3. Use case diagrams
Player
Check support
Connect to stream
User
Disconnect
Send feedback
2017-07-13
14
4. Architecture
• System Components
PC
Studio
Mobile
Client
Player
Mobile
Recorder
Live TV
System
2017-07-13
15
4. Architecture
PUSH
PULL
Stream
Stream
3GP
over
RTP
3GP/MP4
over
RTSP
Mobile Recorder
PC Studio
XML Web
Services
Feedback
2017-07-13
Mobile Client
Player
XML Web
Services
Feedback
16
4. Architecture
Mobile Recorder
Camera API
Internal H.263 and
AMR Encoders
3GP
Encapsulation
Encoded Video &
Audio Streams
RTP Streaming
Feedback Notification UI
2017-07-13
17
4. Architecture
PC Studio
LibVLC in C# receiving
multiple streams over RTP
Stream Selection & Ads
Injection UI
DSS serves stream over
RTSP
Output stream relayed
to DSS
Windows Web Server
(hosts Web Services for
Feedback)
2017-07-13
18
4. Architecture
Mobile Client Player
RTSP De-Packetizer
Internal H.263 and AMR
Decoders
Live stream playback
Viewer Feedback UI
(I Love it / I Hate it)
2017-07-13
19