Video Essentials

Streaming Vs. Progressive Download Vs. Adaptive Streaming


Jan Ozer is an online video expert, author, and a valued contributor to this site. We’re pleased to present this excerpt from his new book Video Compression for Flash, Apple Devices and HTML5.

It’s important to recognize that when you deliver video over the Internet, you have multiple options, including streaming, progressive download and adaptive streaming. Note that the mode you choose may have a significant impact on how you produce your files.

Streaming
Experientially, the concept of streaming means that when a viewer clicks the button on a website, the video starts playing immediately, and it continues to play more or less smoothly to the end. To make this happen, the data rate of the encoded file must be smaller than the bandwidth capacity of the remote viewer; otherwise, the video will frequently stop playing.

That’s the experiential definition of “streaming.” The technical definition of “streaming video” is video delivered via a streaming server, which is a software program that’s charged solely with delivering streaming media. This is in contrast with a traditional web server that runs all websites, and delivers all forms of web content, including HTML text, JPEG and GIF images, PDF files, and the like.

If you’re producing for a streaming server, understand that some servers have specific requirements for the streaming files that they deliver; for example, files delivered via the Apple streaming server must be “hinted” for streaming, which is a option available on most encoding programs that produce QuickTime video. In addition, some producers prefer to encode streaming video via constant bit rate (CBR) encoding, which I’ll define in the next chapter.

So when producing files for delivery via streaming, you should:

  • Encode at a data rate that’s comfortably below the connection bandwidth of most target viewers
  • Identify any specific requirements for files distributed via the streaming server
  • Consider encoding using CBR data rate control.

 

Progressive Download
The technical definition of “progressive download” is video delivered by a regular HTTP web server rather than a streaming server. In most instances, video delivered using this technique is stored on the viewer’s hard drive as it’s received, and then it’s played from the hard drive. In contrast, streaming video is usually not stored (also called cached) locally, so if the viewer can’t retrieve and play it in real time, he or she can’t play it smoothly at all.

Experientially, most files delivered via progressive download seem like streaming in that they begin to play once you click the button, and they continue smoothly until the end. For example, YouTube, ESPN and CNN all deliver without a streaming server. However, when delivering via progressive download, you can encode at higher rates than you could when delivering via streaming, because even if the data rate exceeds the viewer’s connection bandwidth, ultimately, it will reside on the viewer’s hard drive, from which it will play smoothly.

Note that one of the key reasons that producers use streaming servers is because once video is stored (or cached) on a hard drive, it’s very easy to copy. Streaming video can be cache-less, which makes it inherently more secure.

Again, as with files produced for streaming, note that some progressive download technologies also have specific requirements. For example, files delivered to the QuickTime Player must be encoded with the Fast Start option selected, while H.264 files distributed to the Flash Player must have the MOOV atom located at the start of the bit stream. Otherwise, using both technologies, the entire file must download before it starts playing. I talk more about both of these options in Chapter 5.

Finally, most producers who deliver via progressive download produce their files using variable bit rate (VBR) techniques, which I’ll also define next chapter, since it delivers the optimum blend of file size and quality.

To summarize, when producing for delivery via progressive download, you should

  • Choose a data rate that strikes a good balance between quality and waiting time
  • Adhere to any technology-specific requirements for progressive delivery
  • Consider encoding your files using VBR data rate control.

 

Adaptive Streaming
Adaptive streaming technologies encode multiple live or on-demand streams and switch them adaptively based upon changing line conditions and other variables. When the connection is good, the viewer gets a high-quality, high-data-rate stream, but if connection speed drops, the server will send a lower-data-rate file to ensure a continuous connection, albeit at lower quality. Adaptive streaming provides the best of all possible worlds: great quality-video for those with the connection speed to retrieve it (and the CPU required to play it back), and a passable-quality stream for those with Wi-Fi, mobile or other slow connections on lower-power devices.

There are multiple adaptive streaming alternatives today, including Adobe’s Dynamic Streaming, Apple’s HTTP Live Streaming and Microsoft’s Smooth Streaming. Chapter 7 provides more details regarding the various adaptive streaming technologies, and describes the optimal procedures for encoding for each technology.

Excerpted with permission from the publisher, Doceo Publishing, from Video Compression for Flash, Apple Devices and HTML5, by Jan Ozer. Copyright © 2011 by Jan Ozer.




Discussion

Comments for “Streaming Vs. Progressive Download Vs. Adaptive Streaming”

  1. As always Jan, great job. There are a lot of confusing definitions of “video streaming”

    Cheers,
    Dennis

    Posted by VideoXite Studio | May 17, 2011, 4:07 pm
  2. This is a topic we are currently wrestling with for our video email marketing software. We do a tri-transcode so our users videos will stream on PC, Mac, iPhone, iPad, Blackberry, and Android devices. To get the videos to stream near-instantaneously which is a necessity for video email, we use a 320×240 at 300kbps. This also gets us around the limitations of corporate T1s (shared connections in the walls of corporation). However, we want to upgrade to a higher resolution… instep the choice of how to do so…

    I feel adaptive bitrate is going to be phased our by improvements in connection speeds (i.e. wideband) and better compression. So investing in bit switching technology feels like a dead-end to me. What do you think?

    Posted by Will Franco aka Flywheel | May 18, 2011, 4:50 pm
    • Depends upon timeframe and investment cost, and of course, application. I think it will be awhile before we can all accept 2 mbps 720p on all our devices, a long while, so I think adaptive will be relevant for at least the next four or five years, particularly with legacy mobile devices. The additional cost is minimal in low volumes – just cue up another three or four presets in Squeeze or Episode.

      Not sure how it all fits together for email marketing but for general purpose use, adaptive should be a priority for all streaming producers and service providers.

      Just my $.02

      Jan

      Posted by Jan Ozer | May 19, 2011, 12:28 pm
  3. “Note that one of the key reasons that producers use streaming servers is because once video is stored (or cached) on a hard drive, it’s very easy to copy. Streaming video can be cache-less, which makes it inherently more secure.”

    I am curious. Can those video captured software still able to capture the video streamed via streaming server?

    Posted by Afatac | May 19, 2011, 12:20 am
    • Afatac:

      It depends. Look at it this way. Pretty much any capture program – like download helper – can grab progressive download video.

      If delivered via RTMP, or a different server-based protocol, it’s much harder to capture the stream, though several programs, which I won’t name, still can. So you’ve eliminated like 95% of casual would be purloiners.

      If you use an encryption technology like RTMPe, I don’t know of any program that can capture the stream, though I’m guessing there are one or two.

      From the publisher’s perspective, at worst, using a server eliminates non-technical copiers. At best, it makes it near impossible.

      Jan

      Posted by Jan Ozer | May 19, 2011, 12:33 pm
  4. A simple and great explanation for Progressive Download and Adaptive Streaming.

    Thanks for author and publisher.

    Posted by Mohan | August 6, 2011, 6:04 am
  5. Adaptive streaming is stupid. My connection is slow so what can I do to watch things in HD? Nothing because the stupid adaptive streaming does not want me to wait for hd.

    I am fine waiting for HD content to load but adaptive streaming forces me to watch in low quality.

    Posted by fanorm | November 15, 2012, 11:22 am
  6. Interesting. I see your point. For you, the YouTube style selection would be best.

    Jan

    Posted by Jan Ozer | November 15, 2012, 11:35 am
  7. Thank you for the article Jan – great information.

    I am streaming voice-quality wma’s and looking to move to mp3′s. I do not care about security, so it seems like I shouldn’t bother with streaming any more…. or is there a saving in bandwidth over progressive download?

    Thanks for your insights

    Posted by James | June 12, 2013, 1:46 pm
  8. Take a look at the video here.

    http://www.streaminglearningcenter.com/blogs/how-streaming-is-more-efficient-than-progressive-download.html

    depending upon how long your audio files are, there could be a big savings by streaming as opposed to progressive.

    Jan

    Posted by Jan Ozer | June 12, 2013, 2:17 pm
  9. Hi Jan
    The information was very helpful, thanks.
    Do you have any idea about how to test the multimedia files for performance testing?

    Posted by Damini | August 20, 2013, 5:07 am

Post a comment