Download presentation
Presentation is loading. Please wait.
1
Streaming, RTP, RTSP ITEM, 26feb02, Leif Arne Rønningen
2
Streaming from a Streaming Server to a Media player ITEM, 1nov00 Leif Arne Rønningen
3
Media Player The Media Player shown is a plug-in to the browser (running native code) or a stand- alone application, and provides the following: –Decompression –Jitter removal –Error correction –GUI – Graphical User Interface
4
Best-effort Quality of Service - QoS Internet today, best-effort delivery service –No guarantee of End-to-end delay Delay jitter Packet loss Packet sequence –No traffic control –No admission control
5
RTP - Real-time Transport Protocol One-way streaming, unicast or multicast of audio and video in general The media stream is sent as chunks of data, put into RTP packets Each RTP packet header includes stream identifier, time stamp and sequence number (error correction) On top of UDP/IP Application and transport layer Does not provide Quality of service guarantee
6
RTCP – RTP Control Protocol Used with RTP to monitor the Quality of Service Feedback information can be used for adaptive control of senders’ output data rates (adaptive scaling of service profile and level) On top of UDP/IP Does not provide Quality of Service guarantee
7
RTSP - Real-time Streaming Protocol Application-level protocol for control over the delivery of data with real-time properties Media on-demand control, player-server interaction Requests and Responses, not memoryless, ’HTTP- friendly’, supports most HTTP features + new RTP used for the actual delivery of data (sound, video) On top of UDP/IP or TCP/IP Does not provide Quality of Service guarantee
8
Web Browser Web Server HTTP GET Description file Media Player Media Server RTSP, example SETUP PLAY Media stream PAUSE TEARDOWN
9
RTSP, description file Twister/title> <track type=audio e=”PCMU/8000/1” src= ”rtsp://audio.example.com/twister/ audio.en/lofi”> <track type=audio e=”DVI4/16000/2” pt=”90 DVI4/8000/1” scr=”rtsp://audio.example.com/twister/ audio.en/hifi”> <track type=”video/jpeg” scr=”rtsp://video.example.com/twister/video”>
10
Explanation The RTSP Content Markup Language document can be defined using an XML DTD (Document Type Definition), and is HTML-like. Most of it is self- explanatory. The ’group’ includes two audio tracks and a video track, and the ’group’ tag includes the language parameter (en =English) and a requirement that the sound shall be lip-synchronised with the video. The ’swich’ tag indicates that we can swich between two sound tracks. The coding schemes for the audio are given by the parameters ’e’ and ’pt’. To locate resources, RTSP defines a variant of URL, see ’src’. The parameter ’lofi’ indicates ’low fidelity’ sound. The RTSP URL may include a port number.
11
RTSP, player-server interaction Player: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Cseq: 1 Transport: rtp/udp; compression; port=3056; mode=PLAY Server:RTSP/1.0 200 OK Cseq: 1 Date: 23 Jan 2001 17:45:05 GMT Session: 42311234 Transport: rtp/udp; compression; port=3056; mode=PLAY P:PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Cseq: 2 Session: 42311234 Range: npt=0- S:RTSP/1.0 200 OK Cseq: 3 Date: 23 Jan 2001 17:46:05 GMT Range: npt=0-
12
RTSP, player-server interaction P:PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Cseq: 4 Session: 42311234 Range: npt=37 S:RTSP/1.0 200 OK Cseq: 4 Date: 23 Jan 2001 17:47:05 GMT P:TEARDOWN rtsp://audio.example.com/twister/audio.en/ lofi RTSP/1.0 Cseq: 10 Session: 42311234 S:RTSP/1.0 200 OK Cseq: 10
13
Explanation The request-response interaction between Player and Server are HTTP-like, but not memoryless. A setup has to be performed before data transfer can take place. The SETUP method is followed by the RTSP URL (universal resource locator). Cseq is a sequence number that uniquely identifies each request-response. The session number identifies the setup session. The RTP protocol shall be used, over UDP. The ’npt’ parameter indicates the ’normal play time’ in seconds. The rest should be self-explanatory.
14
QuickTime streaming media QuickTime –Browser plug-in, or stand-alone QuickTime Player –Retrieve streams from QuckTime Streaming Server –Handles multimedia components like video, sound, animation, graphics, text, music, 360-degree virtual reality (VR) scenes stored in every major format –Timecode tracks –RTP and RTSP application protocols –See www.apple.com/quicktime/ for more details QuckTime demo rtsp://129.241.26.182/stud/arne/ice_age_hint.mov
15
RTSP Media Player-Server, Message Sequence Chart User Interface RTSP Player RTSP Server OpenURL SETUP response1 PLAY response2 Activate RTP audio PAUSE response3 Quit TEARDOWN response10 Activate RTP
16
Media Player State-transition diagram Wait S1 x Wait UI1 y Wait S2 Play, RTP y Wait S3 z PassiveO O O O O O OpenURL / SETUP response1 / PLAY Response2 / Activate RTP / PAUSE response3
17
Media Player State-transition diagram Wait UI2 Wait S10 z x O O O – other message – continue Quit / TEARDOWN response10 z Transition: message in / message out, task
18
State Machine Implementation RTP State descripton table State Interpreter State Message out Message in Task or method Software Process (entity) table Queue Note: RTP could be implementet as a separate entity, not as a task
19
State Interpreter behaviour waituntil (at least one message in queue) get message from queue check message name read present state read state table (state, message in) set next state send out message (state, message in) activate task or function
20
State Description Table Statemessage innext state message outtask/function Wait UI2 QuitWait S10TEARDOWN,,,,,, Wait S2response2Play, RTP activate RTP
21
Timeouts, retry-counters Timer RTSP Player OpenURL(N=3) SETUP (response1 is lost) (response1 delayed) SETUP Set-timer(2, N) Timeout(2,N) 2 sec. Countdown: If N=0 then begin N:=3; State:=’Passive’ end else N:=N-1; response1
22
Extended state machine State descripton table State Interpreter State, Variable N Message out Message in Tasks or methods software table Queue Next state dependent on value of N Note: The Timer can be implemented as a task or as a separate entity xyz
23
Other streaming media systems RealPlayer Sun Java Media Framework Microsoft Streaming Media MPEG-21 (coming) Other
24
QoS guarantee Packets have to be classified in different traffic classes It is desireable to minimise interference between traffic flows Resources like link capacity, storage and processing units should be utilised efficiently Call admission control is needed. Admission requestes from flows have to include QoS requirements
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.