h 323 and real time streaming protocol n.
Skip this Video
Loading SlideShow in 5 Seconds..
H.323 and Real Time Streaming Protocol PowerPoint Presentation
Download Presentation
H.323 and Real Time Streaming Protocol

H.323 and Real Time Streaming Protocol

177 Vues Download Presentation
Télécharger la présentation

H.323 and Real Time Streaming Protocol

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

  2. H.323 Primer

  3. H.323 • May 1995 - H.323 work started • June 1996 - Decided by ITU-T • Designed for exchanging multimedia over IP networks (4 versions of H.323)

  4. H.323 Components • Terminals • Gatekeepers • Gateways (H.323 to H.320/H.324/POTS) • MCUs • Multipoint Controller (MC) • Multipoint Processor (MP)

  5. H.323 Gatekeeper • Address Translation • H.323 Alias to transport (IP) address based on terminal registration • “email-like” names possible • “phone number like” names possible • Admission control • Permission to complete call • Can apply bandwidth limits • Method to control LAN traffic

  6. H.323 Gatekeeper (cont.) • Management of gateway • Which gateway to choose (load balancing and cost regulation) • Call Signaling • May route calls in order to provide supplementary services or to provide Multipoint Controller functionality • Call Management/Reporting/Logging

  7. H.323 Gateway • Provide world wide connectivity and interoperability from LAN • H.320, H.324, regular POTS telephones • Map Call Signaling (Q.931 to H.225.0) • Map Control (H.242/H.243 to H.245) • Media Mapping (FEC, multiplex, rate matching, audio transcoding)

  8. H.323 MCU ISDN (H.320) • Media Distribution • Unicast - send media to one terminal (centralized in MP; traditional model) • Multicast - send to each receiver directly • Hybrid - some of each • Manage Ad Hoc multipoint calls • Join, invite, control of conference modes • Multiprotocol via Gateways Gateway) MCU

  9. H.323 protocol stack Control Data Audio Video A/V Cntl Control Gate- keeper Reg, Adm, Status (RAS) G.7xx H.26x RTCP H.225.0 H.245 T.120 RTP TCP UDP IP

  10. H.323 protocol stack (cont.) • H.323 - System Document • H.225.0 - Call Signaling, Packetization • Gatekeeper Registration, Admission, and Status (RAS) • H.245 - Control (also used in H.324, H.310) • T.120 - Data and Conference Control

  11. H.323 example A Call Setup Example • a point to point call • One Gatekeeper using the Direct Call Model

  12. H.323 example (cont.) PictureTel GK (2a) GK resolves “Bob” to IP address through H.323 registration or external name service (e.g. DNS, Database, etc..) (2b) Admission Policy Applied (1) ARQ Can I call “Bob”? (3) ACF Yes, use this IP Address Bob Bill

  13. H.323 example (cont.) PictureTel GK (5) ARQ May I answer? (6) ACF Yes (4) SETUP (Create) (7) ALERTING (8) CONNECT (User answers) Bob Bill

  14. H.323 example (cont.) PictureTel (9) H.245 connection established - Capability Exchange Bob Bill - Open Logical Channels (audio, video)

  15. Multimedia Streaming Based on slides from Vishal Misra,

  16. Streaming stored media: Audio/video file is stored in a server Users request audio/video file on demand. Audio/video is rendered within, say, 10 s after request. Interactivity (pause, re-positioning, etc.) is allowed. Media player: removes jitter decompresses error correction graphical user interface with controls for interactivity Plug-ins may be used to imbed the media player into the browser window. Streaming Stored Audio & Video

  17. Streaming from Web server (1) • Audio and video files stored in Web servers naïve approach • browser requests file with HTTP request message • Web server sends file in HTTP response message • content-type header line indicates an audio/video encoding • browser launches media player, and passes file to media player • media player renders file Major drawback: media playerinteracts with server throughintermediary of a Web browser

  18. Alternative: set up connection between server and player Web browser requests and receives a meta file (a file describing the object) instead of receiving the file itself; Content-type header indicates specific audio/video application Browser launches media player and passes it the meta file Player sets up a TCP connection with server and sends HTTP request. Some concerns: Media player communicates over HTTP, which is not designed with pause, fast forward, rewind commands May want to stream over UDP Streaming from Web server (2)

  19. Streaming from a streaming server • This architecture allows for non-HTTP protocol between server and media player • Can also use UDP instead of TCP.

  20. Designers of HTTP had fixed media in mind: HTML, images, applets, etc. HTTP does not target stored continuous media (i.e., audio, video, SMIL presentations, etc.) Real Time Streaming Protocol: Why not HTTP

  21. Options when using a streaming server • Send at constant rate over UDP. To mitigate the effects of jitter, buffer and delay playback for 1-10 s. Transmit rate = d, the encoded rate. Fill rate x(t) equals d except when there is loss. • Use TCP, and send at maximum possible rate under TCP; TCP retransmits when error is encountered; x(t) now fluctuates, and can become much larger than d. Player can use a much larger buffer to smooth delivery rate of TCP.

  22. .ram files describe the location of the file rtsp:// use RTSP for streaming the file use RTSP over HTTP for streaming the media .rm, .ra files describe the content of the file Which bandwidth, compression, timinglines .... Streaming: The RealAudio Way

  23. Meta file example (SDP) v=0 o=- 2890844526 2890842807 IN IP4 s=RTSP Session m=audio 0 RTP/AVP 0 a=control:rtsp:// m=video 0 RTP/AVP 31 a=control:rtsp://

  24. Client-server application layer protocol. acts as a « network remote control » supports the following operations: retrieval of a media from a server invitation of a media server to a conference recording of a conference What it doesn’t do: does not define how audio/video is encapsulated for streaming over network does not restrict how streamed media is transported; it can be transported over UDP or TCP does not specify how the media player buffers audio/video RealNetworks Server and player use RTSP to send control info to each other Real Time Streaming ProtocolRTSP (RFC 2326)

  25. A file is transferred over one channel. The RTSP control messages use different port numbers than the media stream, and are therefore sent out-of-band. Interleaved: If the RTSP messages were to use the same port numbers as the media stream, then RTSP messages would be said to be “interleaved” with the media stream. What is this good for? RTSP: out of band control

  26. RTSP generalities • Protocol design • text-based protocol • transport protocol independant • supports any session description (sdp, xml, etc.) • similar design as HTTP with differences yet! • client  server and server  client requests • server maintains a « session state » • data carried out-of-band • works either with unicast or multicast

  27. RTSP messages method to apply URL RTSP version version status code reason phrase seq# for request/response pair session identifier • a request (client  server or server  client) PLAY rtsp:// RTSP/1.0 CSeq: 2 Session: 23456789 Range: smpte=0:10:00- • and its response RTSP/1.0 200 OK CSeq: 2 Session: 23456789 Range: smpte=0:10:00-0:20:00 RTP-Info:url=rtsp://; seq=12312232;rtptime=78712811 seq# for request/response pair session identifier play starting at that offset for an undefined duration

  28. RTSP methods • major methods • SETUP: server allocates resources for a stream and starts an RTSP session • PLAY: starts data tx on a stream • PAUSE: temporarily halts a stream • TEARDOWN: free resources of the stream, no RTSP session on server any more • additional methods • OPTIONS: get available methods • ANNOUNCE: change description of media object • DESCRIBE: get low level descr. of media object • RECORD: server starts recording a stream • REDIRECT: redirect client to new server • SET_PARAMETER: device or encoding control

  29. RTSP initiates and controls delivery HTTP GET presentation description (sdp) web server W client C SETUP media servers A & V PLAY RTP audio/video RTCP TEARDOWN • Client obtains a description of the multimedia presentation, which can consist of several media streams.. The browser invokes media player (helper application) based on the content type of the presentation description. Presentation description includes references to media streams, using the URL method rtsp:// Player sends RTSP SETUP request; server sends RTSP SETUP response. Player sends RTSP PLAY request; server sends RTSP PLAY response. Media server pumps media stream. Player sends RTSP TEARDOWN request; server sends RTSP TEARDOWN response

  30. Example: media on demand, unicast • Scenario… A V W C media descr. web server audio server video server client step 1: get description (in SDP format) step 2: open streams with RTSP step 3: play step 4: teardown

  31. Each RTSP has a session identifier, which is chosen by the server. The client initiates the session with the SETUP request, and the server responds to the request with an identifier. The client repeats the session identifier for each request, until the client closes the session with the TEARDOWN request. RTSP port number is 554. RTSP can be sent over UDP or TCP. Each RTSP message can be sent over a separate TCP connection. RTSP session

  32. Caching of RTSP response messages makes little sense. But desirable to cache media streams closer to client. Much of HTTP/1.1 cache control has been adopted by RTSP. Cache control headers can be put in RTSP SETUP requests and responses: If-modified-since: , Expires: , Via: , Cache-Control: RTSP: streaming caching

  33. Proxy cache may hold only segments of a given media stream. Proxy cache may start serving a client from its local cache, and then have to connect to origin server and fill missing material, hopefully without introducing gaps at client. RTSP: streaming caching