2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma [email protected].

11
2/22/08 IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma [email protected]

Transcript of 2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma [email protected].

Page 1: 2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma sumansharma@ieee.org.

2/22/08 IEEE 1733 Face-to-FaceSandy, Utah

1

RTP Overview

Suman Sharma

[email protected]

Page 2: 2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma sumansharma@ieee.org.

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

Page 3: 2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma sumansharma@ieee.org.

RTP Header

2/22/08 IEEE 1733 Face-to-FaceSandy, Utah

Payload

RT

P P

ay

loa

d

Page 4: 2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma sumansharma@ieee.org.

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

Page 5: 2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma sumansharma@ieee.org.

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

Page 6: 2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma sumansharma@ieee.org.

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

Page 7: 2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma sumansharma@ieee.org.

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

Page 8: 2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma sumansharma@ieee.org.

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

Page 9: 2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma sumansharma@ieee.org.

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

Page 10: 2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma sumansharma@ieee.org.

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

Page 11: 2/22/08IEEE 1733 Face-to-Face Sandy, Utah 1 RTP Overview Suman Sharma sumansharma@ieee.org.

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