Monday, May 01, 2006

Why Streaming Video is wrong for IPTV

In a previous blog I had explained the basics of IPTV. In this, I want to explore one method of deploying IPTV and why it is doomed to failure. Let me also point out that Streaming Video and Streaming Audio are parallel models and together are often referred to as Streaming Media.

Lets start by noting some of the well-known methods of transmitting video across the Internet. The simplest and oldest method uses the File Transfer Protocol (commonly called FTP). A recent and very popular method called BitTorrent allows very fast transfer of files under some conditions – for example, it excels in peer-to-peer networks.

Now lets look at Streaming Video – again, this bit is a rehash from the previous blog, but it is important, so please stay with me. Streaming Video is a method of transmitting video files so that a portion of any video starts to play in your video player (for example Windows Media Player or Real Player) while the rest of the file is being received. All other commonly used methods require that the entire file be downloaded before it can be played.

Streaming Video essentially creates a “buffer” which fills up as the video is received. At any time, if the connection becomes slow or is briefly interrupted, the video continues to play uninterrupted from the buffer. Meanwhile, in the background, the player attempts to download more of the video into the buffer.

As I have said before, that is the theory, but in practice, interruptions and slowdowns of Internet connections are rarely brief. So, there is not enough of a buffer to supply a continuous stream while the video is being viewed. The video becomes choppy and grainy, sometimes freezing altogether - resulting in a poor viewer experience.

Let us say you are lucky enough or rich enough to buy a super-fast connection to the Internet. All you need to worry about now is that people in your neighborhood are not using their Internet connectivity too much when you want to watch a movie on IPTV.

“Ay, there’s the rub!” as Hamlet said. However, your ISP is not conflicted, their entire business model is based on shared bandwidth. In fact, Internet connectivity is always shared at some level or the other. Most commonly, connectivity is shared at the neighborhood level. And typically, most people in a neighborhood will go online or download movies at more or less the same time of day. Thus, at the very time when people want the best connectivity, the system will be under maximum load.

Internet connectivity is also unpredictable. In some ways, it is like the weather – there are just too many variables. A small storm in one area can result in massive upheavals thousands of miles away. When a stream of video travels from a providers server to a users PC, it could travel through a dozen networks and multiple nodes within each network. And the number of networks may or may not be related to distance. For example, even if the server and the users PC are a few hundred yards apart, the video might actually travel through half a dozen networks. Each of these networks could be having a massive upsurge of traffic just when your movie reaches a cliffhanger moment – literally.

It is for these reasons (and a few others) that the promise of delivering video-on-demand through the Internet has been largely unfulfilled. Despite improvements in Internet connectivity and speed, the shared pipes are still not big enough to reliably deliver a consistent and reliable stream.

Despite all this, most IPTV providers still use Streaming Video. Why do they want the worst possible protocol for transmitting over an unreliable and narrow pipe? For the single reason that, because it starts to deliver video to the user immediately, most people think that it is still the best way to achieve Video-on-demand. Other known protocols will force the user to wait until the entire file is downloaded.

But are there alternatives? Yes, and it is obvious once you think about it. The best way to deliver Video-on-demand to a consumer is to have the video already in their home, locally.

There is of course yet another way that Streaming Video can work. That too might be obvious after reading the above. If the Streaming Video provider is also the owner of the network, that provider then has far more control over the delivery of video. Let us say AT&T is your ISP, and they also provide content to you in the form of movies. Then, AT&T can design the network so that the movie is on a server near you and also ensure that there is sufficient bandwidth between the server and you. Expensive, but it can be done by running fiber to you door.

Unfortunately, such a model has many other issues including the inability of ISPs to obtain content easily. Most importantly, this model requires owning fiber (or at least copper) to the customer. And that limits any company from establishing itself in multiple geographies quickly. It limits them to serving specific geographies in an increasingly mobile world of fragmented audiences. More on this in another blog.

Yours truly is also working on a method that will simulate the benefits of Streaming Video but will rely only partly on the speed or reliability of the connection. Wait and see.

Copyright (c) Anil Gupte 2006, All rights reserved.