Progressive download – streaming?
Jul/090
Http streaming or as it is better known – progressive download, which has been developed as a marketing term by Macromedia as the “poor man’s streaming solution” for their Flash platform. Progressive download is available from Flash 7 onwards and in essence means a “play-as-you-download” method, that works with standard http web servers. The concept is not invented by Macromedia though, as it has existed for some time with the development of streamable file formats.
Progressive download streaming is achieved by downloading a file “progressively” i.e. from the start onwards up to the end and playing it. FlashVideo(FLV) is a streamable file format as the packets of video data are defined in a “row”(or queue) and can be interpreted one by one, without a need to read all the packets to the end first. As a result progressive streaming provides a similar experience to true media server streaming, but without the need of a media server.
Macromedia needed an easy to implement and low cost solution to popularize video in the flash platform and adopted this simple concept. As a result – BOOM and now we’ve got YouTube and a web that has video about everywhere. Progressive download concept powers from the smallest sites self hosting their video to the busiest sites on the planet like YouTube and Yahoo.
Many experts (mostly Microsoft in order to make MMS stand out) claimed that progressive download is not streaming. In the purest sense of technology this is true, since it really is a download and there is no random access capability. However on a higher level and for most users it really is the same thing and even has some benefits. When people say “streaming” today, they mean “watching video online” and don’t really care how exactly this happens.
Pros of progressive download vs. true streaming
- Very easy to do in it’s basics.
- No special software or hardware required.
- Robust technology. You can still watch a video even if you have to wait a while to download it.
- Relatively easy to scale.
- WYSIWYG – You see the video as it has been created, no bandwidth magic or skipped frames.
- Easy to move to a video hosting service if needed.
Cons of progressive download vs. true streaming
- Cannot broadcast a live feed.
- Cannot access random parts of the video before the file is downloaded up to that part.
- Cannot dynamically switch bandwidth during playback to compensate for bad connections.
There is also a hack to progressive download called PHP Streaming. PHP streaming solves lack of random access by injecting additional data to the FLV file which represents the offset in the file of each video frame(keyframe actually). This allows a server script to read the file from a given frame instead of the beginning. As a result you can get similar functionality to true streaming while still using http infrastructure. PHP is the most popular server side scripting language today hense the name “PHP streaming”.
No comments yet.
Leave a comment
No trackbacks yet.
