IP streaming or Video Streaming as it is more commonly known is a collection methods for transporting Live or Recorded Videos across an IP Network.
What is an IP Network?
Networks provide communication between computing devices. To communicate properly, all devices on a network need to use the same communication protocols. An Internet Protocol network is a network of devices, such as Computers, Tablets, Servers, even some TV’s, using the Internet Protocol for their communication protocol.
All devices within an IP network must have an IP address that uniquely identifies that individual host. An Internet Protocol-based network (an IP Network) is a group of hosts that share a common physical connection and that use Internet Protocol for network layercommunication. The IP addresses in an IP network are contiguous, that is, one address follows right after the other with no gaps.
The largest example of an IP network is the Internet. The Internet is currently based on IPv4 technologies, this is limited to approximately 4.3 billion IP addresses, which we are currently near exhaustion, with the last /8 block (16,777,216 IP’s Address’s) being assigned in February 2011. To combat the limitations and address exhaustion of IPv4, IPv6 was made a standard back in 1998 and is slowly coming into service through out the world at the moment.
Original Quote: http://en.wikipedia.org/wiki/IPv6
Internet Protocol version 6 (IPv6) is a version of the Internet Protocol (IP). It is designed to succeed the Internet Protocol version 4 (IPv4). The Internet operates by transferring data between hosts in small packets that are independently routed across networks as specified by an international communications protocol known as the Internet Protocol.
Each host or computer on the Internet requires an IP address in order to communicate. The growth of the Internet has created a need for more addresses than are possible with IPv4. IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with this long-anticipated IPv4 address exhaustion, and is described in Internet standard document RFC 2460, published in December 1998. Like IPv4, IPv6 is an internet-layer protocol for packet-switchedinternetworking and provides end-to-end datagram transmission across multiple IP networks. While IPv4 allows 32 bits for an Internet Protocol address, and can therefore support 232 (4,294,967,296) addresses, IPv6 uses 128-bit addresses, so the new address space supports 2128 (approximately 340 undecillion or3.4×1038) addresses. This expansion allows for many more devices and users on the internet as well as extra flexibility in allocating addresses and efficiency for routing traffic. It also eliminates the primary need for network address translation (NAT), which gained widespread deployment as an effort to alleviate IPv4 address exhaustion.
HTTP Streaming or Progressive Download
Original Quote: http://www.longtailvideo.com/support/blog/19578/what-is-video-streaming
Progressive Download is the most widely used video delivery method by far (in part because it’s what YouTube uses). It’s also easiest to implement: just put a video on your webserver and point your player to the URL. Once a user hits play, the player immediately starts downloading the file. The player will start video playback as soon as it has enough data to do so, but it will continue to download until it has received the whole file (hence the progressive).
Progressive Download is supported by Flash, HTML5 browsers, the iPad/iPhone and Android. On the server side, every regular web server supports downloads, as does every CDN (Content Delivery Network; webhosters that special in large-scale delivery). In most cases (Flash needs a small server module), it is possible to seek in a player to a not-yet-downloaded part of the video. At that point, the player re-downloads the video, starting at the seek offset instead of at the beginning. We call that feature pseudo-streaming.
The simplicity of Progressive Download also has its downsides. For one, bandwidth is wasted on data downloaded but not watched. Consider a user watching a ten minute video. They may leave the page after having watched only one minute of the video, but at that point the other nine minutes have already been downloaded. This means that the publisher has paid to transfer nine times as much data as the user actually watched – an expensive proposition on a large scale.
Another downside is the inability to change the quality of the video mid-stream: once the download starts, the video quality is locked. After switching a player to fullscreen, you generally see a blurry video, because it was intended to be watched at a much smaller size. Or, when you watch video on an iPad, your connection may switch from WiFi to 3G. Playback then stutters, because the download speeds are much lower on 3G.
Live streaming is not possible with Progressive Download, as there’s no downloadable file.
Live streaming using Progressive HTTP Streaming can be achieved using reference file’s which the browser downloads slightly behind the server writing the next piece of data. This is acceptable if the stream is short if the live stream is going to last a while then Progressive HTTP Live Streaming isn’t acceptable, as it will soon fill up the Clients player’s buffer, either causing the stream to stop downloading or worse crashing the player or device when the buffer is full.