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 Encode Using Media Encoder Store and Distribute from a Media Server
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 220.127.116.11 to 18.104.22.168
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 CompanyStreaming Technology Real NetworksReal Audio, Real Video Apple ComputerQuickTime MacromediaFlash MicrosoftWindows 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 cross- platform interoperability