Open Bug Base (Jira) + Flash Player = Happy Customer

A couple of months ago I ran into a pretty nasty bug with Flash Player 10. Turns out when using everybody’s favorite browser, IE, and playing back an MPEG4-AVC (h.264) file it was extremely easy to crash IE completely when seeking within the first couple of keyframes. I gnashed my teeth, dropped multiple f-bombs and threw 2 birds in the direction of San Francisco. Then, I hopped online, posted a bug report in the open Flash Player bug base and implemented a hack workaround.

Fast forward 2 months, a new version of Flash Player 10 gets pushed and I’m cruising the Flash Player release notes, because, you know, that’s what an ultra cool nerd like me does on a Tuesday night. What do I find? That’s right, Tinic and friends fixed that nasty little bug that had me cursing their mothers and sticking voodoo needles in a Chumby. Great Scott, Batman–this open bugbase stuff actually works. Congrats FP team, if you lived close I’d show you some serious man-love and buy you a midwest beer (you know the 22oz kind).

Flash Player 10 MPEG4-AVC seek bug fixed

ThumbGenie 1.1.0 Now Generates Embed Code

I updated ThumbGenie over the weekend to support generation of embed code. Now, every time you create a thumbnail from an MPEG4-AVC file or SWF embed code will be generated. ThumbGenie ships with a default “object / embed” code template, but you can easily modify or replace the template with your own code. (more…)

The HTML 5 Hype Machine = Big Web Video Lie

I’m not sure I’m going to be able to survive all of the hype and misinformation surrounding HTML 5 video.

HTML5

No mention of the 800 lbs. gorilla–codec licensing and royalties. Who is paying for all of this plugin killing? Are we relying on “proprietary” OS vendors such as Apple and Microsoft to provide a common set of codecs and foot the bill (where’s the gain in that)? What about open source solutions like FreeBSD, Linux and Open Solaris? Oh and there’s this little thing called mobile–given its ascendancy it might be the major player in this market by the time HTML 5 comes along. And you guessed it–that means some sort of standard set of codecs will need to be on all of these devices before the HTML 5 video tag means much of anything.

While we’re at it I should mention that HTML 5 developers will need a whole slew of low level media APIs that allow them to build interesting media centric functionality into their widgets and web applications. I mean, you want all those fancy playback controls, tagging ratings, searching, etc., right?

Get all of this squared away and maybe you could talk about the death of web plugins (hell, existing plugin vendors are probably more afraid of new plugins than they are of HTML 5).

Gulp, looks like the folks at Wired don’t really know what they’re talking about.

F4V Does Not Support Cue Points

Despite appearances…

misleading cue point ui

F4V files (otherwise known as MPEG4-AVC / h.264 + a special Flash only file extension) DO NOT SUPPORT CUE POINTS. Unfortunately, no good tooling support for timed text tracks replaces them.

F4V Cue Points Knowledge Base Article

No Cue Points for F4V

F4V is Retarded

Why F4V is the wrong decision:

  • Destroys one of the great promises of MPEG4-AVC / h.264–interoperability.
  • No single file deployment (closely tied to interoperability). I certainly imagine a world where a single piece of media can be posted on the web, downloaded and played back through Flash Player, iPhone / iPod, QuickTime, Apple TV, etc. Gone should be the days of providing different files for different browsers, plugins or mobile devices.
  • Effectively reduces the usefulness the existing MPEG4-AVC / h.264 ecosystem. The MPEG4 spec urges .mp4 be used as the file extension and many vendors just refuse to work with something that has a different file extension.
  • You lose out on much of the existing intelligent rss enclosure handling. Blogging platforms and plugins will recognize the .mp4 extension and auto-generate enclosures (very useful for delivering to feed readers and mobile devices).
  • F4V just muddles the codec picture even more. Take a look at any of the encoder dialogs in CS4 and you’ll see a confusing slew of options (flv, f4v, h.264, h.264 blu-ray, etc.). Hell, I even heard an instructor in one of the MAX hands on sessions, urge students to steer clear of h.264 encodings since that was just HD / blu-ray stuff. He actually was pushing flv (pretty bizarre for an AfterEffects class).

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

  • Apple did it (M4V). Yep, Apple screwed the pooch as well.
  • It’s easy to associate file extensions with default application handlers (i.e. AMP is the default media player for *.flv and *.f4v files).
  • Allows for a unique mime-type (Flash Player gets associated with a specific file type on servers).
  • OS file choosers allow filtering by extension.
  • F4V clearly establishes a file as compatible with the parts of the MPEG4 spec supported by Flash Player. This has the obvious advantage of visual associations / assumptions and might assist descriptions in documentation and marketing.

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.