Aug 31

So in case you have not heard yet Adobe announced an exciting new updated to the Flash video capabilities. What does this really mean? Well how about clean crisp HD quality video (even 1080p) now able to stream right from the Flash Player either via Progressive Download or the illustrious Flash Media Server and other such fine video streaming solutions. This update also includes AAC and AAC+ (HE-AAC) audio support.

We recently have had the the special privilege to work with Adobe on the integration of this exciting new  capability into the already very impressive Flash Player.  Now before we go any further I just want to say that H2.64 is NOT a meant to displace On2 VP6, it should be seen as another option with  generally different use cases. The VP6 still has some awesome capabilities that H.264 has such as the still always eye popping 8bit alpha channel support – oooh that is still sooo sexy.

Anyways back to the point – H.264 – well what is it? In basic terms its a compression format that has become VERY widespread as a reliable standard for high quality, and most often large scale/dimension video. Some of the more common file types that MAY be encoded using H.264 and AAC/AAC+ are .MP4, .M4V, .MP4V, .3GP, and .M4A (audio file).  If you want to know a good place to look at some H.264 content just jump on over to www.quicktime.com and watch some movie trailers. Those are pretty much all H.264 compliant and being so can now be played right in the Flash Player. So a good question would be what size does the new format support? Well actually it can handle just about any size. There are standard such as 480p/i (720×480), 720p/i (1280×720), and 1080p/i (1920×1080) but you are not restricted to those.

You always need to consider performance implications and bandwidth when deciding the size of your video. However there are some truly impressive new performance improvements in the new Flash Player update such as some multi-thread support for certain instances, and some very exciting new hardware acceleration for full screen video playback. I will be sure to post some code samples and such in the coming days/weeks.

So one of the really good points about Adobe implementing H.264 & AAC is these are industry standardized formats that many existing service providers and tools work with. Pair that with the current features and possible future updates to the CS3 suite and you trully have a integrated work-flow for end to end video creation and delivery with whatever tool-set fits you best.

Another great move by Adobe, the implementation and the code is the same. There are some great new events for information similar to meta data for H.264 (such as cover art and such) and the normal meta data in H.264 that is exposed to developers is excellent. The basic approaches of using NetConnections and NetStreams is the same and still golden for the more advanced users. If you prefer to use the pre-built Adobe video player components than until Adobe is able to release an update you might have a couple problems. The biggest issue is those components are pretty much hard coded to only work with .FLV files. One monkey hack solution is just change the file extension of your H.264 video to .FLV – then they should work just fine – dont worry this is only temporary :)

So 1 point thats pretty important to cover before you go off and try this fun stuff out: Here is a excerpt from  Tinic Uro’s blog that describes the issue:

“If you use progressive download instead of FMS make sure that the moov
atom (which is the index information in MPEG-4 files) is at the
beginning of the file. Otherwise you have to wait until the file is
completely downloaded before it is played back. You can use tools like qt-faststart.c written by our own Mike Melanson
to fix your files so that the index is at the beginning of the file.
Unfortunately our tools (Premiere and AfterEffects etc.) currently
place the index at the end of the file so this tool might become
essential for you, at least for now. We are working hard to fix this in
our video tools. There is nothing we can do in the Flash Player and
iTunes/QuickTime does behave the same way.” 

Now I also stumbled across this spiffy AIR that would also take care of adjusting the moov atom to enable streaming of the H.264 content for you. You can find that here: QTIndexSwapper – http://renaun.com/blog/2007/08/22/234/

//———————————–

Need more technical details:

Tinic Uro (The man behind some of the best parts of the Flash Player) – http://www.kaourantin.net/

//——————————

Technical Reference Material:

A couple of recent comparison studies of video codecs by StreamingMedia.com and Moscow State University’s Graphics/Media lab touted the H.264 codec’s superiority over other video codecs for quality. You can find those studies here http://www.streamingmedia.com/article.asp?id=9659&page=1&c=8 and here compression.ru

Some basics on H.264 encoding & quality: http://www.apple.com/quicktime/technologies/h264/


//———————————–

Encoding Resources:
•    AnyStream – http://www.anystream.com/
•    Digital Rapids – http://www.digital-rapids.com/
•    Kulabyte – http://www.kulabyte.com/
•    On2 – http://www.on2.com/
•    Rhozett – http://www.rhozet.com/
•    Sorenson – http://www.sorensonmedia.com/
•    TeleStream – http://www.telestream.net/
•    X264 Encoder – http://www.videolan.org/developers/x264.html

Aug 31

http://office.realeyesmedia.com/blogs/david/wp-content//uploads/MAX07_B125x125_speaker.gifSo it looks like I will be doing a special second session at MAX on the VERY exciting new HD video capabilities in the new Flash player update. This new announcement that Flash will support H.264 video content has the potential to revolutionize video on the web once again. So interested in Flash video? HD video on the web? Want to know more about H.264 – what it is? what is supported? How fricken cool this is all going to be? Then come check out my session at MAX.

Session Description: Learn how Flash Player and AIR can enhance the online video experience of H.264 and HE-AAC content.  With nearly 100% adoption of Flash Player and millions of developers world wide, plus the adoption of ISO/IEC standard video codec, Adobe is helping to standardize the online video experience.  In this session, you will learn, from an industry expert, why H.264 and MPEG-4 is important. You will also learn how to use H.264 inside your Flash, Flex and AIR projects.  Learn the differences between streaming FLV and H.264 and how you can create compelling video experiences like no one has ever seen with H.264.   Learn how Flash Media Server will be able to stream H.264 content and how Flash Media Encoder will stream Live H.264 video.  Flash Player’s performance improvement paves the way for HD content with an experience like the world has never seen.

Rough Outline:

1.    Why H.264 and MPEG-4 is important
2.    Performance Improvements
3.    How to use H.264 inside your Flash, Flex and AIR projects
4.    How to create compelling video experiences like no one has ever seen with H.264
5.    Streaming H.264
      a.    Learn the differences between streaming FLV and H.264
      b.    Learn how Flash Media Server will be able to stream H.264 content
      c.    How Flash Media Encoder will stream Live H.264 video

Aug 19

A big shout out to all the people who came to my session at 360 Flex on Flex-able Flash video. I have a whole pile of samples and such including my slides from the presentation posted. I didnt get a chance to go and check the paths for all the samples so some of them might be pointing to non-existent FLV files. Sorry cant give you guys the ones I ‘borrowed’ from quicktime.com. I did leave a couple FLV’s int here to play with that we did. Enjoy and let me know if there are any questions!

9MB – (Zip files of slides and goodies)