With CloudFront, you can stream your own audio and video without using any code or installing complicated server software. CloudFront is an Amazon service which works in conjunction with your S3 Amazon account (S3 AWS).
What the service basically did so far was to serve content from your S3 account to the closest server in the area of the end user. So, let’s say, you are in the US and you put your videos on the US server of S3 Amazon, a visitor from Great Britain will automatically get a copy of your video via the U.K. server.
As a result, the video downloads quicker then it would from the US server. It doesn’t make a world of difference, but a couple of seconds won is definitely and advantage. Visitors are generally quite impatient and a couple of seconds might be a decisive factor to stay or move on.
To CloudFront or not to CloudFront
The disadvantage I found so far regarding CloudFront was that all files had to be made public. Since you can make media files private with S3 AWS on its own, I reckoned that CloudFront was not interesting for rich media. After all, public videos can be placed on YouTube, it doesn’t cost you anything and it goes viral. So, why incurring the extra cost? While S3 can be used for private video and audio (see also: S3 Amazon: Expiring URLs). However, my misgivings about CloudFront evaporated suddenly:
I read about the streaming feature which was implemented in December 2009, but the documentation on S3 Amazon can be confusing at times and it looked like you had to install Adobe Flash Server Software, which is expensive and complicated to install and use.
What I did not realize: there is no need to install streaming server software at all. All you actually have to install is a Flash Player, like JW Media Player, or Flow Player. Not knowing that, I ignored this feature as something for the bigger boys with lots of money to spend, until I bumped into and article by CloudBerryLab: How to configure CloudFront Streaming with CloudBerry S3 Explorer. It explains how to use CloudBerry Explorer to implement streaming, and I thought, OK, let’s give it a try, and it worked like a charm!
What are the advantages of streaming?
Streaming video, as opposed to progressive download, does not need to be downloaded before it plays. It almost plays immediately(5-8sec.) and you can jump further up in the time line, which is impossible on progressive downloads. YouTube uses progressive download and jumping halfway a movie means waiting and waiting until half of the movie is downloaded. You can avoid that with streaming.
With streaming, jumping in the timeline it will not play instantly but let’s say within 5 to 8 seconds depending on the size of the video and your connection.
This is especially useful if you viewed the video once already and just want to review that part in the middle again. Secondly, streaming video or audio is not downloaded on the computer of the end user. You serve it bit-by-bit. So, it becomes harder to make a copy of the media and distribute it.
NOTE: I said harder, not impossible. There is software around that can download streams, but at least you stop most people from distributing your content without your consent.
Regarding waiting for content to show up the first time, it is a close call. Streaming appears to be a bit faster starting up, but only marginally. Jumping ahead goes a lot quicker with streaming video, this is especially advantageous with longer videos of 10 minutes and more. In fact, with longer videos, streaming is a clear winner because no one has the patience to wait before a video is completely downloaded to jump ahead.
Streaming has other advantages as well but they are beyond the scope of this article.
Progressive download is quicker when you jump back to previous parts. And when the video is completely downloaded, jumping to any part is faster too. Thanks to CloudFront, downloading is quicker, so with short videos, or audios that need to repeat (loop), progressive download is actually better.
CloudFront gives an improvement on both progressive download and streaming. If speed is important to you, and given the fact that streaming is an included bonus with CloudFront, you might want to consider signing up for it. If you have already a S3 account, signing up for CloudFront is easy:
How much does it cost?
You have the regular costs from your S3 account (you must keep that account to contain the original files), and on top of that the CloudFront service. As usual, you pay for the bandwidth used. The pricing is more or less the same as with S3 itself, so in theory you can count on it that you pay more or less double of what you pay now. However, and this is a big advantage of streaming; not everyone will play your video or audio until the end, so you won’t be charged the full download every time the visitor clicks the media. This will compensate for the added cost. In how far is difficult to say, though.
If you have instructional videos, you will get returning visitors only wanting to review part of the video again, while with entertainment media, you can expect people to play it in full nearly every time. Here is the current pricing for CloudFront.
For most bloggers , artists and entrepreneurs, costs will be minimal, a few dollars monthly. However, to give you an idea what to expect: There was an example in the Amazon forum of a guy using S3 AWS who had a peak of 738GB and that costed him about $340. For this amount, you can show a video of 50mb 15,160 times, or 3 videos of 25MB 10,106 times each.
Using CloudFront and streaming the video in this case would probably cost around $680 because he would consume 1,400 GB or there about. This is a rough estimate, of course. It’s probably a bit cheaper. Does that sound a lot to you? Well, if you would use AudioAcrobat or Bits-on-the-run, you would pay a lot more!
As I said in previous articles, if you are strapped for money and you are sure your video is going to be a smashing success, you have 2 options: either play it safe and put the stuff on YouTube or monetize your video in some way, using ads, paid membership or whatever.