Introduction to Streaming © Nanda Ganesan, Ph.D. What is Streaming? • Process of delivering audio, video and other multimedia over a network • The network could be a LAN, Intranet or Internet for example • Streaming ensures no download wait • No files to take up space on your hard disk. What Types of Data Can be Streamed? • Sound – “Audio Streaming” • Pictures – “Video Streaming” • Text -- Words and sentences • Mixtures – “Media Streaming” – The term “media” is used to refer to a mix of these various types of data – “Rich media” means video plus audio Use of Streaming Media • Streaming video can be used for live or recorded events • Provides truly interactive, on-demand audio and video • No need for time taking downloads • Corporate communications and training Issues Related to Streaming • The Internet was not designed for real time streaming. • Limited bandwidth, latency, noise, & packet loss • Retransmission and out of order packet delivery are of concern in real-time delivery of data • Note: Internet is a packet switching network and most computer networks carry information based on packet transmission as opposed to circuit switching More Issues Related to Streaming • Live or on-demand streaming is a time critical application • Sensitive to the variation in delay inherent in a shared access network like the Internet • Majority of end users access the Internet over very narrowband dial up links The ‘Streaming’ Solution • Streaming uses ‘Buffering’ • Buffering irons out the natural traffic variations inherent on the Internet. • Streamed broadcast starts to play at the same time as more content is being downloaded • Media file can be of any length and can run over Internet bandwidths The Streaming Model (Picture) • The components of an end to end streaming system are: – Client (Media Player) – Streaming Server – Streaming Media Production Tools Media Streaming Stages • Draw a file analog to digital to streaming format Streaming Process Overview • Source data is obtained from live presentations or prerecorded media • Source data files are sent to a “streaming server”, compressed, encoded, and readied for streaming over the Internet to the user • Streamed files received by user computers are decompressed and converted to digital media and played at the client using a client player Major Steps in Streaming • Capture • Covert • Distribute • Play An Example of Capturing and Converting Video Source (Digital Camcorder) Capture Through IEEE 1384 Port Store and Distribute from a Media Server Encode Using Media Encoder Conversion to Streaming Format • Compression Decompression (CODEC) is used in the process of converting the file from a raw format to streaming format • At the same time, the compressed files are designed to withstand varying bandwidth of an Internet connection – It is important to ensure that the file is played as a continuous stream What is a ”codec”? A codec is any technology to compress and decompress data • Codecs can be implemented in software or hardware or a combination of both • Some popular codecs for computer video include MPEG, Indeo, & Cinepak • Codec can also mean a coder/decoder device for converting binary digital signals to analog signals for transmission over a wire Lossy Compression of Raw Media Files • “Raw media” files, a user’s captured or digitized audio and video files, normally are very large & need to be compressed for transport across various bandwidths • The type of compression used for creating streaming media files is “lossy compression” • Lossy compression techniques try to eliminate redundant or unnecessary information Lossy CODECs • Most streaming compression technologies, in general, use a lossy technique • There are new lossless compression techniques that are now being introduced • Windows Media Audio Streaming and Compression • A compressed media file may not necessarily be a streaming file • MPEG files are not meant for streaming • WMA files are specifically produced for streaming • However, both files are compressed files Some Streaming File Formats • Audio – Mp3 • Video – MPEG Standards Some Popular Compressed Video File Formats • An evolving set of standards developed by MPEG for video and audio compression and multimedia delivery • Current MPEG standards include: – – – – – MPEG-1 MPEG-2 MPEG-4 MPEG-7 MPEG-21 Distribution of Streamed Media • Distribution point would be a server – Media server (real-time streaming) – Web server (progressive streaming) • Receiving point would be a client – A client player such as Windows Media Player is needed to play the media file Real-Time Streaming • Media can be streamed in real-time from a streaming or media server – Server based streaming (Windows Media Server) • Alternatively, media can be progressively downloaded and played from, for example, a web server (IIS) – Client based streaming – Media files are downloaded and temporarily stored on the client and played Three Methods of Distributing Media Streams • Unicast – A separate copy of the data is sent from the source to each client that requests it. • Broadcast – A single copy of the data is sent to all clients on the network • Multicast – sends a single copy of the data to those clients who request it. Unicasting • The bulk of the traffic on today's networks is unicast • A separate copy of the data is sent from the source to each client that requests it • Unicast wastes bandwidth by sending multiple copies of the data Broadcasting • A single copy of the data is sent to all clients on the network • Broadcast wastes bandwidth by sending the data to the whole network whether or not the data is wanted • Broadcast slows client machine - each client must process the broadcast data whether or not the broadcast is of interest Multicasting • Multicasting sends a single copy of the data to those clients who request it • Multicasting takes the strengths of unicast and broadcast and avoids their weaknesses Unicasting Bandwidth Requirement • Draw a picture Multicasting Bandwidth Requirement • Draw a picture Network Load Comparison for Unicasting and Multicasting Comparison of network load per client when unicasting an 8-Kbps PCM audio stream and multicasting the stream. Future of Multicasting • Multicasting is bound to grow fast as the Internet is increasingly used for streaming media • There is already a backbone within the Internet to facilitate multicasting • It is known as the MBONE The MBONE • Internet Multicast Backbone • Most widely known and used multicast enabled network • A virtual network consisting of those portions of the Internet, sometimes called multicast islands, on which multicasting has been enabled • MBone has been in place since 1992 and has grown to more than 2000 subnets. How Multicasting Works • Multicasting follows a push model of communications • The user is simply instructing the computer's network card to listen to a particular IP address for the multicast. • Multicast addresses are Class D IP addresses ranging from 224.0.0.0 to 239.255.255.255 Multicasting on Islands and Tunnels Multicast Island Unicast Tunnel Router Client will request the router to forward all traffic on a given multicast IP address that would be a Class D address Multicasting Requirements • Clients must have a way to learn when a multicast of interest is available. • Clients must have a way to signal that they want to receive the multicast. • The network must have a way to efficiently route data to those clients who want to receive it. Announcing Multicast • Multicasts are announced in advance so that clients know when a multicast is available • On the MBone, multicasts are typically announced using the Session Description Protocol (SDP) • The announcement information is multicast to a well-known IP address and port where clients running the session directory tool receive this information Joining Multicast Groups • To signal that they want to receive a multicast, clients join the group to which the multicast is directed. • The Internet Group Management Protocol (IGMP) handles this task • Groups are dynamic: clients can join or leave at any time Commercial Streaming Implementations • Many companies provide streaming hardware and software • Technologies may incorporate MPEG or proprietary file handling standards • A new file extension is used for each separately developed & used standard • Four major companies and technologies currently dominate the field Companies and Streaming Technologies Company Streaming Technology Real Networks Real Audio, Real Video Apple Computer QuickTime Macromedia Flash Microsoft Windows Media Proprietary Technologies • Each major streaming technology has its own proprietary server media file encoding format • The various technologies do not generally support each other’s formats • Standardization organizations are attempting to create specs for crossplatform interoperability Summary End of Module