The inequity between Http Progressive Download and True Streaming
The online video delivery experience
When delivering online videos there are ordinarily two inescapable ways to do it. Http Progressive Download or Streaming. You may assume that all videos are streaming, but you'll be surprised to know that most aren't.
So what are these two methods? How do they differ? What are the advantages and disadvantages of both? Why would I want to use one recipe over another?
Progressive Download
All web servers are capable of progressive download. This is merely the recipe of a video file being delivered via Http to a browser. This is similar to person downloading a file from your website. In fact the video is delivered in the same manner that an image, a Css, a Js, Pdf, or any other file on your web site is.
The real divergence is that media players can begin to show the video while it's downloading. For example, a Flv file being delivered via Http Progressive download will begin to play in your Flash Player as soon as a limited bit of data is received by the browser. The same is true for Windows Media files. Quick Time will wait until the entire file is downloaded before it plays, unless the QuickTime player on the Pc/Mac is set for progressive play. So be rigorous when posting QuickTime videos.
It's quite inescapable when a video is being delivered via Http Progressive Download. You will typically see the limited status bar grow as the video downloads. You won't be able to move the scrubber button past the whole that has downloaded already. This makes it impossible to jump to the end of the video before that measure has downloaded. If you have a slow web server or limited bandwidth or the end user is on a slow Internet connection, then it's inherent for the end user to observation buffering.
Buffering occurs when the download can't stay ahead of video. The video will stop while it downloads more. If you pause the video and it allow to download a large portion, then you can watch the video uninterrupted. In either case, this is a poor end user experience, this is when you would reconsider using a Cdn.
There is a technology called Psuedo or Seek streaming. This recipe utilized Tcp/Ip Range Requests to allow the user to jump to any measure of the video and the player will make a range request of the file to download that portion. This recipe is commonly only for Flv videos and requires special services, or servers and convention Flash players to function.
When a video is delivered via Http, it is admittedly downloaded to the end users 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 person to steal your content.
Finally, if person only watches the first limited of your video but doesn't stop the download, the browser will download the whole file and you will pay for the delivery of the file even though the person didn't watch the whole thing.
Streaming Video
Streaming video requires entrance 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 commonly require licensing and may cost several thousands of dollars.
Some well known streaming protocols are Rtmp, Rtsp, and Mms.
When a video streams, it is being sent via Udp protocol to a player on the end users compter. The user will have the quality to fast transmit or rewind the video. The video isn't being downloaded to the end users computer so it is less likely that the content will be stolen. Also if the user only watches 5 minutes of a 30 limited video, then you only pay for the delivery of 5 minutes, not the whole video.
The biggest disadvantage of streaming over progressive download is if the user watches the same video over and over you will pay for the delivery of it each time. Videos are also streamed at what ever bit rate they are encoded at. Keep this in mind when creating Hd quality video. 8Mbps video may sound and look great, but most homes can't support an 8Mbps connection. If you have admittedly high bit rate video, reconsider delivering via Http.
Most web hosting providers or content Delivery Networks (Cdn) will have streaming media servers ready to use. Historically, Flash video was more expensive to deliver than other forms. Recently prices have compressed and you will find that it costs about the same to deliver Flash or Windows Media files. In the past I would have said if your video is more than 10 minutes in distance deliver it via Stream and less do progressive. Since prices have come down, I would reconsider streaming for any distance video since streaming typically begins to play faster than progressive.
If you are finding at using a aid such as a Cdn or Cloud Computing and they say you can stream your videos, confirm with their tech support that they are utilizing a streaming server and not just contribution bandwidth.
If you are delivering Flash videos, then you should be delivering via Rtmp or Rtmpe protocol for streaming and http for progressive. Windows Media uses either Mms or Rtsp. Quicktime and Real Media use Rtsp.
I hope you find this record of interest? This is a good guide to help you straight through deciding to use streaming delivery of videos or Http Progressive Download.
Top content Delivery Networks which support Streaming
* Limelight Networks
* EdgeCast Networks
* Cdnetworks
* Level3
* Akamai
No comments:
Post a Comment