1 / 52

Streaming Video

Streaming Video. Mohammed S Halim Jacob Christianson Sam Daley. Streaming Video. Streaming: Streaming is the process of playing a file while it is still downloading.

Download Presentation

Streaming Video

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.


Presentation Transcript

  1. Streaming Video Mohammed S Halim Jacob Christianson Sam Daley

  2. Streaming Video Streaming: Streaming is the process of playing a file while it is still downloading. Streaming Video: A sequence of “moving images” that are sent in compressed form over the internet and display by the viewer as they arrive.

  3. The evolution of Streaming Video • 1994: Video was accessible only by user with high-end workstation. • 1995: Progressive download technology allows audiences with standard personal computers to view video files as they are being download. • 1997: The first all-in-one, audio-video players was released. • 1999: True streaming was introduced to the general market. • 2001: First implementations of MPEG-4

  4. What makes Streaming Video different? Until recently, video on the web was primarily a download-and-play technology. Now a days, streaming video files begin playing almost immediately, while data is being sent, without having to wait for the whole file to download.

  5. The primary characteristics of Streaming Video • Streaming video technology enables real-time or on-demand access to video via the Internet or an intranet. • Streaming video is transmitted by a media server application, and is processed and played back by a client player application, as it is received. • A streamed file is received, processed, and played simultaneously and immediately, leaving behind no residual copy of the content on the receiving device.

  6. Common need for Streaming Video Various media are used in Internet They are used for different application Such as • Entertainment application • Video conferencing • Video archives and libraries • Remote learning • Multimedia presentations • Video on demand • Interactive Video Games • Video surveillance And many more…………………..

  7. How does it work • Links are added to a website • User click on the links • Media network streams the clip directly to the viewer’s PC. Because the media files are hosted on a separate network, the streaming has no impact on any existing web servers.

  8. Key Terminology(some of them) • Buffering • Codec • Encoding • Stream • Multicast • Streaming • On-Demand

  9. Streaming Video Challenges • Require real-time traffic • Higher bandwidth needed • Unpredictable availability of network bandwidth

  10. Video Compression • Streaming for the Internet available in all formats. To allow the playback of video over the web, the video must be compressed into a particular computer file format. • Streaming created from any video and audio format. It is possible to compress from any video source to………….. -AVI -ASF -QUICK TIME -REALVIDEO -MPEG-1,2,4 -WAV -ASF -AIFF

  11. Video Data Requirements 640 x 480 pixels x 640 24 bits/pixel x 30 frames/sec 480 = 221 Mbps

  12. Delivery Methods • Video On-demand • Live Video • Simulated Live Video

  13. Video On-Demand • Video is prerecorded • User can request the streamed video at any time • User can rewind, fast-forward, or pause the video at any time

  14. Live Video • Transmitting video as it happens, (i.e. not recorded) • Can not fast-forward, rewind, pause, etc.

  15. Simulated Live Video • Same as Live Video except that the stream is prerecorded • Also uses unicasting, splitting, multicasting • Not used as much as VOD or Live Video

  16. Protocols Used in Streaming Technology • Hypertext Transfer Protocol (HTTP) • User Datagram Protocol (UDP) • Session Description Protocol (SDP) • Real Time Transport Protocol (RTP) • Real Time Control Protocol (RTCP) • * Real Time Streaming Protocol (RTSP)

  17. Hypertext Transfer Protocol (HTTP) • Allows the data to be played as it comes from the network or save to a file to play later • Lacks control uplinks • May be unable to skip to different parts of the video (like Microsoft’s .asf format) • Or replay a section that just downloaded • Can be used to download a small redirect file that connects to a normal stream

  18. User Datagram Protocol (UDP) • Real-time data-transfer protocol • Receives high priority for internet transmission • If data is lost or corrupted during a transmission, the receiver does not request that it be resent • Basis for SDP, RTP, RTCP, RTSP

  19. Session Description Protocol (SDP) • Purpose: Convey information about media streams in multimedia sessions to allow the recipients of a session description to participate in that session. • Multimedia Session: Set of media streams that exist for some duration of time • Primary Functions • A means to communicate the existence of a session • A means to convey sufficient information to enable joining and participating in the session

  20. SDP (cont.) • Session name and purpose • Time(s) session is active • The media comprising the session • Information to receive those media • Information about the bandwidth to be used by the conference • Contact information for the person responsible for the session

  21. Real Time Transport Protocol (RTP) • TCP/UDP are not suitable for real-time applications • RTP is a thin protocol that provides real-time support • Timing reconstruction • Loss detection • Security • Content identification • Does not have a delivery mechanism • Can be used without RTCP • Usually implemented within the application

  22. RTP (cont.) • Applications typically run RTP on top of UDP as part of the transport layer protocol • RTP data in an IP packet

  23. Real Time Control Protocol (RTCP) • Control protocol that works in conjunction with RTP • Provides support for real-time conferencing for large groups, including source identification and support for gateways and multicast-to-unicast translators

  24. RTCP - Functions • Provide information to the application • Each packet contains report statistics • Identify RTP source • RTCP carries a transport-level identifier for an RTP source • Used to keep track of the participants in an RTP session • Control RTCP transmission interval • Convey minimal session control information

  25. Real Time Streaming Protocol (RTSP) • Application-level protocol • Aim: to provide a robust protocol for streaming media • One-to-many applications • Unicast and multicast • Support interoperability between clients and servers • Different vendors

  26. RTSP (cont.) • RTSP is considered more of a framework than a protocol. It is intended to control multiple data delivery sessions, provide a means for choosing delivery channels such as UDP, TCP, IP Multicast, and delivery mechanisms based on RTP. Control mechanisms such as session establishment and licensing issues are being addressed. RTSP is being designed to work on top of RTP to both control and deliver real-time content. Thus RTSP implementations will be able to take advantage of RTP improvements, such as the new standard for RTP header compression. Although RTSP can be used with unicast in the near future, its use may help smooth the transition for environments transiting from unicast to IP multicasting with RTP.

  27. RTSP – How does it work? • Breaks data into packets sized according to the bandwidth available • When the client receives enough packets, software can • Play one packet • Decompress another • And download a third • Applies to live data feeds as well as stored clips

  28. RTSP – Functions of • Provides on-demand access of multimedia items • Provides control and delivery of real-time media as well as associated events between a media server and large numbers of media clients • Addresses key concerns: • Quality of service • Efficiency of delivery • Rights management • Measurement

  29. RTSP – Relationships with other Protocols

  30. RTSP - Operation

  31. RTSP – Operation (cont.) • Sending a control request • Client constructs a line consisting of the method, the request URL, and the protocol version number • Client includes a general header, a request header, and possibly an entity header (as for the HTTP protocol) • Server executes the request if possible • Server returns a response containing a status-line and general response and entity headers • Status-line: protocol version, numeric status code, textual description

  32. RTSP – Operation (cont.) • Media streams are left unspecified • Could be RTP streams or any other form of media transmission • RTSP only specifies control • Client and server software must maintain the mapping between the control channel and the media streams • Control request and responses may be sent via TCP or UDP, which are sequenced (order matters!) • UDP requires construction of retransmission mechanisms • There are few times when UDP is used

  33. RTSP - Sessions • Client requests a presentation to be started by a server • Receives a session identifier (used in all controls) • Represents the shared state between the client and the server • If the state is lost, the protocol relies on the transport of the media to stop automatically • Client may request a teardown of the session (releases resources)

  34. RTSP – Request/Response • Request • Client to server or vice versa • Includes the method to be applied to the resource • The identifier resource • Protocol version in use • Response • Includes protocol version • Numeric status code • 3-digit integer result code of the attempt to understand and satisfy the request • A reason phrase is included for the human user • Textual phrase associated with the status code

  35. Request Media description format Encoding of media format Human language Authentication Client bandwidth available Conference identifier Name of requester Conditional retrieval Time range to play How did we get here? Speed-up delivery Software Response Redirection Authentication to proxy Methods supported Busy, Comeback later Server software Cache Request authorization RTSP - Headers

  36. RTSP - Methods • DESCRIBE • retrieves the description of the presentation or media object identified by the request URL • The DESCRIBE reply-response pair constitutes the media initialization phase • ANNOUNCE • GET_PARAMETER • OPTIONS • PAUSE • Halts the stream delivery (temporarily) • Server resources are kept, unless paused longer than the timeout parameter specifies • PLAY • Tells the server to start sending data • Client must not issue a PLAY request until SETUP request have been acknowledged successfully

  37. RTSP – Methods (cont.) • RECORD • REDIRECT • SETUP • Specifies the transport mechanism to be used for the streamed media • Transport header specifies transport parameters acceptable to the client • The response contains the parameters selected by the server • SET_PARAMETER • TEARDOWN • Stops the stream delivery for the given URI, freeing resources • If the URI is a presentation, the session is closed and thus the identifier is no longer valid

  38. RTSP – Protocol States Minimal state of RTSP:

  39. Streaming Video Technology • Real Networks (Progressive Networks): Proprietary formats, multi-rate video, etc. • Windows Media (Microsoft): AVI, ASF (advanced streaming format) • QuickTime (Apple): Basis for MPEG-4

  40. What format should you use? • What time of delivery system will be used? • How much editability do you need? • Do you need multirate streaming?

  41. Differences • CODEC: Compressor/decompressor, each supports a different set of CODECS • Protocols: Some variation in supported protocols • Costs: Players can be obtained for free but encoding, server, etc. costs can vary

  42. CODECS: Windows Media • Supported CODECS: Windows Media Video v7, ISO MPEG-4 v7, Windows Media Screen Codec, MPEG-4 v1,v2,v3

  43. CODECS: QuickTime • Supported CODECS: Sorenson Video, VP3, Cinepak, Indeo 3., Indeo Video Interactive 4, Video, Animation, Photo-JPEG, Component Video, MJPEG, Graphics, Portable Network Graphic (PNG), MPEG-1

  44. CODECS: Real • Supported CODECS: RealVideo with Scalable Video Technology (SVT),RealVideo, MPEG1, SMIL, VRML, RealText, RealPix*Not backward compatible*Recommended to use older codec for upwards compatibility

  45. Protocols • Windows Media: TCP, HTTP, UDP, UDP, MMS • QuickTime: HTTP, RTSP, RTP, FTP, SDP, UDP • Real: RTSP, RTP, UDP, TCP, HTTP, UDP

  46. Costs • Windows Media: Encoding/Serving is free with Windows OS • QuickTime: Low cost if you have Mac OS, but you will need to purchase an encoder (i.e. QuickTime Pro) • Real: Costs vary but can be very high when using large servers

  47. Similarities • Support: Netscape/Mozilla, IE Live Broadcasting Simultaneous Live Streaming and recording IP Multicast Windows OS & Mac OS

  48. Live Video Can be delivered 3 different ways: • Unicasting • Splitting • Multicasting

  49. Live Video: Unicasting • Video stream goes independently to each user, and all users get their own stream • Simplest • Most popular • Little or no configuration is needed

  50. Live Video: Splitting • One Media Server shares its live media streams with other Media Servers • User gets the stream from a splitter instead of the actual Media Server where the stream originated from • Reduces the load on the Media Server

More Related