2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma [email protected].
-
Upload
tyler-dawson -
Category
Documents
-
view
214 -
download
1
Transcript of 2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma [email protected].
RTP Stack
2/22/08 IEEE 1733 Face-to-FaceSandy, Utah
2
IPIP
Payload FormatsPayload Formats
RTPRTP
UDPUDP TCPTCP
RTSPRTSP
SDPSDP
RTP: rfc3550 RTSP: rfc2326 SDP: rfc2327 SRTP: rfc3711
RTP/AVP: rfc3551
RTP Header
2/22/08 IEEE 1733 Face-to-FaceSandy, Utah
Payload
RT
P P
ay
loa
d
Architecture for Media Streaming
SENDERSENDER(Streaming(StreamingServer)Server)
SENDERSENDER(Streaming(StreamingServer)Server)
RTSP/SDPRTSP/SDPRTSP/SDPRTSP/SDP
RTP/MPEGRTP/MPEGRTP/MPEGRTP/MPEG
Control PlaneControl Plane
Data PlaneData Plane
ISMAISMARECEIVERRECEIVER
ISMAISMARECEIVERRECEIVER
DeliveryDeliveryDeliveryDelivery
2/22/08 IEEE 1733 Face-to-FaceSandy, Utah
RTP / RTCP Walk-thru
ServerServerServerServer ClientClient ClientClient UDPUDP UDPUDP
RTCPRTCPRTCPRTCP RTCPRTCPRTCPRTCP
RTCPRTCPRTCPRTCP RTCPRTCPRTCPRTCP
RTPRTPRTPRTP RTPRTPRTPRTP
MP4MP4FileFileMP4MP4FileFile
SystemSystemPacketPacketSystemSystemPacketPacket
READINGREADINGREADINGREADING PARSERPARSERPARSERPARSER
DECODERDECODERDECODERDECODER
RESPONSERESPONSERESPONSERESPONSE
PARSERPARSERPARSERPARSER
CLIENTCLIENTCLIENTCLIENTSERVERSERVERSERVERSERVER
PARSERPARSERPARSERPARSER
RESPONSERESPONSERESPONSERESPONSE
DeliveryDeliveryDeliveryDelivery
Out-of-band Control for QoS ReportingOut-of-band Control for QoS Reporting
2/22/08 IEEE 1733 Face-to-FaceSandy, Utah
Mapping of Media Data
Video AUVideo AUVideo AUVideo AU RTP HeaderRTP HeaderRTP HeaderRTP Header AU dataAU dataAU dataAU data
RTP HeaderRTP HeaderRTP HeaderRTP Header
RTP HeaderRTP HeaderRTP HeaderRTP Header
AU dataAU dataAU dataAU data
AU dataAU dataAU dataAU data
1/n AU1/n AU1/n AU1/n AU
…………
1/n AU1/n AU1/n AU1/n AU
………… …………
AU1AU1 AU1AU1
AU2AU2 AU2AU2
AU3AU3 AU3AU3
AU…AU… AU…AU…
AU1 AU1 HeaderHeaderAU1 AU1 HeaderHeader
RTP RTP HeaderHeaderRTP RTP HeaderHeader
AU2 AU2 HeaderHeaderAU2 AU2 HeaderHeader
AU… AU… HeaderHeaderAU… AU… HeaderHeader
AU3 AU3 HeaderHeaderAU3 AU3 HeaderHeader
AU… AU… datadataAU… AU… datadata
AU dataAU dataAU dataAU dataAU dataAU dataAU dataAU dataAU dataAU dataAU dataAU data
AU header sectionAU header sectionAU header sectionAU header section
RTP payloadRTP payloadRTP payloadRTP payload
Mapping of AU into RTP PacketMapping of AU into RTP PacketMapping of AU into RTP PacketMapping of AU into RTP Packet
Mapping of Video AU into multiple RTP PacketsMapping of Video AU into multiple RTP PacketsMapping of Video AU into multiple RTP PacketsMapping of Video AU into multiple RTP Packets
Mapping of Audio AUs into RTP PacketMapping of Audio AUs into RTP PacketMapping of Audio AUs into RTP PacketMapping of Audio AUs into RTP Packet
AU = Access UnitAU = Access UnitHintingHintingHintingHinting
Case 1:Case 1:Case 1:Case 1:
Case 2:Case 2:Case 2:Case 2:
2/22/08 IEEE 1733 Face-to-FaceSandy, Utah
RTCP Packet Structure
• RTCP Packet Types– Sender Report (SR): transmission statistics– Receiver Report (RR): reception statistics– Source Description Item (SDES): CNAME, etc– BYE: end of participation– Application Specific Functions (APP)
• RTCP Compound Packet– Because RTCP packets are small, one UDP packet
may contain several RTCP packets.For example, SR + SDES + APP
• RTCP Packet Types– Sender Report (SR): transmission statistics– Receiver Report (RR): reception statistics– Source Description Item (SDES): CNAME, etc– BYE: end of participation– Application Specific Functions (APP)
• RTCP Compound Packet– Because RTCP packets are small, one UDP packet
may contain several RTCP packets.For example, SR + SDES + APP
DeliveryDeliveryDeliveryDelivery
2/22/08 IEEE 1733 Face-to-FaceSandy, Utah
RTSP Commands
Required Required Required Required Client->ServerClient->ServerClient->ServerClient->ServerTEARDOWNTEARDOWNTEARDOWNTEARDOWN
Optional Optional Optional Optional Client<->ServerClient<->ServerClient<->ServerClient<->ServerSET_PARAMETERSET_PARAMETERSET_PARAMETERSET_PARAMETER
Required Required Required Required Client->ServerClient->ServerClient->ServerClient->ServerSETUPSETUPSETUPSETUP
Optional Optional Optional Optional Server->ClientServer->ClientServer->ClientServer->ClientREDIRECTREDIRECTREDIRECTREDIRECT
Optional Optional Optional Optional Client->ServerClient->ServerClient->ServerClient->ServerRECORDRECORDRECORDRECORD
Required Required Required Required Client->ServerClient->ServerClient->ServerClient->ServerPLAYPLAYPLAYPLAY
Recommended Recommended Recommended Recommended Client->ServerClient->ServerClient->ServerClient->ServerPAUSEPAUSEPAUSEPAUSE
Required (S->C: optional)Required (S->C: optional)Required (S->C: optional)Required (S->C: optional)Client<->ServerClient<->ServerClient<->ServerClient<->ServerOPTIONSOPTIONSOPTIONSOPTIONS
Optional Optional Optional Optional Client<->ServerClient<->ServerClient<->ServerClient<->ServerGET_PARAMETERGET_PARAMETERGET_PARAMETERGET_PARAMETER
Optional Optional Optional Optional Client<->ServerClient<->ServerClient<->ServerClient<->ServerANNOUNCEANNOUNCEANNOUNCEANNOUNCE
Recommended Recommended Recommended Recommended Client->ServerClient->ServerClient->ServerClient->ServerDESCRIBEDESCRIBEDESCRIBEDESCRIBERequirement Requirement Requirement Requirement Direction Direction Direction Direction Method Method Method Method
DeliveryDeliveryDeliveryDelivery
2/22/08 IEEE 1733 Face-to-FaceSandy, Utah
SDP
• SDP is relevant to the media announcement• SDP is sent by server in a response to client’s
RTSP:DESCRIBE command request• Example (video specific lines, SDP sample syntax)
– m=video 0 RTP/AVP 97– a=rtpmap: 97 MP4V-ES– a=control: trackID = 6– a=fmtp: 97 profile-level-id=1– config=000001B001000001B5090000010000000120008440FA2
82C2090A21F– Config includes: AU size; AU index/AU index delta: CTS flag;
CTS delta; DTS flag; DT S delta .– a=mpeg4-esid:201
• SDP is relevant to the media announcement• SDP is sent by server in a response to client’s
RTSP:DESCRIBE command request• Example (video specific lines, SDP sample syntax)
– m=video 0 RTP/AVP 97– a=rtpmap: 97 MP4V-ES– a=control: trackID = 6– a=fmtp: 97 profile-level-id=1– config=000001B001000001B5090000010000000120008440FA2
82C2090A21F– Config includes: AU size; AU index/AU index delta: CTS flag;
CTS delta; DTS flag; DT S delta .– a=mpeg4-esid:201
DeliveryDeliveryDeliveryDelivery
Initial Object DescriptorInitial Object DescriptorInitial Object DescriptorInitial Object Descriptor
2/22/08 IEEE 1733 Face-to-FaceSandy, Utah
RTSP / SDP Walk-thru
SETUPSETUPSETUPSETUPDESCRIBEDESCRIBEDESCRIBEDESCRIBE SETUPSETUPSETUPSETUP TEARDOWNTEARDOWNTEARDOWNTEARDOWNPAUSEPAUSEPAUSEPAUSEPLAYPLAYPLAYPLAY
OKOK OKOK OKOK OKOK OKOK OKOK OKOK OKOK OKOK OKOK OKOK OKOK
NETWORKNETWORKNETWORKNETWORK
Read SDP Read SDP from MP4 filefrom MP4 fileRead SDP Read SDP from MP4 filefrom MP4 file
Sequential Sequential StagesStagesSequential Sequential StagesStages
Client: parse requests and set responsesClient: parse requests and set responsesClient: parse requests and set responsesClient: parse requests and set responses
Server: parse responses and set requestsServer: parse responses and set requestsServer: parse responses and set requestsServer: parse responses and set requests
DeliveryDeliveryDeliveryDelivery
2/22/08 IEEE 1733 Face-to-FaceSandy, Utah
Port Assignment (Example)
DarwinDarwinStreamingStreamingServerServer
DarwinDarwinStreamingStreamingServerServer
RTPRTPPort 6980Port 6980
RTPRTPPort 6980Port 6980
RTCPRTCPPort 6981Port 6981
RTCPRTCPPort 6981Port 6981
RTSPRTSPPort 554 Port 554 or 7070or 7070
RTSPRTSPPort 554 Port 554 or 7070or 7070
HTTPHTTPPort 1220Port 1220
HTTPHTTPPort 1220Port 1220
RTCPRTCPPort 6981Port 6981(Video)(Video)
RTCPRTCPPort 6981Port 6981(Video)(Video)
RTPRTPPort 6982Port 6982
RTPRTPPort 6982Port 6982
RTSPRTSPPort 554 Port 554 or 7070or 7070
RTSPRTSPPort 554 Port 554 or 7070or 7070
Remote-Management Remote-Management via Web Browservia Web Browser
Remote-Management Remote-Management via Web Browservia Web Browser
RTCPRTCPPort 6983Port 6983(Audio)(Audio)
RTCPRTCPPort 6983Port 6983(Audio)(Audio)
QuickTimeQuickTimePlayerPlayer
QuickTimeQuickTimePlayerPlayer
DeliveryDeliveryDeliveryDelivery
2/22/08 IEEE 1733 Face-to-FaceSandy, Utah