123-04-19
Distributed Software Development
223-04-19
Requirements Definition and Design Description Presentation :
Live TV
Customers : Damir Isovic (MDH) and Klas Eriksson (OneDial AB)
323-04-19
What we’ll speak about ?
• 1. The goal of the project
• 2. Requirements
• 3. Use case diagrams
• 4. Architecture and Technologies (Design)
1. The goal of the project 1/2
• Implement a system that can be used for live TV broadcasting using mobile phones
423-04-19
1. The goal of the project 2/2
523-04-19
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)
623-04-19
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
723-04-19
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)
823-04-19
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
923-04-19
2. RequirementsIdentity 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
1023-04-19
2. RequirementsIdentity 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
1123-04-19
3. Use case diagrams
1223-04-19
Recorder
Start recording
Stop recording
Set server address
User Change resolution
Receive feedback
3. Use case diagrams
1323-04-19
Studio
Insert a commercial
Select stream
User
Publish feedback
Display streams
3. Use case diagrams
1423-04-19
Player
Connect to stream
Disconnect
Check support
User
Send feedback
4. Architecture
• System Components
1523-04-19
4. Architecture
1623-04-19
Mobile Recorder PC StudioMobile Client
Player
Stream Stream
3GPoverRTP
3GP/MP4overRTSP
FeedbackFeedback
XML Web Services
XML Web Services
PUSH PULL
4. Architecture
1723-04-19
Mobile Recorder
Camera APICamera API Internal H.263 and AMR Encoders
Internal H.263 and AMR Encoders
Encoded Video & Audio Streams
Encoded Video & Audio Streams
3GP Encapsulation
3GP Encapsulation
RTP Streaming RTP Streaming
Feedback Notification UI
DSS serves stream over RTSP
DSS serves stream over RTSP
4. Architecture
1823-04-19
PC Studio
Windows Web ServerWindows Web Server(hosts Web Services for
Feedback)
LibVLC in C# receiving multiple streams over RTP
LibVLC in C# receiving multiple streams over RTP
Stream Selection & Ads Injection UI
Stream Selection & Ads Injection UI
Output stream relayed to DSS
Output stream relayed to DSS
4. Architecture
1923-04-19
Mobile Client Player
RTSP De-PacketizerRTSP De-Packetizer Internal H.263 and AMR Decoders
Internal H.263 and AMR Decoders
Live stream playbackLive stream playback
Viewer Feedback UI(I Love it / I Hate it)