Streaming Videos vs. Progressive Downloads - S3 Media Vault - WordPress Plugin for Amazon S3 and CloudFront That Provides a S3 Audio Player and a S3 Video Player

Streaming Videos vs. Progressive Downloads

By Ravi Jayagopal | S3MediaVault

"Streaming": A Misused Word

Some use the word "Streaming" to describe any video that's playing in their browser.

But just because you are watching a video online, doesn't mean it is being "Streamed". Maybe true in the general meaning of the word, but not true in the technical sense. Let me explain, because it might not be of relevance to regular folks, but it is highly relevant to digital content creators.

Progressive Downloads

Regular videos - aka “progressive download” videos - are progressively (aka continuously) downloaded to the viewer’s browser first, even if the video has been paused. And that's why using plugins like Video Downloader and Video Downloader will let you download the video you’re watching.

But as a creator, progressive download videos can increase your bandwidth costs to deliver that video. That's because, as soon as the viewer hits "Play" on the video, the video starts to download to their computer (in whatever the "temp" folder of the browser is, where it stores all temporary internet files).

And then, even if the viewer clicked "Pause" right after they clicked "Play", the video will still continue to download all the way until it is completely downloaded. So if it's a big file, then the entire file of tens- or hundreds of MB's of data is downloaded to their device first (whether it's their computer or mobile device). And regardless of whether they end up watching a few seconds video or a few minutes of the video, the video was downloaded in full to their device.

That means, the video provider (your S3 account) ended up delivering the entire video, even though they may or may not watch it, or only watch it partially.

So more bandwidth cost for you, the creator. And for the viewer as well, their internet bandwidth is used to download the full video, even though they may or may not watch it, or just watch it partially. So more bandwidth costs for your viewer as well. And especially more so if they're on a mobile device and are using their data and have a limited data plan.

Streaming Video

And that's where "Streaming Video" is much more beneficial to everyone involved - well, almost to everyone involved, which I'll explain in a minute. And that's because with streaming video, the video is delivered as a "download as you watch" stream of data. The web service Amazon MediaConvert converts the single .mp4 file into a number of smaller chunks of file "segments" which have the extension ".ts". 

There could be tens or hundreds or thousands of such segments depending on how long the video is. And those segments are delivered one by one to the viewer's device, as they continue to watch the video. But if the viewer hits Pause on the video player, then the segments will stop being downloaded.

So only the bare-minimum amount of video data is delivered to the viewer, as need, as they continue to watch. And that ends up saving you - the provider - money in terms of bandwidth costs; and also reduces the viewer's data usage as the consumer.

Downsides of Streaming Video

But there are two small downsides to streaming:

1) It costs a bit more in terms of your AWS bill, because to create a streaming video, you need to use Amazon MediaConvert, a cloud-based service that can take a .mp4 file and convert it into streaming "segments" (but it's a one-time cost).

2) If some of your audience are from countries where they have slow or poor internet access, streaming videos will be almost unwatchable to them, because their internet access will never be fast enough to download the video "segments" fast enough for them to continue watching normally. And may result in the video freezing up every few seconds while the downloading of the segments catches up to their viewing. But with progressive downloads, those who have poor internet access speeds, will be able to hit Play on the video, then hit Pause, and come back in however long, and the video would continue to download the whole time they're away from their device, because that's what progressively downloading means. But you can't do that with streaming where you can Play, Pause and come back later to a fully downloaded video, because the video doesn't download full with streaming.

So if you deliver your videos as regular "progressive downloads", you need just Amazon S3, and you get possibly (slightly) higher bandwidth costs because the video is fully downloaded to the viewer's device regardless of how much of it they watch.

And if you deliver them as "streaming videos", then you'll need S3 + CloudFront + MediaConvert. So the addition of CloudFront and MediaConvert increases your costs slightly, but you could also end up saving a little bit on the bandwidth costs, because only as much of the video is necessary, is delivered to the viewer's device.

Which is more secure? Streaming or Progressive Downloads?

Using S3MediaVault, you can create both progressive download videos as well as true-streaming videos that cannot be downloaded. So you don't necessarily have to use CloudFront to create secure videos, audio, PDF etc. You can do it using just S3 alone.

So media files created by using both S3 and CloudFront are both extremely secure - the links to the videos (audio/pdf/etc) are expiring links, and are generated afresh every time the page on your website loads (which has the S3MediaVault shortcode).

And only that page can generate those links to those videos (audio/pdf/etc), and trying to share the link to the video on Amazon S3 will not work.

However, Streaming Videos are the most secure - because they are streamed in real-time, in bits and pieces, to the viewer’s browser. That means plugins like Video Downloader, Video DownloadHelper and even the most popular video downloading software Internet Download Manager won’t be able download your video (their only option is to record their screen to make a copy).

So here's the bottom-line:

  • Both Streaming Videos (created with CloudFront) and Standard Progressive Download Videos (created with S3 alone) created by S3MediaVault are very secure.
  • Standard Videos (progressive downloads) could be downloaded using third-party browser plugins like Video Downloader, Video DownloadHelper and Internet Download Manager, even if you do not provide a "Download" link to your video on the page. Of course, your viewer has to know about such plugins and should want to download them in the first place. But the bottom-line is, even if they can't share the link with others, they can still download the Video and Audio to their computer.
  • Streaming videos created by S3MediaVault are the most secure because they CANNOT be downloaded using third-party browser plugins like Video Downloader, Video DownloadHelper and Internet Download Manager.
  • We recommend that you allow your members to download the videos and audio they've paid for, because that way, they can watch it offline, without having to use their internet bandwidth.
  • But if for some reason, if you think there's a lot of piracy in your niche and that your members are more prone to illegally downloading and sharing videos with other unauthorized people, then use Streaming Videos and Audio (S3MediaVault can stream both video and audio).

S3MediaVault uses Amazon AWS MediaConvert service to create the streaming version of your mp4 and mp3 and then delivers that to your viewer, and makes it really easy and manage everything from within WordPress without having to log in to AWS or know any of the technical stuff behind creating a streaming video.


About the Author

Ravi Jayagopal is a Business Coach, 8-time Author, Speaker, Podcaster, Entrepreneur, Digital Marketer, WordPress Developer and also an Amateur Ventriloquist :-). Read more about him at

Leave a Comment:

Leave a Comment: