John Dowdell graciously responded to my attack on Flash video, asking for more solid points, which is fair enough - I did rather assume that Flash video's flaws are self-evident. This post is adapted from our conversation in his comments.
First of all, let me say that Flash gets one big thing right, which is unobtrusive ubiquity. Tom Green's history is spot on about the stupidly self-destructive things that Real, QuickTime and Microsoft have done to get in your way when you want to watch video, from DRM to pop-up ads to pointless upgrade messages that don't upgrade anything. Flash started with a ubiquitous vector graphics player, and added audio as mp3, and video too, without inserting noxious upgrade messages in the way.
I'm not saying making computers play video is easy — I've lost enough nights and weekends to synchronisation and graphical representation bugs to know — but there are some egregious things wrong with FLV:
Flash frequently drops sync
In particular, if I switch focus away from the browser on my Mac, the video framerate drops to a crawl, then plays catch-up when I click back.
Dowdell puts this down to browser issues, but QuickTime handles these through a shared process on Windows - it is fixable, though takes some work.
Native video integration is weak
Scaling video always looks pixellated, and the black/white points and gamma mapping is off so it often looks washed out. (Yes, this is tricky, but it is a known problem too - here's some QuickTime notes from 2000).
Proprietary old codecs
FLV uses proprietary codecs that are well behind the state of the art, giving a bottleneck of encoding choices. Most Flash Video is encoded to the old Sorenson Spark codec (which is effectively H263 - a standard but a ten-year-old one).
Macromedia considered H264, but likely rejected it on legacy support as it is CPU intensive. The big mistake was adopting ON2 VP6 instead of MPEG4 main profile. MPEG4 has benefited from multiple encoding tools and playback clients, their codec requires proprietary encoders. If Macromedia/Adobe can adopt MPEG4 main profile in the next Flash release, great. H264 would be even better, but staying a generation behind is arguably reasonable, given CPU requirements.
Lack of editability
QuickTime was always designed with editing in mind. Apple have foolishly buried this feature, but it is there, and one advantage of MPEG4 video is that you can bring it into QuickTime, edit it, and flatten it out again without recompression. Getting video out of Flash again is a pain (some tools do it, generally with recompression).
I don't think QuickTime is the ultimate answer either, and I don't want this to become a pissing contest over individual platforms. What I want is some open standards support.
Dowdell worries about commoditization, but that is exactly what I want. If MPEG4 video playback can become a commodity, as MP3 audio is, the market can move on to compete on other grounds. Look how many Flash-based mp3 players there are out there.
Technorati Tags: Flash, QuickTime, video