A recent post on Jeff Pulver’s blog and my own recent review of the DivX web video system got me thinking again about the future of video delivery on the Internet.
As Jeff points out, there are a lot of companies working on various proprietary systems for delivering video over the net. Each claims ‘the best quality’ or ‘best platform’, and all are working hard to find buyers. In my personal opinion, all of these systems will ultimately fail.
The winner in this game will undoubtedly be Flash video.
There are only two factors that ultimately determine the quality of video you can watch over the Internet – the speed of your Internet connection, and the processing power of your computer. Everything else is just software, and fairly routine software these days.
The relevant bit of the software, and the only part where companies can really differentiate themselves, is the compression system (or algorithm) used to squeeze the video data before sending it to you. The smaller it can be squeezed, the bigger and better the picture you can watch, basically.
All Internet video uses some form of compression. Examples include H.264 (used by Apple in Quicktime), On2 VP6 (used in Flash), Sorenson video, etc.
There are always better compression systems around the corner, new ones come along all the time. But the important factor that most people don’t realize, is that much better compression algorithms already exist. They just need supercomputers to run them.
It turns out that the ‘very best’, is way ahead of what we can practically use on our computers right now. And this ‘power gap’ has existed since compression was first invented. Ask any mathematician.
Basically there is a gap between what our best scientific minds can dream up in the way of compression algorithms, and what the computer sitting on our desks can actually do. These are running on lab supercomputers far away from our prying eyes. But as our computers get faster, the quality of the video we will be able to watch will get better. And while this will ultimately benefit all the companies providing video streaming systems, it will benefit one company most of all – the upstart incumbent… Flash.
Flash is installed on an insanely high percentage of computers, and people are generally very good when it comes to upgrading it to new versions. According to the server stats on a general interest site of mine, 83% of people have Flash 8 installed – the last major upgrade. On WorldTV.com, that rises to 90%.
But Flash video is terrible quality I hear you say? Isn’t that what they use on YouTube?
Absolutely. But the video quality on YouTube and Google Video has nothing to do with the capabilities of Flash video. Both YouTube and Google deliberately constrain the picture quality and size, so that the widest possible number of users can access it.
To demonstrate what I mean, I have put together a demo of some very high processor requirement Flash video. It’s a first effort, but hopefully will demonstrate what I mean.
You will need a fast computer (without it you will get stuttering), and there will be some download time for most people. But imagine you have a connection speed 4 times as fast (commonplace in the next year say) and you’ll start to see where things are going.
The source video itself is a promotional reel from the BBC’s high definition archive. Since I do not have access to any kind of master, just a previously compressed quicktime video on the Internet, the picture quality of the demo is actually nowhere near what could theoretically be achieved. For a better example of ultra high quality picture detail, try the DVLabs flash demo.
Basically I wanted to try something a little larger than the DVLabs sample, approaching high definition dimensions, and with a much higher data rate. For techies, the bitrate of this demo is 4096 kbits/per second, or 4 times that of the DVLabs sample. It’s around the theoretical maximum speed of a 4meg DSL connection (what you would need to watch the video without any pause at the beginning). I also wanted to put the video on its own unframed page to give it a more TV like feel.
As you will see, the quality and size is very good. And the only thing stopping the likes of YouTube and Google Video from doing this now, is the two things I said at the beginning – processor power and the speed of the average broadband connection – two things we know are going to improve.
But back to my feelings about Flash briefly. Any proprietary system cannot possible hope to displace an incumbent when the incumbent offers the same or similar functionality. Flash just needs to ‘swap in’ a new compression algorithm whenever they feel like it, and maintain the parity with any new fancy algorithms that come along. If they are smart they’ll change the upgrade process to make it even easier or automatic in future.
Try out the VX30 Streaming Codec. It’s based on Java Run Time with an installed base of 94% what’s even more than Flash.
It won the streaming technology comparission in a study of the University Indianapolis.
maybe not yet in HD quality, but the guys of http://www.fabchannel.com have pretty well translated the better idea of video applications on their site in … Flash!
It’s really anoying uploading megabytes of material, only to have it ruined by google & youtube, How is anyone supposed to make any money from this, as people are just left with the impression it’s not worth buying. Just a quick fix, but the Flash stuff here and there does look great. I have loads of HD footage. I want to start using these higher rates, http://johnvid.Blip.TV holds my files in the highest resolution so far. I will have to try uploading H-Rez Flash to see if it can cope with that.
Google and YouTube will downsample any flash video you upload, and are potentially resampling all flash video that’s being uploaded, but I’ve still not yet found what the optimum settings are.
I did some tests (eg. watch?v=3x72rFy1YmU) with some Ashes footage, and was reasonably happy with the results.
I’ll check out your stuff.
On my Linux box the video did not play at all and only sound came through. Watching the system monitor did show 30% processor activity when the video was played.
I am currently working on a compression routine and rather than needing a better processor I require more free memory for the routine to operate successful.
I understand that the limitations of current computers restrict the programmer to realise some of their electric dreams and at the same time teach them to improve their programming skills to write tighter code.
Your content and blog is very impressive as it clears up lots of questions I have regarding YouTube. We are trying to find the best codec settings for our music videos but so far this is the best we can do keeping the sound in sync:
We need YouTube to promote our music artists as it is a great tool.
Thank you for your blog and we will keep trying to find that magic setting for our future videos.
Any advice would be very much appreciated.