Top Flash Misperceptions : H.264 Video is going to kill Flash
For today’s myth, I want to cover one that has its roots in some fundamental misunderstandings around video technologies. That is the idea that H.264 Video (deployed via the HTML5 video tag) will kill Flash. This is a more recent meme, which has spread with the growing awareness of the forthcoming HTML5, but is unfortunately based on some fundamental misunderstandings about Flash, video capabilities, and the web in general.
First, we need to clarify a few things. H.264 is a video codec and not a player. It is a way to encode video. In order to view an H.264 encoded video, an end user must load it into a player such as running in Flash Player, Quicktime or VLC. Flash Player is a full featured multimedia runtime which supports a wide range of multimedia formats including H.264 (as well as other video codecs). Developers can create Flash content that can load and play H.264 encoded video (as YouTube does).
Since Flash Player is a multimedia runtime and H.264 is a video codec, it should be clear that one cannot replace the other. In other words, video is just one thing that Flash Player is used for. Other Flash Player uses include rich internet applications, web-based gaming, multimedia content, and rich branding experiences.
The current draft of the HTML5 specification includes a video tag, which promises to allow developers to deploy video on the web without having to use Flash Player (or another runtime). Indeed, a number of browsers have already begun to implement the tag. You could argue that the HTML5 video tag in conjunction with H.264 could replace Flash as the primary means for delivery of video on the web.
However, It is important to note that browser vendors have not agreed on a single codec to support for the HTML5 video tag. So, while Safari, Chrome and (eventually) Internet Explorer will be supporting H.264, Mozilla has made it clear that it will not be able to add support for H.264 to Firefox due to patent and licensing restrictions. Firefox thus leverages the Ogg Theora codec for HTML5 video, which is believed by many to be free of patent issues. Regardless, lets assume that browser vendors eventually agree on a single codec (perhaps a new one).
UPDATED : March 1, 2011 : Google has announced that it will be removing support for the H.264 codec from Google Chrome.
Even if browser vendors were to agree on a single codec to support, Flash Player will continue to play a major role in video on the web for several reasons.
In the short term (next year), it is a no brainer. The vast majority of video on the web is viewed via Flash Player, and while that lead may eventually erode, no one is arguing that Flash Player based video will go away in the next year. Even though use use of H.264 video is growing, much (if not most) of that video is still viewed via Flash Player.
In the medium term (2 – 5 years), the HTML5 video tag will still not replace Flash. The browser used by the majority of users, Internet Explorer does not currently support the video tag (although they have announced support in IE 9), and thus the recommended best practice for deploying video via the HTML5 video tag, is to also deploy it via Flash Player to ensure that users in all browsers can view it.
It takes a long time for users to abandon older browsers. For example, of the users that visit Wikipedia, 21% still use Internet Explorer 6 which was released in 2001! Given how long it takes old browsers to go out of use, Flash will continue to help enable video to be delivered reliably across browsers and platforms (at least as a fallback).
Furthermore, as opposed to Flash Player, browsers do not have consistent support for some of the more advanced video features. These include functionality such as streaming, adaptive bitrate delivery, and content protection. I expect that eventually some if not all of these features will be supported within (at least some) browsers. However, as was discussed above, the slow pace that users update their web browser will ensure that Flash Player will still be needed to be used to deliver video.
In the long run, you could argue that eventually browsers will have more complete support for video and that those browsers will be used by enough users, that content providers could justify no longer using Flash for video. However, I believe that this is wrong as it assumes that Flash Player and the video industry will not continue to innovate and add new features and functionality around video that developers and users will want to take advantage of. i.e. that Flash video will not evolve from its current state.
If history is any indicator, this is an incorrect assumption. On average, from the time a new version of Flash Player is released, it takes 12 – 18 months for it to reach about 95% of users (Flash Player 10.1 took 6 months to hit 80%). This means that new features and functionality can be added to Flash Player, and those features can then be reliably used online within about 12 – 18 months (Player generally reaches 80% penetration in less than 12 months).
So when Flash Player adds a new video feature developers can take advantage of the new functionality in a relatively short period of time. If the feature is useful and popular enough, then it may eventually get rolled into the next HTML version and / or implemented by browser vendors (which is completely fine with Adobe). Given the amount of time that it takes for users to update their browsers, developers can still use a combination of HTML and Flash Player in order to ensure users of all browsers could view their content and leverage the new functionality and features.
This is not an argument that Flash video is better than HTML5 video (maybe it is, maybe it isn’t). However, the HTML specification process as well as browser updates move at a slower pace than Flash. This is largely due to the fact that HTML is a group driven process (although recently some browsers have been moving more quickly on their own ahead of the HTML specification process). However, this is not necessarily a bad thing. HTML specification writers are in the position of being able to cherry pick the best and proven technologies (from multiple sources, including the Flash Player), and can thus focus their efforts on areas they know developers and users will want to take advantage of (this is an area where Flash Player has been driving innovation for years, and which more recently, an argument that Google made with Google Gears).
And believe it or not, if HTML5 based video begins to eat into the amount of video served via the Flash Player, Adobe is completely fine with that. It just means that we will have to continue to innovate with the Flash Player in ways that makes it compelling for developers to leverage. It wouldn’t be the first time that tasks done in Flash have moved over to be done in HTML / JavaScript as browsers matured.
So, to summarize, H.264 is not going to replace Flash Player as they are not the same thing. HTML5 video is also not likely to replace the Flash player, at least in the short to medium terms given the slow pace of browser adoption, and the lack of more advanced video functionality implemented in the browsers. While mobile adoption and usage could change these metrics, the desktop is going to continue to play a significant role, at least in the medium term.
Now, I know a lot of people are going to criticize this, and frame it as Adobe bashing HTML5. That is not the case. I expect that the use of HTML5 video will continue to grow, particularly for progressive video such as the type served by YouTube. This isn’t an argument of which technology is better, but rather whether video served via Flash is going to go away any time soon. It isn’t.
Resources
You said:
“…recently some browsers have been moving more quickly on their own ahead of the HTML specification process…”
Your post made this sound as if it were a recent occurrence, but I think this has always been the case. Frames, as one example, were introduced in Netscape 2 and then Netscape proposed to be included in the HTML 3 standard.
It is in the best business interests of the browser vendors to expand on the capabilities that they offer to consumers and content developers; and they have had no qualms doing so.
Varied, and inconsistent implementations of HTML5 are just another example of that; but I’m sure that consistency of HTML5 implementations will improve over time.
Jeffry Houser
17 May 10 at 12:39 pm edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
@Jeffry Houser
–
Your post made this sound as if it were a recent occurrence, but I think this has always been the case. Frames, as one example, were introduced in Netscape 2 and then Netscape proposed to be included in the HTML 3 standard.
–
Yeah, I was referring specifically to some of the stuff around HTML 5, but yes, browsers have a long history of adding features outside of the specification process (which is sometimes good, and sometimes not so good).
mike chambers
mesh@adobe.com
mikechambers
17 May 10 at 12:41 pm edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
It’s good you’re writing up this series Mike, the lack of knowledge displayed on posts around the web is becoming scarier every day.
Franz
17 May 10 at 12:50 pm edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
Thanks for another good post in the series.
At first glance it makes a lot of sense to have a video tag in HTML, but then when you compare the lifespan of a codec and the lifespan of a browser like IE it becomes obvious that this will remain a strong point for technologies like Flash and Silverlight.
It will be interesting to follow what will happen with Google and Youtube, since they have such a dominance when it comes to online video.
Many people think that they will open VP8 and that will end the current issue of no codec being supported on all major browsers.
But even if MS and Apple would not care about their vested interest in h.264, and would decide to support VP8, getting the codec out to a majority of users is not at all likely to happen in less than 10 years even if the adoption rate of new version of IE would improve. It certainly will not be VP8 support in IE9, which means that we are talking about when IE9 and older version only has a share of a few percent if you want a chance to provide the accessibility that Flash provides.
On the other hand, I would guess that they would not have to hard time to ensure that VP8 becomes supported by the Flash Player, and if YouTube would ask their users to get the latest Flash player they would all get the latest version pretty much instantly.
That must look like a very attractive option for Google rather than waiting for various browsers to add support and get adopted.
I wrote some thoughts on that whole scenario earlier:
http://www.blixtsystems.com/2010/05/why-google-bought-on2/
I very much agree with standards for the basic foundation of the web, but when it comes using the latest technology it just seems like standards with multiple vendors trying to reach a common implementation just doesn’t cut it.
When it takes many years to define the standard, and then with over 10 years for a browser to be phased out, that should be pretty obvious.
A development pace like that maybe works for a technology used to mark-up text or show some images, but it certainly not when it comes to multimedia, application and games development.
Leo
17 May 10 at 1:43 pm edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
Great post Mike. I’d add that I’m really looking forward to IP and P2P based multicast coming in Flash Player 10.1 and Flash Media Server. Multicast will make streaming live events much more cost effective by dramatically reducing bandwidth costs. A lot of people who work with video have been asking for multicast, so its great to see Adobe delivering it.
Brian Lesser
17 May 10 at 3:50 pm edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
@Franz
You’re so darn right!
The stuff that most fanboys keep posting on forums is scary to say the least.
Also @mesh, These apple-worshiping freaks just keep chanting the html5 mantra, that it will keep on getting better & better and eventually pop Flash out of the market. But why don’t they realize that people at Flash/ Adobe will also be developing/ optimizing their products, and who knows someday Adobe might come up with such an exceptional version of Flash Player for smart phones that it becomes a standard medium for delivering rich media content on smart phones.
After all, I completely support Adobe’s approach. Its Adobe(and earlier Macromedia) who have revolutionized the web as we see it. And, I would never endorse apple’s ‘open’ world concept-”Buy iStuff to create iStuff using iStuff that will work only on iStuff”..quite open huh?
srvikram13
17 May 10 at 10:37 pm edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
Yes, and if you look at it historically, there is no reason to think that the H264 codec is the ultimate codec.
If (when) a new and better performing codec comes along, the plugins will come to the rescue again, and then we will have to wait for the browsers to support that.
Brian
18 May 10 at 4:05 am edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
Dude, this ‘we love apple’ is a hell of a poor answer.
It seems emotional, what you should do is to write a very very technical article exposing each one of Apples’s lies, in a very cold and rational way, and spread that to the world instead of this ‘we love apple’ crap.
Nkronionic
25 May 10 at 1:12 am edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
@Brian, I agree 100%. Considering that it might take 5 years for html 5 to become a standard, thats a huge time considering how fast new technologies are popping up. At least I think I can count on Adobe to update its player to support new popular codecs that will work on older browsers.
Plus, in 5 years, just playing video will probably not be enough, there will be new standards and functions that people will expect to be there.
At least I know I can implement a lot of extra functionality with actionscript 3 besides just playing video files.. :)
Fredrik
26 May 10 at 7:11 am edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
[...] Here is a wonderful explanation from Mike Chambers. [...]
Flash 10.1 performance – Apple VS Android - On AIR with Flex
31 May 10 at 1:46 am edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
Hi Mike,
It seems like a lot of the news surrounding the lack of Flash on the iPad and iPhone is dying down. This is making me nervous. I’ve been a huge fan of Flash and have been developing with it for the last 10 years (it is by far the best way to develop online content). I want to continue developing with Flash, but lately I’ve really been wondering what will happen in the end with Apple’s stance. Are Adobe and Apple going to work this out? Are you all trying to, or do you feel like the line has been drawn and sides have been taken? This sucks, if it weren’t for the iPad I wouldn’t think twice about this issue and would continue developing the main websites in Flash and mobile versions of the sites in html. Can you give me a little insight into what Adobe’s game plan is with respect to this issue?
Thanks,.
John
John
11 Jul 10 at 8:11 am edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
Having in mind interactivity, there is no way that HTML5, H.264 or anything else is going to replace flash.
So… yes, we may see less and less flash on video websites but that’s it.
Web Design Mag Studio
15 Jul 10 at 3:22 am edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
I think most technical folks understand these things. What’s scary to me is how many non-technical people Mr. Jobs and company have fed this propaganda to that have no idea what, why or how. They believe it simply because they heard it from Apple. While posts like yours, Mike, are excellent, they do nothing at all to inform those users of what the truth is. So Steve has accomplished what he set out to do: sway the masses to his thinking.
TJ Downes
26 Aug 10 at 5:29 pm edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
Even such a trivial thing like file upload is still implemented in Flash on Gmail. Know why? Because “great and mighty” HTML does not support multiple files upload and progress tracking. Well, the latest specifications support, but probably there are some clear reasons Google has not adopted them yet.
Sergey Kovalyov
28 Oct 10 at 1:31 am edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
[...] was a soft allusion to those who need to posit some forth of conflict to justify their position. Mike Chambers also explained how these basic technical aspects are being [...]
Is video so hard? « jd/adobe
1 Mar 11 at 1:31 pm edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>