Title: Agenda
1Agenda
- A brief overview to RTP and RTCP
2Real-Time Transport Protocol (RTP)
- Protocol to the continuous transmission of
audiovisual data (streams) over IP-based networks - Product of Internet Engineering Task Force, AVT
WG - Standardized first in 1996
- RFC 1889
- In 2003, a revised RFC
- RFC 3550 which obsoletes RFC 1889.
3RTP goals
- lightweight specification and implementation
- flexible provide mechanism, dont dictate
algorithms - protocol-neutral UDP/IP, ST-II, IPX, ATM-AALx, .
. . - scalable unicast, multicast from 2 to O(107)
- separate control/data some functions may be
taken over by conference control protocol - secure support for encryption, possibly
authentication
4RTP overview
- RTP is a packet-based protocol
- usually running over UDP
- Transport multimedia data streams (audio, video,
text, etc.) over networks - Encode
- Package
- Send
- It applies in many areas
- IP telephony technologies (H.323, SIP)
- RTP is mainly used for transmission of realtime
sensitive data flows, while the Real-Time
Streaming Protocol (RTSP) manages and controls
the data transmission.
5Architecture
6The RTP header
- Ver. (2 bits)
- Indicates the version of the protocol. Current
version is 2. - P (1 bit)
- Indicates if there are extra padding bytes at the
packet. - X (1 bit)
- Indicates if protocol extensions are being used
in the packet. - CC (4 bits)
- Number of CSRC identifiers that follow the fixed
header. - M (1 bit)
- If it is set, data has some special relevance for
the application. - PT (7 bits)
- Format of the payload and determines its
interpretation by the application.
7What else
- Synchronisation Source
- The data source, characterized by an identifier
(32 bit) in the header - Mixer
- Switching center, which receive RTP packets from
one or multiple sources and forward them. - Mix packages (and synchronizes) and can carry out
format conversions. - Translator
- Dont modify packets, but route through firewalls
etc. - Reciever
- The reciever of the RTP packets sorts them on the
basis of the sequence numbers and submits them to
the respective application.
8(No Transcript)
9Real Time Control Protocol (RTCP)
- Dient der Aushandlung und Einhaltung von Quality
of Service (QoS) Parametern durch den
periodischen Austausch von Steuernachrichten
zwischen Sender und Empfänger - Mittels
- Rückmeldung der bisher erbrachten Dienstqualität,
wodurch eine Anpassung der Übertragungsrate
erfolgen kann - Identifikation aller Sitzungsteilnehmer, wodurch
semantisch zusammenhängende aber getrennt
gesendete Medienströme synchronisiert werden
können - Steuerung der für RTCP-Pakete verwendeten
Bandbreite, damit der Austausch von
RTCP-Nachrichten nicht die Übertragung behindert,
was bei vielen Sitzungsteilnehmern passieren
könnte.
10RTCP packet structure
11RTCP sender reports (SR)
- SSRC of sender identifies source of data
- NTP timestamp when report was sent
- RTP timestamp corresponding RTP time ? lip
sync - senders packet count total number sent
- senders octet count total number sent
- followed by zero or more receiver report
12RTCP receiver reports (RR)
- SSRC of source identifies whos being reported
on - fraction lost binary fraction
- cumulative number of packets lost long-term loss
- highest sequence number received compare losses,
disconnect - interarrival jitter smoothed interpacket
distortion - LSR time last SR heard
- DLSR delay since last SR
13Questions
- Find more on the online slides
14Agenda
The RTSP/RTP Session Overview
Bits from example Session
15RTSP
- Wikipedia
- The Real Time Streaming Protocol (RTSP),
developed by the IETF and created in 1998 as RFC
2326, is a protocol for use in streaming media
systems which allows a client to remotely control
a streaming media server, issuing VCR-like
commands such as "play" and "pause", and allowing
time-based access to files on a server. - The sending of streaming data itself is not part
of the RTSP protocol. Most RTSP servers use the
standards-based RTP as the transport protocol for
the actual audio/video data, acting somewhat as a
metadata channel.
16Resources on the Web
- Wikipedia is a good start
- http//en.wikipedia.org/wiki/Real_Time_Streaming_P
rotocol - RFC RTSP http//tools.ietf.org/html/rfc2326
- RFC RTP http//tools.ietf.org/html/rfc3550
- Tutorial on RTSP
- http//www.myiptv.org/Articles/RTSP/tabid/72/Defau
lt.aspx - Pictures and parts of text taken from
- http//www.cs.columbia.edu/hgs/rtsp/
17Streaming vs. Television
- - reuse existing infrastructure
- - flexible media modem, wireless, cable, LAN, .
. . - - Quality scales from stamp-size flipbook to HDTV
adaptive - - Side information easy (closed captioning)
- - Easy integration with WWW
- - Security through encryption
- - Cheap authoring, service lots of content
18Applications
- - Lectures, seminars
- - On-demand instruction
- - Entertainment specialty content (cf. youtube)
- Voice mail
- - P2P video streaming
19Challenges
- bandwidth 64128 kb/s for talking heads, 1.5
Mb/s for movies - quality packet loss, predictability
- reliability makes CATV look good. . .
- billing infrastructure pay-per-view?
- cheap receivers shouldnt cost more than set-top
box
20Internet real-time multimedia protocols
- resource reservation RSVP,
- media transport RTP, AVP,
- stream control RTSP
- stream description SDP,
SDP http//tools.ietf.org/html/rfc4566 AVP
http//www.ece.osu.edu/zheng/publications/AVP-pro
tocol.pdf
21RTSP and HTTP similarities
- Protocol format text, MIME-headers
- Request/response request line headers body
- Status codes
- Security mechanisms
- URL format
22RTSP is not HTTP
- - Server state needed
- - Different methods
- - Server ? client
- - Protocol Extension posssible
- Extensions start with x-, e.g. x-historyLog
23Agenda
The RTSP/RTP Session Overview
Bits from example Session
24RTSP / RTP Session
25RTSP URLs
- Whole presentation
- rtsp//media.example.com554/twister
- track within presentation
- rtsp//media.example.com554/twister/audiotrack
- but name hierarchy ! media hiearchy ! file
system
26RTSP Request headers
- Accept media description formats
- Accept-Encoding encoding of media format
- Accept-Language human language
- Authorization basic and digest authentication
- Bandwidth client bandwidth available
- Conference conference identifier
- From name of requestor
- If-Modified-Since conditional retrieval
- Range time range to play
- Referer how did we get here?
- Scale (play time)/(real time)
- Speed speed-up delivery
- User-Agent software
27RTSP Response headers
- Location redirection
- Proxy-Authenticate authenticate to proxy
- Public methods supported
- Retry-After busy, come back later
- Server server software
- Vary cache tag
- WWW-Authenticate request authorization
- Hint
- All headers and bodies end with a double carriage
return line feed.
28Time Formats
- smpte01000 Society of Motion Picture and
Television Engineers - hourminutesecondfra
me - optional - npt126.315 Normal play time - hhmmss.ms
- - mandatory
- Rtptime 1324433 Part of RTP, needed to
differentiate between emission time and media
time - seq1214324432 part of RTP ! time sequence
number of first frame
29Agenda
The RTSP/RTP Session Overview
Bits from example Session
30Unicast session open streams
- C-gtS SETUP rtsp//audio.com/twister/audio.en
RTSP/1.0 - CSeq 1
- Transport RTP/AVP/UDPunicastclient_port3056-
3057 - S-gtC RTSP/1.0 200 OK
- CSeq 1
- Session 12345678
- Transport RTP/AVP/UDPunicast
- client_port3056-3057server_port5000-5001
- C-gtS SETUP rtsp//video.com/twister/video
RTSP/1.0 - CSeq 1
- Transport RTP/AVP/UDPunicastclient_port3058-
3059 - S-gtC RTSP/1.0 200 OK
- CSeq 1
- Session 23456789
- Transport RTP/AVP/UDPunicast
- client_port3058-3059server_port5002-5003
Error Codes listed in RFC, but same as HTTP
31Unicast session play
- C-gtS PLAY rtsp//video.com/twister/video
RTSP/1.0 - CSeq 2
- Session 23456789
- Range smpte01000-
- S-gtC RTSP/1.0 200 OK
- CSeq 2
- Session 23456789
- Range smpte01000-02000
- RTP-Info urlrtsp//video.com/twister/videoseq
12312232rtptime78712811 - C-gtS PLAY rtsp//audio.com/twister/audio.en
RTSP/1.0 - CSeq 2
- Session 12345678
- Range smpte01000-
- S-gtC RTSP/1.0 200 OK
- CSeq 2
- Session 12345678
RTP Interaction
32Summary
- - Internet multimedia-on-demand
- Integrated services
- Protocol Extensions
- - Conferencing
- - Telephony
- - WebTV as VOD
- - Flexible plug and play RTSP/RTP/AVP/SDP .