Yes, it's not a mistake. I meant just that. I'm tired to read sentence like: "HTML5 is the Flash-killer", "Flash is obsolete", and so on. So I'm here to give my 2 cents about the diatribe "Apple vs Adobe" or better "Flash vs HTML5", and explain why, in my opinion it is much more likely that FP 10.1 will kill HTML5 than the opposite.
I state that I have a Mac Book, a number of Windows based desktops and laptops and an iPhone and for different reasons I'm very happy with each of them especially with iPhone which I consider a real revolution in mobile. You know that I'm a video specialist so I'll focus on video topics.
THE "STATUS QUO" PRIOR OF FLASH PLAYER 10.1
Flash is a great technology. Almost 15 years of success in enriching the web experience can't be denied also considering the various pseudo-developers that have always abused of it creating detestable and invasive advertising or used the "worst practices" in web developing to feed a certain bad reputation of Flash.
But how deny the power of a platform that allows you to:
- execute general purpose code in AS3: a fast (compiled), clean and powerfull OOP language.
- access microphone and webcam for realtime AV applications or augmented reality.
- manipulate bitmaps, vector graphics, audio, video, text, xml, binary data.
- communicate via RTMP, HTTP, AMF, SOCKET to a wide range of server side technologies.
- develop graphic oriented apps using CS4 or user friendly RIAs using FLEX.
- support H263, VP6, H264, AACv2, MP3, Speex, NellyMoser's Asao, MP3, FLV, MP4...
- create p2p applications, realtime applications (FMS).
- support to 3D, image filtering, post-processing (pixel bender).
- etc. etc. etc.
And all that on Windows, Mac, Linux both in the browser and on desktop (AIR), further more a subset of features is also available for mobile (Flash Lite 3).
Contrarily to common beliefs, a lot of technologies used by Flash are open, for example: SWF, FLV, M4V, AMP, Spark, Speex, H.264, RTMP (specifications and files format).
Believe me: Flash platform is HUGE.
Nevertheless we all know that Flash experience, especially for video playback, has not been always and everywhere perfect. The vast majority of problems are on Mac but also Windows Vista introduced a number of minor glitches compared to Windows XP. Watching HD video on Mac is a real problem, especially in a Safari's window and this is in my opinion one of the main causes of the recent disaffection (in some case adversity) for Flash.
Indeed Video on Internet is the new frontier and thanks to Flash (75% of video is delivered using it) today we are surrounded by every day better and bigger videos. So
Why on earth my HD videos require only 40% of CPU on a "BootCamped" Windows XP and saturate complately the CPU on OS X ? Naturally the Mac users want a solution and until then they will blame Flash for not being able to offer a flowless experience regardless of the real cause (read this explanation on why this happens by Tinic Uro).
But there are two new open fronts: the explosion of mobile devices, and the future explosion of Internet-On-TV devices.
After the advent of iPhone everything is changed in mobile: everybody wants multi-touch, geolocalization, accelerometers, easy-of-use, modern audio and video codecs, efficient access to Internet, and so on. And this not only on iPhone but on any smart phones platform that is trying to rip the iPhone leadership (Android, Symbian, RIM, Maemo, WM7 or WebOS).
This leads us to the "No Flash on iPhone" issue. Flash 10 has not been designed to run on mobile, it requires more processing power and more memory, it has no access to advanced mobile features (multitouch in-primis) on the other hand Flash Lite 3 can not compensate this situation in the high end market. But at the same time a lot of content on the web is delivered using Flash and is a problem that an high end smart phone is not able to show videos or animation, living an ugly blue box where on desktop there's a gorgious user experience.
So let's enter HTML5: The evolution of HTML supports audio and video tags that can be controlled via Javascript as well as canvas technology for bitmap and vector graphics manipulation and animation. Can this be used to substitute Flash's features on mobile devices or settop boxes? Yes it can, but only partially, and it is what you have to do (and I'm doing) on iPhone's WebApp as a Flash Player fall-back.
A Flash fall-back, this could be now HTML5 in my opinion and not certainly a Flash-killed, as someone is depicting it:
- it is only a draft, and apparently far away from standardization.
- it has already proven to be subject to conflicts of interpretation and standardization, for example about the video codec to support.
- it offers only a very small subset of functionalities compared to Flash.
- it uses JS which is a pain in terms of debugging and performance.
- it offers no protection at all for source codes.
- it is not supported now by IE.
- FF support only Theora video codec which is very far from H.264.
So summing up the "status-quo", today we have 3 screens on which users are exploring Internet and Videos: Desktop, Mobile and TV.
Desktops
Flash is present on more than 98% of desktops, and is the "de facto" standard for video delivery. Desktops are dominated by Windows 80% and Flash performs very well on Windows with some possible area of improvement. Mac has a 15% share. On it Flash could and should perform better.
But why abandon Flash for HTML5 on Mac ? It's better to ask and push for a solution of problems than duplicate the development and loose the features and the control that only Flash can offer.
Mobile
FlashLite is too limited to substiture completely Flash, and iPhone does not support Flash for various, political & technical reasons, so here you can be forced up till now to see at HTML5 as a fall back for animation, bitmap manipulation and video.
Internet connected TV and setTopBoxes
A new market that require a platform for video delivery. Would it be HTML5 ?
THE INTRODUCTION OF FLASH PLAYER 10.1
Fortunately Adobe has worked hard in the last two years anticipating the needs and trends of the market. It has mobilitated the most important companies in the Internet, Mobile and Electronic markets to create the Open Screen Project to bring Flash literally everywhere: Mobile devices, Set Top Boxes, Media Players, TV sets. The first, long awaited, fruit of this effert is Flash Player 10.1.
Here I don't want to comment on the number of new interesting features, but only about the phylosophy of this new release:
Provide a full FP10 experience with a player optimized for low processing power, memory and battery consumption.
I understand that the success of this joint effort can break the dream of egemony of someone else, but should excite us, final users, because not only Flash is obiquitous on desktop, but will be obiquitous on any Internet connected devices assuring a concrete user experience to everyone and everywhere.
The desktop version (Mac and Windows) of Flash Player 10.1 is in public beta 3, so very near to final release, while the Android version is in private beta but very near too. In a few months we will able to experience full FP10 contents also on WebOS, WM7, RIM and a number of set top boxes.
Today we are already able to test what is changed on the desktop with FP10.1, simply installing the beta 3 from the Adobe site.
TESTING FLASH PLAYER 10.1 ON WINDOWS AND MAC
I have tested the Flash Player 10.1 beta 3 with various SD and HD contents and on various SO and the results are surprising:
1. On windows XP (the most diffused OS at work) there have always been very little problems but now
on a Core 2 Quad @ 2.4Ghz I'm able to watch at full screen on a 24'' Monitor a Full HD video consuming below 20% of CPU.
With FP10.1 the performances on IE (7 or 8) and FF (3.6) are very close now while with FP9 and 10, FireFox required usually a 10% more CPU power for decoding HD. And all this without HW acceleration of H.264 which is supported by FP10.1 but only with the right combination of GPU.
2. HD playback on Windows Vista was sometimes problematic with FP9 and FP10 both on IE and FF, expecially at Full Screen, but now the performance of 10.1 is very smooth both at full screen and in window, and in any browser (IE, Chrome and FF). On a 2.1 GHz Core2Duo Sony Vaio the decoding consumes around 40% of CPU and is perfectly smooth (again without H.264 HW acceleration).
3. Windows 7 64bit performes very well and on a Mac Book (2.2 GHz Core2Duo) with BootCamp, the decoding of HD requires less than 30% (Probably because of HW Acceleration on Nvidia 9400M). With the new 10.1 any sporadic frame dropping and glitches in full screen playback disappeared.
4. And now let's analyse the performance of my Mac Book with Snow Leopard. With the latest official release of Safari and FP10 it was a mess. My HD videos stuttered if played in Safari's window but in full screen played very smoothly, nevertheless it was a critic condition.
Following the instruction of Tinic Uro, I have installed the latest nigthly build of webkit and Flash Player 10.1. The performance improved considerably !. No more dropped frames in Safari even with video enlarged. Very good Tinic! This is what we needed.
Ok, there is only a save of around 20% of CPU and again I don't understand why the same clip on the same HW requires 30-40% on Windows and 80+% on OS X but at least it is an improvement.
TESTING HTML5
So what about HTML5 for desktop ? FP10.1 improves consistently desktop experience in video playback with low CPU and perfect playback in Windows and a 20% improvement on Mac. When the supported GPUs will be more diffused the CPU usage will be even lower and right now ION based NetBooks (prior of FP10.1 very problematic) can decode HD without problems (read this review of GPU accelerated H.264 decoding in Flash 10.1 by Anandtech).
So, what advantages can bring HTML5 on desktop ?
I have tested it with Safari on my Mac Book, and with Chrome and FF on Windows (IE doesn't support it yet).
Decoding a SD video in YouTube using HTML5 in Safari requires around 20% processing power, the same video around 35% with Flash 10.1 and Nigthly webkit, not so distant now. On Windows 7, Chrome requires only 5-6%, on the other hand, FireFox 3.6 is not supported at all by YouTube HTML5. The Flash version of the same video requires only 7-8% on Windows 7 in any browser.
I have tested also this HTM5 Play (SublimeVideo). On Mac the CPU usage is around 40%, the typical consumption of Flash on Windows with the same HW...perhaps in the future Apple will be so kind to expose to Flash Player the same H.264 decode path used by HTML5.
Then I have tested Sublime HTML5 player using Windows XP on a QuadCore 2.4Ghz. The decoding of the HD video sample on FireFox uses the Theora Codec (H.264 is not supported by FF) requiring 55-60% of CPU with a very poor full-screen experience (dropped frame) and poor video quality. Chrome performed much better with a 25% in window and 55% at full screen (24'' Monitor).
Concluding the test: HTML5 is not competitive at all against Flash Player on Windows, while it is competitive on Mac. Obviously it is also the only solution for viewing video on iPhone.
CONCLUSION
Flash Player, until now, might have problems because of performances on Mac and because of the lack of support in the mobile market. But now with the 10.1 for desktop and with the future diffusion of 10.1 on almost all mobile plaftorms (except iPhone) plus the new set top box rising market, where are the problems ? I see only a bright future for Flash, and HTML5 not only will not kill Flash, but it risks even to remain killed itself in the competition. The scenario is clear:
85% of desktop are served very well by Flash Player 10.1 (Windows).
15% of desktop are served but with sub-optimal performance (Mac & Linux).
70+% of smart phones will be served soon by Flash Player 10.1 (RIM, WM7, WebOS, Android, Symbian and a wide share of medium level phones will be supported by FlashLite4)
So what does remain to HTML5 ? little more than the iPhone & iPad's market, as a fall-back for the lack of Flash Player...
12 February, 2010 Why is Flash so slow on Mac ? Tinic explains
This is a fact, Flash performes not perfectly on Mac, but why ?. Tinic Uro, senior computer scientist on the Flash Player team describes accurately the reason and the new joint effort of Adobe and Apple to speed up Flash using Core Animation, a low level Objective-C framework. The final public release of FP 10.1 for Mac should leverage such technology to address this "legendary" issue.
Today Adobe has released the third update of FMS 3.5 (3.5.3). This is not only a bug fix release but implements new features supported by Flash Player 10.1. I'm trying to play with these new features right now and they are very interesting, especially the possibility to control the buffer and seek inside it for slow motion, fast forward and fasr rewind effects.
4 December, 2009 Today launched La7.tv, the first Italian TV catch-up service
Today La7, the Italian TV broadcaster owned by Telecom Italia, launched La7.tv the first TV catch-up service entirely developed and delivered in Italy. In the last months I collaborated with ValueTeam at the development of the encoding pipeline and the streaming optimizations used by the Telecom Italia Group for the project.
The service offers in on-demand the tv programs of the last 7-days (a BBC-style catch-up), with the most succesful videos stored in a "cult" section.
The service is entirely Flash based (Video Player with Dynamic Streaming, Dynamic Buffering, Fast Protocol Negotiation and Auto-Recovery) and leverage a FMS 3.5 based CDN.
The custom encoding pipeline is integrated in the broadcaster's publishing work-flow and after only 15-20min after the end of the program in TV, the encoded files (up to 3 Hrs long) are available for QA, inspection and meta-tagging.
The source, an high quality SD 16:9 video, is encoded in two bitrates: 600 and 350Kbit/s. Despite the low bitrate, quality is very good and is optimized for full-screen playback (see screenshots below). Obviously, a low bitrate to produce a target quality means lower costs and higher reach (see also my latest Adobe MAX presentation).
13 October, 2009 H.264 best practices presentation - pdf and video recording
A lot of you asked me how to have the pdf of my Max presentation. The answer is simple: here you find the .pdf and here the entire session recorded during Max. Thank you all for the support and the appreciations received before, during and after the conference.
Many thanks to Kevin Towes, Desiree Motamedi and all the Adobe's staff for have made my presentation at Max possible.
This last edition of MAX has satisfied all my expectations: very good sessions, exciting announcements and also my session has been ok (I have received an evaluation of 4.48 / 5 compared to an average 4.10 of all other sessions, I'm really satisfied ;-)).
I post only today about the novelties, so I'll be very short in my consideration because You can find more detailed info on other posts like for example Kevin's one, or Stefan's.
Accelerated Evolution of Flash Player's Ecosystem
I think Adobe is doing an awesome work in pushing the Flash Player's technology to the edge. Not only the Flash Player 10 update 1 (10.1) will have several very interesting features, but this great potentialities are extended to a wide number of mobile platforms and embeded chips.
In the last years there were often debate about the three screens convergence. With FP 10.1 this convergence will become true and your content will be visible from PC, Mobile (Windows Mobile, BlackBerry, WebOS, Android, and with some limitations iPhone) and TV sets. The power and the potentialities of this move are tremendous and capable to change the way we will live the web tomorrow.
The range of possible applications that an Adobe developer is able today to develop is rapidly increasing. The widening base of compatible devices and platforms, and the quality of new model of developing (Flex 4, Catalyst), are enpowering our work, our competencies and our value. Thank you Adobe.
New smart buffering when streaming from FMS - no more wastes when seeking to parts already in the buffer. Finally.
Improved QoS, reconnection, faster switching - in the video arena Adobe is playing a very important game...
HTTP Streaming - exciting new way to stream video, I'll speak about it more in a future post.
Improved DRM - Flash Access 2.0, the evolution of Flash Media Rights Management.
GPU acceleration, H.264 hardware decoding - H.264 to the max on slow processor, mobile and set top boxes.
I think to speak more about some point in future posts, now leave me thinking again about the infinites possibilities that Adobe is opening us with this new FP...
I feel that this edition of MAX will be memorable, a lot of announcements are on the way. If you are not able to attend the meeting, this year you can watch the Keynotes live. Register here and don't miss this opportunity : http://max.adobe.com/online/
21 September, 2009 H.264 Encoding and delivery Best Practices @ MAX 2009
Only two weeks and the 2009 edition of Adobe MAX will begin.
This year in my presentation ( Encoding Best Practices for H.264 Video Using Flash. 5 October 2:00 pm Room 506 ), I'll focus on changing the usual encoding perspectives proposing a dynamic approach in choosing the best resolution - bitrate mix.
Dynamic is always better than static, you know, and it's much better in video encoding: reach a wider audience and save money!
I'll also focus on playback best practices (full-screen acceleration, visual enhancements and so on).
Because a picture is worth a thousand words, today I want to show you the real potentialities of these approaches...
Me vs YouTube
In this test, I have downloaded from YouTube the video clip of Bjork "All is Full of Love". This clip is an High Definition video encoded by YouTube in 720p (1280x720) at around 2Mbit/s.
The same (already encoded) video has been then re-encoded at a much lower bitrate of 500Kbit/s with a specific set of encoding parameters and pre-processings. I think the result is very good, and strangely enough, somewhat better than the original.
How can 500Kbit/s be better than 2000Kbit/s ? How can the quality improve re-encoding a damaged video at a quarter of the original bitrate ? Well, you are all invited at MAX 2009, 4-7 October in Los Angeles to discuss this and other topics.
Below you find the two videos. To compare them stacked one over the other you need a 22'' or higher monitor. Otherwise use this smaller test page suitable for lower monitor resolutions like 1280x800. Here the instructions :
1. For YouTube video, press play then press HD and then pause.
2. For my video, press on video and then click pause.
3. Wait until both videos are fully downloaded.
4. Start both video players and disable YouTube audio.
5. Use the pause's buttons to eventually resync videos.
Note: decoding two HD video at the same time requires a fast computer. On my Core2Duo @ 2.2GHz laptop it works very well.
Remember also that IE is faster in Flash Video decoding than FF.
But now let's take a look by yourself and don't forget to send me a feedback on your experience. What is the better looking video in your opinion, both in browser and at full-screen ?
My name is Fabio Sonnati. I'm a freelance ICT consultant graduated in Electronic Engineering. I'm Lead Developer and co-founder of Progetto Sinergia, a Team of ICT consultants specialized in Internet, Video, and Multimedia applications.
This is the blog where I want to share my knowledge and tools about Flash Media Server and Flash Video. Read this to know more about Flash Video Factory, our Flash Video based streaming platform. There You'll find my Italian Blog, too.