RSS | Comments RSS | Atom


Events&Flash - General&Flash Video&Web Technology15 Apr 2011 08:26 pm

Abstract: Adobe’s announcement regarding forthcoming Apple HTTP Live Streaming capabilities for Adobe Flash Media Server needs context and clarification. Other vendors have introduced similar technology over the last sixteen months. Video content creators and integrators (designers, developers, managers) should strongly consider using adaptive streaming for mobile/device video delivery.

by Robert Reinhardt

At NAB this past week, Adobe (twitter feed) previewed some forthcoming technology from Flash Media Server: streaming video to the iPad. Now, to be clear, I’m not privy to any details of this new technology. While I am an Adobe Community Professional, I haven’t had access to this beta or preview edition of Flash Media Server. However, most of my professional work deals with online video, throughout the production and post-production workflow. Due to client demand and my own online encoding and hosting venture with videoRx.com (twitter feed), I’ve had to seek out video solutions that work across desktops, smartphones, and most recently, tablets.

There may be some misunderstandings with the news of this forthcoming technology from Adobe. Some tweets I’ve found the past couple of days:

  • Coming Soon From Adobe: Flash Video To Your iPad http://zite.to/fjD028 via @Ziteapp
  • Live-streaming Flash video coming to iOS devices http://t.co/WhNwAag via @mactrast
  • Brilliant move by Adobe. Tech pundits won’t understand it. Business pundits will. Flash video coming to iPad http://zite.to/evAQZ9
  • Adobe throws in towel, adopts HTTP Live Streaming for iOS arst.ch/p17 via @arstechnica

Most of these articles are making it sound like Adobe’s new technology can:

  • Convert any Flash Video (or Flash SWF content for that matter) to iOS-compatible content
  • Deliver HTML5 compatible video to any browser without the Flash plugin
  • Be seen as an admission of defeat on Adobe’s part in making content more cross-device friendly for non-Flash devices

If you believe any of these assertions, you’re wrong. The fact is that Adobe previewed video technology, not general Flash (or SWF) capabilities. I’m not sure if they disclosed what kind of source video was being streamed to the iOS, but there’s nothing new being revealed from a capabilities point of view. Pre-existing solutions with Wowza Media Server or Microsoft IIS7 with Smooth Streaming can already repurpose properly encoded H.264 to iOS devices, using the specification drafted (and made open to other vendors, without licensing costs) by Apple called HTTP Live Streaming. Wowza is the most flexible of the currently available options, as it can reuse H.264 content to stream HTTP “chunks” of video to Adobe Flash Player, Microsoft Silverlight, and Apple iOS. (It can actually do more devices and platforms, via RTSP, but who wants that protocol any more? :P ) Microsoft IIS7 and Media Services 4 has a Smooth Streaming module that’s designed to work optimally with Silverlight, but it can also chunk H.264 content for iOS (view example).

So, I’ve been using the word “chunk” already—what am I talking about? Basically, these existing solutions take an H.264 video file and carve it up into equally sized chunks, based on time fragments typically ranging from 2 to 10 seconds in duration. If you have a 1 minute video file and a chunk duration of 10 seconds, the server will dice up an H.264 video into 6 chunks, and only deliver the chunks that your player buffers and plays. On top of that, these chunks are streamed to the video player over standard HTTP or SSL/HTTPS, enabling video to get past corporate firewalls that might block video delivered over other protocols such as RTSP (older streaming protocol) and Adobe’s RTMP technology used by Flash Player. And, just like “real-time streaming” protocols, HTTP streaming enables you to seek within the video file without needing to download any earlier portions of the video, reducing wait times for the viewer.

But the real advantage of using such a chunking mechanism is adaptive streaming. If you encode the same piece of video content into multiple bitrates (or data rates) varying in quality and file size, then you can use this same chunking approach to switch the quality of a video stream on-the-fly! It’s quite possible you’ve seen this technology demonstrated already, or maybe you already use it with your own video deployment on the Internet.

Years ago, one of the larger video projects for which I provided technical direction at Schematic (now Possible Worldwide) was ABC.com’s first generation Full Episode Player. ABC.com later used Move Networks video technology to deliver adaptive streaming over HTTP. (I wrote an article titled “Flash: Move Over?” discussing this migration to Move Networks.) While a viewer watched an episode of a TV show, the quality of the video could adapt to the speed of your connection.

I’ll never forget the first time I saw this technology in action while I was on a business trip and watching an episode of LOST in my hotel room over the hotel’s wireless Internet. For the first ten minutes, I had a decent quality of image—probably one of the middle bitrates available. Then, my connection speed dropped but the video didn’t stop playing. The video player simply downgraded playback to a lower quality stream. No rebuffering, no stuttering playback. In a few moments, my connection came back and the picture quality improved. That technology was available in 2006. Since then, we’ve seen adaptive streaming become more widely available.

In late 2007/early 2008, Adobe added adaptive streaming (or “dynamic streaming” as they called it) over RTMP in Flash Media Server 3, and in early 2009, Flash Media Server 3.5 added HTTP support for dynamic streaming. Both of these versions of adaptive streaming from Adobe worked only with the Flash platform. In December 2009, Wowza Media Systems (twitter feed) released Wowza Media Server 2 with HTTP adaptive streaming to the iPhone, as well as RTMP adaptive streaming to Flash. For the last 16 months, production-level technology has existed to take H.264 files and stream them to both Flash (aka “Flash Video”) as well as the iOS.

Now, just because these streaming solutions can deliver content to Safari Mobile, an iOS app, or Safari Mac (desktop) doesn’t mean they’re compatible with any other HTML5 browser implementation of the <video> tag. In fact, no other HTML5 browser has adaptive streaming capabilities without the intervention of a plug-in such as Adobe Flash Player or Microsoft Silverlight.

[UPDATE] Apparently, I missed that Android 3.0 aka “Honeycomb” (and presumably 2.2) has native support for HTTP Live Streaming via M3U8 playlists, same as Apple iOS/Safari Mac. I found more information about Android support for HLS posted by Jason Shah. If you have an Android 2.3 or 3.0 device, you can view this trailer using HTTP Live Streaming.

And here’s the clincher: anyone who’s making video experiences on the Internet really needs to be using adaptive streaming to effectively deploy video across the vast landscape of networks in use today. We’re all too familiar with how “non-3G” most 3G or higher mobile networks are in day-to-day use. You just can’t reliably deliver one video file across all devices and desktops and think the experience will be the same on all of them—you need multiple “qualities” of the video.

[UPDATE] To read more on other reasons why plug-in based video is here to stay, read Bart Czernicki’s “Five Things that HTML5 Video Currently will not do, but Silverlight or Flash will”.

And that brings me to considerations for encoding video. You not only need multiple bitrates for your video (each bitrate is a separate video file), but you will also need multiple sets for each CPU target. Mobile devices have notably slower processing speeds compared to our multi-core desktops, and as such, usually need a simpler “version” of H.264 content. And not just simpler in bitrate or other standard video geek terms. Simpler as in complexity of the video compression. H.264 video is typically encoded in one of three profiles, in increasing order of complexity: Baseline, Main, or High. (There are other profiles, but they’re not nearly as common.) All mobile video should be encoded with the Baseline profile. All older iPhones and iPods can play Baseline H.264 video, but they can’t play the Main or High profile. The Main profile is typically used for desktop playback. The High profile can also be used for desktop playback, but it won’t play well on older dual-core machines or older Pentium/PowerMac CPU architectures. Why not just encode all video then with the Baseline profile? Well, Baseline just can’t use all the bells and whistles that Main and High profiles can: B-frames, CABAC entropy compression, and much much more from the H.264 spec. Baseline is basically stripped of all these goodies, and intentionally so—those features carry hefty CPU decoding requirements that mobile devices can’t provide yet.

Because of these playback issues, I strongly recommend encoding a set of adaptive encodes for mobile using H.264 Baseline and another set of adaptive encodes for tablet and desktop using H.264 Main. (If you use my OmniRx encoding presets on videoRx.com, that’s exactly the two sets of H.264 output you’ll get.) One day, I can hope that my buddy Andy Beach (twitter feed) and the company he works for, SeaWell Networks, will see their push for SVC/H.264 succeed—this format, Scalable Video Coding H.264, can wrap several tiers of H.264 content into one file, reducing the headache of having several versions of a singular piece of content on a server.

Regardless of the hype around Adobe’s announcement, one thing has become clear to me in the last few days: the perception of Adobe and its commitment to quality online experiences is being bolstered with this news. Some people are seeing as an admission of defeat because Flash technology is still not available on the iOS, but I’ve never seen Adobe as a “Flash” company. While the Flash platform is an important part of Adobe solutions, Adobe has a greater interest in providing tools that online-based businesses need to grow, whether it is client tools for HTML5 workflow or server technology for dynamic web pages, media, and published content. Perhaps more importantly for my business’s point of view, I believe this announcement from Adobe will help raise awareness of optimized video delivery. Most Internet media buyers, marketers, web designers and developers haven’t a clue about the details of adaptive streaming, and may only know the basics of video playback with a progressive download file from a standard web server.

If you want to see how video on the same web page can replay with Flash on the desktop or with Apple iOS, take a look at this recent 90 minute video uploaded, encoded, and hosted on videoRx.com: Welcome to Sportland.

More reading:

Andrew Fecheyr Lippens: A Review of HTTP Live Streaming (don’t miss the PDF paper linked in that article)

Events&Video Encoding&Web Technology21 Sep 2010 12:30 pm

Last week, I had the opportunity to deliver a 5-day video encoding workshop at the Maine Media Workshops

Computer Technology&Flash - General&Flash Video&Web Technology28 Jan 2010 11:24 am

Unless you follow me on twitter (@flashfreaker), you’re not privy to my growing concern with the perception of the Adobe Flash runtime by many standards-based members of the web community. With yet another move by Apple to be the guardians of the “open web” with its announcement of the iPad yesterday, there seems to be more fuel for the anti-Flash camp and a call to action for those who use Flash or any other 3rd party plug-in to voice our opinions. Most of this anti-Flash chatter relegates Flash to an under-performing video player and stresses that the HTML5 <video> tag takes care of all video needs for the Internet. Ergo, the world wide web no longer needs Flash so let’s just get rid of Flash content all together. I’ll start my defense of Flash by doing a less-than-comprehensive review of where Flash content is employed on the Internet:

  • Banner ads: Most advertising on the web has relied on the small file size (well, hopefully it’s kept small) of Flash SWF files to deploy ad graphics, including micro sites for product demos. With chatter I’m seeing on twitter, I’m getting the impression that many people believe web ads will just “go away” and good riddance. While I’m not a fan of annoying banner ads (and most of them are, indeed, obnoxious and annoying), I’ll take the lesser of all evils and suffer a small Flash SWF eating up a minor portion of my bandwidth than some other multimedia format. Future without Flash prediction? Banner ads could turn into video ads that are much larger in file size and data transfer than the equivalent animation/experience in a Flash SWF. Poetic justice, perhaps, for the already crippled AT&T 3G network that the iPhone uses for its open web experiences.
  • Web applications for e-business: Many businesses rely on Flash technology to deploy rich internet applications (RIAs). While a portion of these applications could be built with current HTML/JavaScript/CSS capabilities, many businesses prefer to use SWF because now, more than ever, the programming required for the front end SWF file (ActionScript 3.0) can be utilized across multiple platforms, from the web to the desktop (Adobe AIR) to mobile devices–Flash Player 10.1 is finally gaining ground this year on mobile devices! Businesses also want to protect their front-end intellectual property by using the SWF file format, thereby preventing exposure of their user-interface capabilities via HTML/JavaScript/CSS. It’s true that SWF files can be decompiled, but from a legal standpoint, if company B “steals” code from company A’s SWF content, it’s pretty clear they took extra steps to access the code and extract it. Perhaps more importantly, let’s look at the software development process in general. Web applications are not web pages–they’re apps in the browser. So, they’re written, usually, by experienced computer programmers who need grown up programming languages. If you’re not aware, Flash Player’s scripting language, ActionScript, has grown up over its 10+ years of life, and more “traditional” software developers continue to embrace Flash technology with the growth of Adobe’s open source Flex framework and its free compiler. You don’t even have to give Adobe any money to make a web application. (I prefer to use their tools because it’s usually much less hassle, which means less $$$ my clients have to spend to get something built quickly and reliably.) JavaScript has to play a lot of catch up to reach the capabilities of ActionScript 3.0. Also, many businesses want their applications to run across the web and on thin clients. I’ve worked on two projects for companies targeting gym chains, and they can take their application from a Linux client running nothing but the OS and AIR with cheap hardware to the “normal web” without a complete reinvestment in a new solution. As more and more devices run multimedia content, from cars to boats to kitchen appliances, reuse of existing IP is critical.
Events&Flash - General&Flash Video&Web Technology13 Oct 2009 08:36 am

Last week at Adobe MAX during my session, I announced the soft launch of videoRx.com, my own personal project for the last year. It

Events&Flash - General&Web Technology22 Jun 2009 11:14 am

If you missed my session at Flashbelt or want to watch it online, check out the Acrobat Connect recording here:

http://experts.na3.acrobat.com/p60867419/

Many thanks to Dave Schroeder for the sixth Flashbelt! I’m honored to be part of the tradition.

Events&Flash - General&Web Technology20 May 2009 12:39 pm

This year at the Flashbelt conference, I’m doing a brand new workshop specifically geared to the economic climate that is currently surrounding the multimedia and online industry. Here it is:

Save Yourself Now: What Your Boss Won’t Tell You

In this full-day workshop, Robert Reinhardt teaches you how to build up your self-defense skills as an independent contractor for multimedia/web design and development. If you’re considering venturing out on your own or don’t expect your current employer to watch your back much longer, this workshop is for you. Learn the do’s and don

Articles & tutorials&Books&Flash - General&Flash Video&Publications&Web Technology09 May 2009 08:41 am

The update to my original Adobe Press book on video and Flash is finally available in bookstores! The new edition has a different title too: Video with Adobe Flash CS4 Professional Studio Techniques. I’ve updated this book to cover the Flash CS4 IDE, as well as adding important updates that weren’t released when the last edition went to print:

  • AVC/H.264 encoding tips, including coverage of CABAC, B-frames, and Main/High profiles
  • Discussion of my new Web Video Bitrate Starter application, which helps you get started with the right video and audio bitrate for your preferred video dimensions, frame rate, video codec, and audio codec.
  • Updates to chapters covering real-time streaming (via RTMP) and Flash Media Server (FMS) 3.5 dynamic streaming

I also created a video encoding tutorial covering Flash-compatible output for DesignProVideo.com. If you’d rather learn by watching step-by-step how to create high quality video, or you want to augment the coverage of my book with more hands-on examples, then you’ll like this video training. But don’t take my word on it–just read this review on the forums at DesignProVideo.

Gotta get back to a client job–it’s a pretty sweet AIR app. More details when the product has been launched this summer.

Events&Flash - General&Web Technology02 Mar 2009 10:51 am

Definitely was not the worst of times in Amsterdam last week, where I presented my Personal Brand Building session to an audience nestled in a room at the Ariana Room of the Dylan Hotel, with sweet fireplaces and funky wall textures. My flight left Portland (PDX) at 4:00pm Saturday afternoon, and I landed in Amsterdam about 9 or 10 hours later–10:00am Amsterdam time, Sunday morning. I ran into Sam Agesilas at the train ticket kiosk located in the airport, and we took the train into Central Station. Ok, I actually don’t have a ton of time this morning to do a run through of the entire trip, but it was short and sweet. I spent most of my free time with Richard Blakely and Jerry Chabolla from Influxis, along with their newest recruit, Sean McCracken. I did have to work on chapters for my Video for Flash CS4 book (Adobe Press) as well as pressing client work for a substantial portion of my non-conference time.

I delivered my Personal Brand Building session on Tuesday at 12:30pm, and managed to do a pretty decent recording via Acrobat Connect:

http://experts.na3.acrobat.com/p57973590/

I’ve also posted a PDF version of my slides here:

http://www.flashsupport.com/2009/fitc/FITC_Amsterdam_Personal_Branding.pdf

Note that I have modified one of the last slides that used the acronym “swear”–many thanks to Erik de Vreede for recommending a change to “sweat” where the “r” (for RSS) is changed to a “t” for teach. Definitely makes more sense given the rest of my presentation. :)

Many thanks to the sponsors of the two parties–Influxis and Media Temple–for an awesome time. Of course, a huge thank you to Shawn Pucknell at FITC for inviting me and organizing such a fun event.

Articles & tutorials&Books&Events&Flash - General&Personal&Publications&Web Technology10 Feb 2009 10:03 am

While I’ve helped other people create HTML-based emails, I haven’t had to do it for myself. After a lot of tests on various email clients, I finally released my first newsletter to about 6500 e-mail addresses, collected from my registration database at FlashSupport.com, old mailing lists I use to run, and LinkedIn.com. You can view the mailing online. I used poMMo to manage the announcement mailing list. So far, it’s been a great tool with excellent administration features, including subscription management.

Fill out the subscription form if you’d like to receive future announcements.

Events&Flash Video&Web Technology07 Jan 2009 11:07 am

You can view my session, Encoding Video for the Highest Quality and Performance, on the Adobe Groups web site at:

http://groups.adobe.com/posts/d3a78258e3

In this presentation, I talk about the importance of various video and audio encoding settings found across video encoders, especially for AVC/H.264 video.

You need to login to Adobe Groups with your Adobe ID to view the video. You can also directly open the Brightcove video player with the following URL, but the video scales to the size of your browser window:

< View video in new browser window >

Next Page »