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.
I agree that H.264 video support in Flash would enable the easy creation of a HUGE amount of flash video players to emerge, which could play both formats (FLV and H.264).
ReplyDeleteFLV support in the forthcoming Flash Lite 3.0 for mobiles will be interesting, but I'm sure many people will argue that many smartphones already come with H.264 support (many with recording too).
Maybe if QuickTime fixed/updated their crappy support for Flash tracks and also rejuvented their SMIL suppport - RealPlayer is still the best SMIL player (imho: having built a SMIL publishing system years ago)
SMIL enable(d/s) us to orchestrate text, audio, images, flash and video using a simple XML format.
The potential for this was HUGE. Now we only see SMIL (Basic) in sych things as Picture text messaging to create 'cute' slideshows.
Good SMIL support with up to date Flash track support by Quicktime would be their best move.
It's win-win. :)
Kosso
twitter.com/kosso
Sorry... *rub eyes* (late night coding) - I just noticed the date of this post.
ReplyDeleteSo, you were saying in your 'Tweet' that Flash *have* added H.264 support?
http://twitter.com/kevinmarks/statuses/217645342
I really should read the news, before my twitterfolk in the morning ;)
http://www.techmeme.com/070821/p3#a070821p3
Kosso
twitter.com/kosso
jamshid: liked this.
ReplyDeletevia twitter.com
Andrew Walters: RT @kevinmarks: Previously:epeus.blogspot.com/2006/10/five-p… epeus.blogspot.com/2006/10/how-co… twitter.com/CommitStrip/st…
ReplyDeletevia twitter.com
Lauren Buchman: mentioned this in @kevinmarks Well, I've found a....
ReplyDeletevia twitter.com
Kevin Marks: mentioned this in @LaurenJBuchman the only flash....
ReplyDeletevia twitter.com