## Streaming video, how does it work?

How is live video streamed on the internet? Since live/streaming video of course cannot be a single file. So how? Is it sent in small pieces or does data constantly flow from the source to the viewer? If so, how large is each piece?
 PhysOrg.com science news on PhysOrg.com >> Leading 3-D printer firms to merge in $403M deal (Update)>> LA to give every student an iPad;$30M order>> CIA faulted for choosing Amazon over IBM on cloud contract
 It is actually both, a single flow which is broken up into smaller frames. The "size" of the frames depends on the transmition medium, over the WAN like SDH for example. However your PC would never see or need to reassemble frames of this nature... Video content is delievered through Multicasting, which is inbetween a broadcast and a unicast. There are 3 widely used version of this Sparce mode, Dence mode and Sparce-Dense Mode. For IPTV (live streaming TV) the Multicasting protocol would be a form of Sparce mode for delivery. Which is the same as over the GSM Network on 3G TV to mobile phones technology.
 Recognitions: Gold Member Science Advisor Staff Emeritus For standard IP networks -- the internet, for example -- all data is broken up into packets before being sent over the network. The network's responsibility is to route these individual packets from one place to another, based on the destination address. The size of the packets is variable, and some devices (computers, hubs, routers, etc.) can handle larger packets than others. Generally, 1500 bytes is the maximum size of IP packets. For streaming applications, the sending computer (server) does not need to send data to its clients at the fastest speed the network will support -- this is wasteful. Instead, the server can send data only as fast as is necessary to prevent the client from running out of data and having to stumble (drop frames) and make the video look choppy. Most digital video formats allow the author to determine the "bandwidth" of the video stream. In other words, if the video's author encodes the video with an assumed 1 Mbps (one million bits per second) bandwidth, then any client who wishes to view it without dropping frames needs to be capable of downloading at least 1 Mbps. - Warren

## Streaming video, how does it work?

 Generally, 1500 bytes is the maximum size of IP packets.
Only applicable on Ethernet... Transmission technology's care about Time Windows, and typically mupltiplex streams into 64K segments, for easier extraction. The Majority of Internet traffic (IP traffic) runs over these types of networks, its just inside the cloud from your perceptive. MPLS over SDH is an example, The IP is there but encapsulated inside MPLS and in turn encapsualted inside SDH (SONET for Amercians)

 Most digital video formats allow the author to determine the "bandwidth" of the video stream. In other words, if the video's author encodes the video with an assumed 1 Mbps (one million bits per second) bandwidth, then any client who wishes to view it without dropping frames needs to be capable of downloading at least 1 Mbps.
True, but you missed a key point, in that if 1000 users all need to view his video the sender doesnt need to send it at 1000* 1 Mbps only at 1Mbps as with multicasting the reproduction of packets is done close to the reciever within the telco cloud somewhere...

Recognitions:
Gold Member
Staff Emeritus
 Quote by Anttech Only applicable on Ethernet... Transmission technology's care about Time Windows, and typically mupltiplex streams into 64K segments, for easier extraction. The Majority of Internet traffic (IP traffic) runs over these types of networks, its just inside the cloud from your perceptive.
I'm trying to simplify the process for the sake of the original poster. The majority of both of your posts here are likely incomprehensible to him, as they contain a huge number of unncessary, undefined acronyms and undefined terms.

 True, but you missed a key point, in that if 1000 users all need to view his video the sender doesnt need to send it at 1000* 1 Mbps only at 1Mbps as with multicasting the reproduction of packets is dont withing the telco cloud somewhere...
Again, one doesn't need to understand the specifics of multicasting to understand the basic concept of packetized streaming video. Try to consider your audience, and pitch your responses at their level of understanding.

- Warren
 They are not undefined, nor are they unnecessary, they are actually widely used, and essential in understanding Streaming Video. The whole concept, is based around Multicasting, from cable TV to streaming IPTV content to your Xbox. Streaming video has nothing to do with ethernet, nor is it broken into 1500 Bytes.. To say so is wrong... Anyway sorry for over complicating, but if you ask an advanced question expect an advanced answer

Recognitions:
Gold Member
Staff Emeritus
 Quote by Anttech They are not undefined, nor are they unnecessary, they are actually widely used, and essential in understanding Streaming Video. The whole concept, is based around Multicasting, from cable TV to streaming IPTV content to your Xbox.
You did not define them in your response, so they might as well be undefined. I wouldn't expect anyone to go hunting for references all over the web just to make sense of your response. In general, it isn't a good idea to use acronyms or terms without first being sure that your audience knows what they mean.

 Streaming video has nothing to do with ethernet, nor is it broken into 1500 Bytes.. To say so is wrong...
Okay. I'll concede that. At the same time, any computer connected to the internet via an "end-user" link like Ethernet or 802.11 will receive 1500 byte packets.

He didn't ask an advanced question. He asked this: Is it sent in small pieces or does data constantly flow from the source to the viewer? If so, how large is each piece?

- Warren

 You did not define them in your response, so they might as well be undefined. I wouldn't expect anyone to go hunting for references all over the web just to make sense of your response. In general, it isn't a good idea to use acronyms or terms without first being sure that your audience knows what they mean.
Nope you are right I didnt define them the IETF did. Honestly I disagree with your stance on this. I hate been treated like an idiot, and would prefer to have correct information. But you are an admin and I am not so you win.

For your, or anyones references,
MPLS = Multi protocol Label Switching
SDH = Synchronous Digital Hierarchy (SONET = Synchronous Optical Network, I made an error in a previous acronym lol)
IP = Internet Protocol

 Okay. I'll concede that. At the same time, any computer connected to the internet via an "end-user" link like Ethernet or 802.11 will receive 1500 byte packets.
By default, yeap, but nothing to do with the question.

 He didn't ask an advanced question. He asked this: Is it sent in small pieces or does data constantly flow from the source to the viewer? If so, how large is each piece?
Ok I will concede that, it isnt an advanced question, but to attempt to give the correct answer you will need to get advanced. Because the whole concept revolves around Multicasting at layer 3 (IP addressing). You need an understanding of this to understand how video content is distributed, IMHO you cannot explain streaming video without touching on Multicasting.
 Recognitions: Gold Member Science Advisor Staff Emeritus You don't even need to consider delivery at all to understand the basic concept of packetized streaming video. - Warren
 IMHO for video yes you do. If you just want to explain basic packetised transport of data (TCP/IP) then I guess not. But Streaming video (and sound like internet radio) is based around Multicasting, if it wasnt its development would have hit a brick wall a decade or so ago.
 Mentor Blog Entries: 4 Anttech, things are different in the US. My company is one of the few (almost none) that allow free multicasting. There was a lawsuit filed by some large telco providers that wated to charge their end users for viewing multicast streams from another provider so the FCC is shutting down companies in the US that do multicast streaming. My largest multicast client was one of those recently. I'm at work and don't have time to go into details, but Unicast is the predominat streaming format in the US, although it is bandwidth intensive.
 Interesting, How on earth could a Cable company unicast TV services to all clients, or are you only talking about Teleco's, (quad/triple play)? It would mean that you would need (amount of users * BW to deliver content) amount of BW. Which would be way over the 10G max I would think.
 Mentor Blog Entries: 4 I'm referring to streaming video over the internet.
 Why does Unicast still exist? I can't find it's advantage over Multicast. @choot: I actually prefer advanced answers because i want all the details. If there is an acronym or word I don't understand, I just hold ALT and left click on the word (an firefox Answers.com extension). But you are right some people are left confused because they don't know any better.

Mentor
Blog Entries: 4
 Quote by linux kid Why does Unicast still exist? I can't find it's advantage over Multicast.
Unicast is better quality and easier to control quality, the drawback is that each unicast session sends a stream to a single user making viewing by multiple users very expensive.

The reason you don't see multicasting on the internet is that almost no internet providers in the US allow it because of the perceived revenue loss.

Mentor
Blog Entries: 4
 Quote by Anttech Only applicable on Ethernet... Transmission technology's care about Time Windows, and typically mupltiplex streams into 64K segments, for easier extraction. The Majority of Internet traffic (IP traffic) runs over these types of networks, its just inside the cloud from your perceptive. MPLS over SDH is an example, The IP is there but encapsulated inside MPLS and in turn encapsualted inside SDH (SONET for Amercians)
This has nothing to do with the OP's question. MPLS is a multi-location business wide area network. Sure you can do video over MPLS but this would only apply to a miniscule portion of BUSINESS customers.

Ok, you're going to force me to post this.

Q: What is multicast?

A: Multicast is an IP technology that allows for streams of data to be sent efficiently from one to many destinations. Instead of setting up separate unicast sessions for each destination, multicast will replicate packets at router hops where the path to different multicast group members diverges.

Q: Why would I want to use multicast?

A: Multicast is the best method of delivering the same data to multiple receivers at the same time. Servers send only one data stream, and on every link leading to all the receivers, there is only one copy of that data stream. Using unicast, the server must send a separate but identical data stream for each connected receiver. This results in a high server CPU load as well as increased network bandwidth demands at the server as a direct result of these redundant data streams. Broadcast would solve the problem of duplicated packets, but ends up flooding the entire network, even if only a few hosts wish to receive the data.

Q: Can you provide an example of using multicast vs. unicast?

A: Say that Company X wants to set up an Internet radio station. They plan to transmit a 28.8 kbps audio stream. If the company expects to have 100 people listening to their transmission at a given time, they will need to purchase two DS1 connections (3 Mbps) to provide the bandwidth necessary for this radio station to send this data via unicast. (100 separate connections x 28.8 kbps = 2.88 Mbps) This is highly inefficient, since all 100 sessions are replicated from the server to the Internet provider, and possibly additional duplication is occurring down the path.

Multicast, however, replicates the packets only as needed for only those destinations that wish to receive the information. Hosts must join a multicast group, signifying their desire to receive the data. A tree is built based on this information and replication of packets only occurs at points where the tree splits off in different directions. This removes the bottleneck around the server, and in this example, Company X would only need to have a 28.8k line in order to create their radio station. This solution is also more scalable. Whether it has one hundred or one million listeners, the server will only need to send a single 28k stream. With unicast, Company X would need to upgrade its bandwidth as the radio station becomes more popular and more people start to listen.

Q: What applications are best suited for multicast?

A: Many people associate multicast with multimedia as it is an excellent transmission method for multimedia. This can be an Internet radio broadcast, television broadcast, video conferencing, stock market tickers, slide presentations, etc. However, multicast is also suited to a large number of other applications. Such applications include file transfers to multiple locations, or dynamic web page updates. In the future, all unicast and broadcast applications may be suited for multicast. In fact, you can think of unicast as multicast with only one group member, and broadcast as multicast where everyone on the network has joined the multicast group.

Q: What software applications are there for multicast?

A: Several. Many popular streaming applications, such as Microsoft Windows MediaPlayer, Real Networks RealPlayer, and Apple QuickTime have multicast capabilities. Several other multicast-only applications are appearing, such as Cisco's IP/TV and Apple's MacTV.

Numerous applications were developed in conjunction with the MBone. The most widely used of these is SDR (session directory), which is a program that lists many of the multicast sessions occurring on the MBone. A host of helper applications are available for SDR, such as VIC (video), VAT and RAT (audio), WB (white board), and more. These applications are available for UNIX and Microsoft Windows platforms. Several other applications have been built as clones of these programs for other operating systems.

You can find many MBone applications for numerous platforms at the following site: <http://www.merit.edu/~mbone/index/titles.html>

Q: What are the limitations of multicast?

A: Multicast has one major limitation. For multicast to work, every router between the recipient and the source must be multicast enabled. Since multicast is a relatively new technology, not all networks are multicast enabled. XXX is the first ISP to completely enable multicast technology natively across their backbone. As the technology is embraced, more router vendors and ISPs will enable multicast. The cost benefits to multicast and the increasing use of high bandwidth multimedia applications on the Internet suggest that multicast will be ubiquitous very soon.

Q: What is the MBONE?

A: The MBONE was an educational research project to test new multicast applications. Begun in 1992, the MBONE is a collection of networks tunneled together to support multicast. Today, the MBONE is still used for multicast research, as well as the source of many of today's multicast sessions.

Q: Can I still reach the MBONE with XXX?

A: Yes. XXX has a peering connection to the MBONE. You can send and receive multicast traffic to and from the MBONE.

Q: What do you mean when you say that XXX carries multicast traffic natively?

A: With the original MBONE, it was difficult to enable multicast because of the need for all routers in a path to be multicast enabled. To route multicast traffic, it was necessary to create tunnels, or specially designed paths, to carry multicast traffic. As technology has improved, router manufacturers and ISPs can enable more of their network to carry multicast traffic without the use of these tunnels. XXX has enabled all of our backbone routers to carry multicast traffic without the need of any tunnels.

Q: How is XXX's network designed for multicast?

A: Working with Cisco Systems, XXX has removed the need for tunnels and now routes multicast natively across all of our backbone routers. Along with our customer connections, XXX also has connections to the MBONE, as well as multicast peerings with several other ISPs.

Q: What multicast protocols does XXX use?

A: XXX routes multicast through its backbone with PIM-SM (Protocol Independent Multicast - Sparse Mode). This is a shared-tree protocol, creating multicast trees from a central core location, called a rendezvous point (RP). XXX has six RPs located geographically throughout our network. These six RPs share the same IP address, allowing our customers and peers to contact the nearest available RP (anycast RP).

RPs communicate with each other and RPs in other networks through MSDP (Multicast Source Discovery Protocol). Routing is provided with either static routes, or MBGP (Multicast extensions for Border Gateway Protocol).

Q: How does PIM-SM work?

A: PIM-SM is a multicast routing protocol belonging to the shared-tree family. It uses a rendezvous point (RP), which multicast sources use to register their sessions. Other hosts look to the RP to find out what multicast sessions are available. When a host wishes to join a multicast session, it sends a join request to its gateway router. That router then builds a path back to the RP (the collection of all of these paths is called the multicast forwarding tree). The path that is chosen is determined by the unicast routing protocol (such as IS-IS, OSPF, IGRP, EIGRP, or RIP) running on the router. Once traffic has been received from the source of the session, the tree can switch to provide the optimal path from the source to the host. PIM-SM is defined in RFC 2362.

Q: What exactly does an RP do?

A: An RP serves as a central point for multicast sessions. A source will register its session with an RP. This information is carried to other RPs through MSDP. When a host joins a multicast group, it first joins the group at the RP. Once the host has received traffic from the source, the host can switch to a tree rooted at the source.

Q: Do I need to have my own RP?

A: No. If you choose to, you can set up one of your own routers as an RP. However, XXX has six routers geographically dispersed to provide the same service.

Q: What protocols does my router need to run?

A: Your router will need to be able to run PIM-SM and IGMP. If you have a Cisco router, multicast functionality is available in almost all Cisco IOS versions 11.1 or later. We strongly recommend using version 12.0 or later for best performance and reliability. If you plan to use your own RP or run MBGP, we recommend the 12.0.xS series.

Q: How difficult is it to configure a router for native multicast?

A: While the protocols that make multicast work can be extremely complicated, configuring a router is very simple. The following is a very simplified sample configuration to show what is minimally needed to enable a router for native multicast. In this example, the router is homed only to XXX and is using XXX's RP.

ip multicast-routing
ip pim accept-rp 144.232.187.198
!
int Ethernet0
ip pim sparse-mode
!
int Serial0
ip pim sparse-mode
Repeat for all interfaces through which multicast traffic should flow.
For further configuration examples, we strongly encourage you to visit <ftp://ftpeng.cisco.com/ipmulticast.html>.

Q: What if I don't have a Cisco router?

A: You will need to check with your router vendor to find out if multicast is an available option. Minimum requirements are the ability to support PIM-SM and IGMP. Performance will be improved if your router supports PIM-SM version 2.

Q: What is IGMP?

A: The Internet Group Management Protocol (IGMP) is a protocol that controls group membership individual hosts. This protocol only operates in a LAN setting, but is required if you wish to be able to join a multicast group on a host. IGMP is defined in RFC 2236.

Q: Do I need to have special addresses for multicast?

A: Multicast uses Class D addresses (224.0.0.0 through 239.255.255.255). These addresses can only be allocated through IANA.
Many applications have been provided with ranges of addresses for their use, and will dynamically assign a multicast address to sessions created using it. For instance, SDR will automatically assign a multicast address to your session, if you announce the session with SDR. More applications are expected to use this method of dynamically assigning multicast addresses in the future.

The 233.0.0.0/8 block has been set aside for multicast use for anyone with their own autonomous system number (ASN). The ASN can be written as a 16 bit binary number (left padded with zeros), and then inserted into the middle two octets of this address block. For example, XXX has AS 1239. Written in binary, this value is 0000010011010111. By inserting this value into the middle two octets of the 233.0.0.0/8 block, XXX can then use 233.4.215.0/24 for multicast sessions. Anyone with their own ASN can use this method to create a /24 block for multicast use.

The 239.0.0.0/8 block is administratively scoped for internal use only. You can use this block within your own network similar to the way that the 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 are used.

If you decide that you require static multicast addresses and do not have your own ASN, you can request them from IANA at this site: <http://www.isi.edu/cgi-bin/iana/multicast.pl>

Williamson, Beau. Developing IP Multicast Networks. Indianapolis, IN: Cisco Press. 2000.
Maufer, Thomas A. Deploying IP Multicast in the Enterprise. Upper Saddle River, NJ: Prentice Hill PTR. 1998.
The following RFC's and drafts contain useful information about multicast:
RFC 2236: Internet Group Management Protocol, Version 2
<ftp://ftp.isi.edu/in-notes/rfc2236.txt>
RFC 2283: Multiprotocol Extensions for BGP-4
<ftp://ftp.isi.edu/in-notes/rfc2283.txt>
RFC 2362: Protocol Independent Multicast-Sparse Mode (PIM-SM)
<ftp://ftp.isi.edu/in-notes/rfc2362.txt>
Multicast Source Discover Protocol (MSDP)
<http://www.ietf.org/internet-drafts/draft-ietf-msdp-spec-02.txt>
The following sites also contain useful information about multicast:
<ftp://ftpeng.cisco.com/ipmulticast.html>
<http://www.3com.com/nsc/501303.html>
<http://www.ipmulticast.com/>

Evo it would have been quicker if you just posted the link, why did I force you to post that?:

I know what multicasting is, I know how it works, and I know MPLS in depth, and no it isnt a buisness only technology. I work for a Telco, and we use it as a transport medium for the likes of YOU when you cross our AS to visit a www site located HERE, and in fact on our GSM network we use it for WAP, and G3 applications (Streaming Video to Mobile Phones via Multicasting).

Many Telco's use MPLS, in Fact MOST in Europe use it. MPLS over Fiber will be the NORM, as ATM dies...

 Why does Unicast still exist? I can't find it's advantage over Multicast.
Look Multicasts, are unicasts up untill you get close to the requestor. Thats the beauty of Multicasting. Unicasts is the bedrock of IP technology so most data movement is done with Unicasting.
 I'm referring to streaming video over the internet.
Could you provide a link to this please? Cisco Stream Video content from there web site for training and the likes all the time, I doubt they are breaking the law.
 Unicast is better quality and easier to control quality, the drawback is that each unicast session sends a stream to a single user making viewing by multiple users very expensive.
Better quality? Why? As I already stated Unicasting is multicasting up till nearer the requestor. Quality of service can still be implemented with multicasting (within an Autonomus System [AS])The Quality is just as good. In fact I have been implementing a IPM monitoring tool using Cisco 2800 Routers, and HPov to First Application Test Multicasting and there is no quality degregration.

 The reason you don't see multicasting on the internet is that almost no internet providers in the US allow it because of the perceived revenue loss.