The difference between HTTP progressive download and real streaming

The online video delivery experience

When delivering videos online, there are generally two different ways to do it. Progressive HTTP download or Streaming. You can assume that all of the videos are streaming, but you will be surprised to learn that most are not.

So what are these two methods? What is the difference between them? What are the advantages and disadvantages of both? Why would you want to use one method over another?

Progressive discharge

All web servers can do progressive downloads. This is simply the method of sending a video file over HTTP to a browser. This is similar to someone downloading a file from their website. In fact, the video is delivered in the same way as an image, a CSS, a JS, a PDF, or any other file on your website.

The real difference is that media players can start displaying the video while it is downloading. For example, an FLV file that is sent via HTTP progressive download will start playing in your Flash Player as soon as the browser receives some data. The same goes for Windows Media files. Quick Time will wait until the entire file is downloaded before playing, unless the QuickTime player on the PC / Mac is set up for progressive playback. So be careful when posting QuickTime videos.

It’s pretty obvious when sending a video via HTTP progressive download. Typically, you will see the little status bar grow as the video downloads. You will not be able to move the debugger button beyond the amount that has already been downloaded. This makes it impossible to jump to the end of the video before that part has been downloaded. If you have a slow web server or limited bandwidth or the end user has a slow internet connection, then the end user may notice the buffering.

Buffering occurs when the download cannot get ahead of the video. The video will stop while downloading more. If you pause the video and allow to download a large part, then you can watch the video without any interruptions. In any case, this is a bad end-user experience, this is when you would consider using a CDN.

There is a technology called Psuedo or Seek streaming. This method used TCP / IP range requests to allow the user to jump to any part of the video and the player will make a file range request to download that part. This method is usually only for FLV videos and requires special services or custom Flash servers and players to work.

When a video is delivered over HTTP, it is actually downloaded to the end user’s computer. This is good and bad. It’s good because if the person watches the video again, it’s already cached on their computer. It’s bad because it makes it extremely easy for someone to steal your content.

Finally, if someone only watches the first minute of your video but does not stop the download, the browser will download the entire file and you will pay for the delivery of the file even if the person has not seen it in its entirety.

Video streamed live

Video streaming requires access to a streaming media server. Some servers are Flash Media Server, Wowza Media Server, Windows Media Server, Darwin Media Server (QuickTime), Real Media Server. These servers generally require a license and can cost several thousand dollars.

Some popular transmission protocols are RTMP, RTSP, and MMS.

When a video is streamed, it is sent over the UDP protocol to a player in the end user count. The user will have the ability to fast forward or rewind the video. The video is not downloaded to the end user’s computer, so the content is less likely to be stolen. Also, if the user only watches 5 minutes of a 30-minute video, they only pay for the 5-minute delivery, not the full video.

The biggest disadvantage of streaming over progressive download is that if the user watches the same video over and over again, you will pay for the delivery every time. Videos are also streamed at the bit rate at which they are encoded. Keep this in mind when creating HD quality videos. 8Mbps video may sound and look good, but most households cannot maintain an 8Mbps connection. If you have really high bitrate video, consider sending it over HTTP.

Most web hosting providers or content delivery networks (CDNs) will have streaming media servers available for your use. Historically, Flash video delivery was more expensive than other forms. Prices have dropped recently, and you’ll find that it costs roughly the same to deliver Flash or Windows Media files. In the past, I would have said that if your video is more than 10 minutes long, send it via Stream and less progressive. Since prices have come down, I would consider streaming videos of any length as streaming usually starts playing faster than progressive streaming.

If you are considering using a service like CDN or Cloud Computing and they say you can stream your videos, please confirm with their tech support that they are using a streaming server and not just offering bandwidth.

If you are delivering Flash videos, then you must deliver them via RTMP or RTMPE protocol for streaming and http for progressive. Windows Media uses MMS or RTSP. Quicktime and Real Media use RTSP.

I hope you find this article of interest. This is a good guide to help you decide whether to use streaming video delivery or HTTP progressive download.

Top content delivery networks that support streaming

* Limelight networks

* EdgeCast networks

* CDNetworks

* Level 3

* Akamai

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *