Understanding high quality Flash Video
Flash video gets a bad rap.
Proponents of Quicktime, Windows Media and Java based video often point out the superior quality of those systems, and many in the industry still genuinely believe that Flash video has intrinsically poor picture quality.
This simply isn't true.
The reason this myth is perpetuated is due mainly to YouTube, the site that is the poster child for Flash video and unfortunately contains some very poor picture quality videos.
This isn't actually YouTube's fault, you can upload extremely high quality video to YouTube if you know what you are doing, but the vast majority of users don't do this.
It's simply the case that most videos uploaded to YouTube have been poorly converted from other formats, and YouTube's processing and file size limitations can get in the way too.
So what is the highest quality you can get with flash video?
In theory, there is no limit, Adobe can introduce new higher quality compression codecs whenever they like, and with infinite bitrate available in theory, you can have infinite quality. In practice however you are limited by two constraining factors - Internet bandwidth and computer processor power.
Anyone who has ever encoded a video file for web delivery will be familiar with the issue of bandwidth. You can create a great looking video (with a high bitrate), but your viewers won't have enough bandwidth to watch it in real-time - it will stop and start. But what if I told you that frequently stuttering video is not always due to insufficient bandwidth?
I've written about the relevance of computer processor power to web video before, but it is worth revisiting. Decompressing web video requires a significant amount of computer processing horsepower to do its work. If the web video is high bitrate (say above 750kbps), it doesn't matter if it's Quicktime or Flash or Urdu, your computer will have its work cut out to decode and display it back to you in real-time.
Note that it is the speed of the computer your viewers are using to watch the video, and not the computer you encoded it on that is relevant here. You can take as much time as you like over the encoding, use a 50mhz 486 if you wish, but your viewer must be able to decode it in real-time, and this requires horsepower.
So the next time you see stuttering video, flash or otherwise, don't always assume it is a lack of bandwidth. It's equally likely to be processor power that is causing the problem.
(In my next article on this subject I will explore the issue of high quality Flash video further and show you how to upload very high quality clips to YouTube. The techniques can also be used for other video sharing sites.)
ExamplesIf you want to try out this issue of processor power, we have a super high bitrate Flash video which will push your processor to the limit. It comes with a pre-loader to ensure that no matter what speed of connection you have, the playback should still be consistent. This means that if you do get stuttering, the problem is almost certainly processor power (or lack thereof)!
If you've enjoyed this post you can receive future musings, as I write them, via email. I post about once a
week year on average. More techy folk might prefer to subscribe to my RSS feed and I'd be delighted if you do. I'm rather more active on Twitter, have a few pictures up on Flickr, and I tend to keep track of people on LinkedIn and reluctantly so on Facebook. My day job is running WorldTV.com - a site for doing cool things with online video.