Why F4V is the wrong decision:
I’m not trying to be a jerk, there are definite reasons Adobe may have chosen to use F4V:

I guess I feel like there should be some sort of primary directive: “thou shalt not damage interoperability.” Any time you’re thinking of messing with the spec it should be examined through this lens. As valid as some of the reasoning for using F4V is, it fails, IMHO, when compared to the primary directive.
I spent a little time checking out (high level) JavaFX multimedia capabilities. You can actually boil Sun’s entire JavaFX campaign down to a single 1 second sound bite (watch video excerpt below – full video found here).
According to Sun, they have the full support of any multimedia codecs installed on the native system as well as an on2 codec embedded within the runtime (see video quote below to hear their words for yourself).
Native codec support is sort of a mixed bag of control vs utility. JavaFX wants to do everything for every system even if that means you are effectively writing system specific code and delivering uneven experiences. If you manage to actually get the JavaFX runtime installed (no mean feat) you’ll be confronted by a wonderful security dialog which seems to ignore attempts to always trust the cert.

Once you’ve run the gauntlet of JavaFX impediments, you can actually watch some “native” (h.264 .mov files) overview videos playing inside JavaFX. The problem is that the rendering of these videos is far from native–any scrolling or resizing of the browser causes the video to stop rendering (a white rectangle is painted during these movements). I’m also surprised to see Sun using MPEG4-AVC / h.264, but not using aac audio. If you’ve got native codec support why use a crappy audio codec in your videos? The video below illustrates the rendering and audio issues (3 asides: 1) I’m bound and determined to ruin AfterEffects cartoon effect–look for me to overuse it and misapply it, 2) watch in fullscreen mode for 1:1 clarity, and 3) listen half way through to hear one of my kittens snoring).
If you ever wanted evidence of how important video is today, you need look no further than than the gigantic amounts of money Adobe, Microsoft and Sun are sinking into media centric runtimes. Like Silverlight 1.0, the initial JavaFX offering is a half-baked “me too” stab at capturing some video glory. Sure media has been a glaring hole for Java and I can appreciate how all the development platforms in the universe need to provide easier development and enable richer experiences, but so far I’ve been disappointed by the same ol’, same ol’ offerings from Microsoft and Sun. I’m sorry, but “hey look at the same stuff on my platform” isn’t innovative or visionary. As we watch Detroit’s “big three” burn out, I wonder if there aren’t lessons to be learned in our own industry as the nascent “media three” rise (maybe it should be w3m–web three media).
I was testing some MPEG4-AVC playback code the other day and ran into a Flash Player runtime exception I hadn’t ever seen before:

Hmph. An onXMPData callback–that piqued my interest. I’ve long been a fan of metadata and XMP in particular (it takes a special type of nerd to have the meta love), so when I saw this error the wheels began to turn immediately. I had been testing a lot of video files lately, but this particular piece of content was created with After Effects CS4. This made me think that the long and slow roll out of XMP into the Adobe suite was finally here and I wanted to know what exactly they were doing.
I’ve done quite a bit of research on MPEG4-AVC / h.264 over the last year, but one thing that always seemed to bug me was that I couldn’t seem to find a freely available version of the spec anywhere. I’d hoped to find something on the ISO site, and I did, but it they’re charging for the pdf. Now in my book paying cash to read a spec stinks, seems contrary to the purpose of a standard and, well, just isn’t something I’m going to do, so I just slid by soaking up crumbs where I could find them.
To be fair there’s little chance I’ll actually understand the spec, so crumbs are probably appropriate. Reading level aside, I thought I was SOL until stumbling onto a link to the spec at the ITU-T site. For those who aren’t aware the MPEG4-AVC (ISO) / h.264 (ITU-T) spec was jointly developed by the ITU-T and ISO/IEC Moving Picture Experts Group. The result is the exact same spec with different names (MPEG4 Part 10 / AVC vs. h.264) and, it turns out, completely different policies on whether to charge for the spec.
Now that we’ve cleared that up, I can get back to blankly staring at the spec until sleep or ADD overwhelms me.