Adrenaline Garage Blog

Jeff Harper

Recent Posts

Choosing a CDN for your live webcast

Posted by Jeff Harper on Mon, Sep 6, 2010 @ 21:09 PM

This article is the second part of our series, 5 Things you need for a Stutter Free Webcast.  Click here to see the first article about encoders for live webcasts.

Get a quality CDN

While a quality CDN is a ciritical link in a seamless webcast, I’m not sure that most event organizers understand what it is, how it can affect their webcast and why some CDN’s are better than others.  Let’s get right to the ugly technical part.  Wikipedia defines a CDN as,

A content delivery network or content distribution network (CDN) is a system of computers containing copies of data, placed at various points in a network so as to maximize bandwidth for access to the data from clients throughout the network. A client accesses a copy of the data near to the client, as opposed to all clients accessing the same central server, so as to avoid bottleneck near that server.

I’m sure we’ve all seen the chaos of doing a product toss in a large crowd in a small area.  People rushing in, throwing elbows, grown men crying.  It can get ugly.  Now imagine what would happen if you distributed product tossers around the venue. Rather than everyone rushing into one location, smaller crowds would gather at different locations, spread over a larger area.

CDNs are a critical component of your live webcast productionA CDN does essentially the same thing.   When there is a large demand over a limited time frame for a single file (a live webcast), the CDN reproduces the stream at many different locations to allow more people easier access and tries to eliminate “fights” over the content.

A common mistake that gets made when selecting a CDN is choosing one based solely on bandwidth costs.  This could lead to nasty problems during the event. Small CDNs may perform well when there is limited traffic or the traffic is distributed over a long period of time.  However, if the traffic exceeds the capacity of the CDN to meet that demand, users experience buffering, lost connections and other mayhem, all things that severely affect the webcast experience.  Unfortunately, this problem won’t reveal itself until it’s too late, when there is the most demand for your webcast.

To counter this problem, you need a CDN large enough to handle your traffic.  A good CDN has many servers distributed around the world.  By having more locations, they can better distribute access to these points and ensure than no bottleneck occurs.  This guarantees that the capacity is there to handle the demand precisely when your event is progressing the sport to the next level.  And everyone logged on will have a quality stream the whole time.

Next up, how to find out how much bandwidth you have at your event site and how that affects your plans for your live webcast.

Topics: Webcast Tips

Why Flash is better than HTML5 for your live webcast [Updated]

Posted by Jeff Harper on Thu, Sep 2, 2010 @ 16:09 PM

Since we originally published this article, it has become the most viewed post on our blog.  Since then, we've done more investigation into HTML5 and discovered a number of nuances that we weren't aware of at the time.  In the interest of providing the most clarity and current information for the new readers continually discovering this article, we decided to edit it rather than post a new one.- JH December 20, 2010

The HTML5 hype

flash vs. html5In the past few months, we've had a number of people tell us that the technology we use for our player and streaming video, Adobe Flash, is dead.  HTML5 is the new streaming technology on the block and all the cool kids have signed on.  We should dump our old Flash based player and scoring system and start writing HTML 5 code today.  If we insist of delivering webcasts using a Flash player, we're signing our death certificate.  If Steve Jobs says so, who could possibly disagree?

Well, we did.  It just didn't make sense.  New technologies take a long time to penetrate the market and become standard.  Old technologies take a long time to disappear.  We still see IE6, a browser released in 2001, pop up in our analytics reports (in about 1 out of every 200 visits as a matter of fact).  How was something so new going to turn Flash into a dinosaur overnight?

There seemed to be an awful lot more hype than rational thought going on.  Just because "everyone is doing it" and it was the latest fad, we didn't think that was necessarily the best reason.  Someone needed to stop the hype train and ask, "Is HTML5 a superior technology for our customers that necessitates serious new investment?  How does one define superior technology?  And, is everyone really using HTML5?"  

First, Some Background

The problem all started when Apple announced that it wouldn't support Flash on its iOS devices (iPhone, iPad, iPod Touch).  Rather, Apple said it would support a new technology, HTML5.  Since those were the hot devices in the news, developers who didn't want their clients to think that their sites and apps were incompatible, immediately freaked out and started jumping on the HTML5 bandwagon.

Finally, Some Real Numbers

Then, Jan Ozer, one of the foremost authorities on streaming media, posted an article on his blog entitled, The Five Key Myths About HTML5 He comes to the conclusion that the value of HTML5 is that it forces you to, "encode in more formats that offer no advantage over H.264, and play on fewer computers, and distribute your on-demand video with less quality of service, fewer features and less ability to monetize than you can with Flash or Silverlight. Oh, and forget live."

Forget live?  Whaaat?  But Uncle Steve told us his Jesus phone (and all related technologies) was the very bestest.

Seeing as how we own an iPhone/iPad streaming solution, we were a little shocked too.  Time to get a second opinion. We tracked down more information about live streaming with HTML5 over at the Longtail Blog, developer of perhaps the most ubiquitous video player on the web today.

HTML5 does not specify a streaming mechanism yet. While this is being worked on, it means that live, DVR and long-form video content cannot be played using a video tag.

It turns out that without an agreed upon standard for web video, each vendor has gone ahead and come up with their own solutions. While each solution uses the HTML5 <video> tag, the respective browsers are each only compatible with a different video codec.

html5 video compatibility

As you can see, there is no one perfect video codec.  Depending on the browser your users select to view your video, they will require a different codec.  Moreover, the above chart is only concerned with video on demand.  For LIVE video, there is even less support, e.g. Chrome does not support live h.264 streams, but does support live WebM streams.  It's also interesting to note that Internet Explorer currently supports no HTML5 video, live or on demand, yet it is the most commonly used browser in the world.

Yes, but is HTML5 Superior?

While the proponents of HTML5 have a number of reasons, we have a singular goal: To deliver the most robust and widely accessible webcasts on the planet.  Following that logic, we believe that the most important consideration for events is making their stream compatible with the largest possible number of devices.  In our mind, the emergence of iOS devices (iPhone, iPad) and Apple's refusal to allow compatibility with Flash is what created this hype around HTML5 in the first place.

Assuming that the performance of each technology is similar (to which Ozer says Flash has an edge), compatibility should then be the primary consideration for determining superiority.  With all the press surrounding the iPhone and iPad, surely events without an HTML5 strategy would be missing out on a huge percentage of viewers.  We needed to find out which technology, Flash or HTML5, is compatible with the most devices?

According to the Ozer, if you encoded multiple HTML5 streams, you would still only be able to reach the 40-50% of browsers that are HTML5 ready.  Using only one codec decreases compatibility further.  

Aside from the hassle, encoding multiple streams creates other problems.  Each encoded stream consumes encoder capacity, which in turn requires more encoders.  In order to reach 99.5% instead of 40-50% of devices, you would need to encode at least 3 streams (Flash, WebM and h.264).  Using dynamic streaming with three bitrates, you would have to encode 7 streams and use multiple encoders.  In addition, more streams require more bandwidth.  Using a moderate bitrate to reach the most possible viewers, an event would require at least 2.4Mbps, which is significantly more than a T1 line can handle.  Encoding HD streams with dynamic HTML5 streaming would require at least 10Mbps upload capacity and 16Mbps to be safe.  While it is possible, that much bandwidth at a location is rare.  Therefore obtaining sufficient bandwidth could significantly increase the cost of an event.

This is a lot of trouble when Flash works perfectly well on 98.8% of computers.  iOS devices only make up only a little over 1% of overall web browser traffic.

It seems to us that, in addition to many complications related to encoding, the cost, the lack of features and relatively worse user experience associated with HTML5, dumping the majority of your audience to capture the small percent of iOS users is pretty foolish. 

Maybe Flash Isn't Dead on Mobile Devices

In September, Adobe released Flash for some Android phones.  Around six weeks later, Flash had been installed on 1 million Android devices.  As more and more devices have become compatible, the install rate has accelerated.  In other words, Flash webcasts are possible on mobile devices.  Actually, we've been testing Flash on Android devices since the beginning of August. 

In the most interesting test to date, we streamed an unmodified webcast to our out of the box player on our Droid.  It worked perfectly and I have to say, performance was impressive.  While the video was not as smooth as you would see on a desktop, there were very few dropped frames and the battery life seemed no different than when using the browser normally.  We were even able to log into and use our chat module.  Pretty incredible considering that we did nothing out of the ordinary to make the webcast compatible with the phone.

Our Conclusion

We definitely believe HTML5 penetration in browsers will grow.  We also believe that you shouldn't ignore iOS devices.  Our belief is that at this time, with Flash compatibility on almost 99% of devices, including a growing number of mobile devices, the time, expense and complications associated with using HTML5 as your primary video technology aren't worth it.

Our recommendation is that clients should still offer the complete experience via Flash.  In addition to the widest compatibility, it offers the most comprehensive feature set.   As the most popular streaming solution available and an extensive amount of software and hardware already developed, it will be much cheaper.  

If you are interested in reaching users on iOS devices, we suggest creating one HTML5 stream and a simple player until HTML5 becomes a much more mature technology.

How would you compare Flash and HTML5?

Topics: Live Webcast Solutions, Flash

Why you need a dedicated encoder for your live online broadcast

Posted by Jeff Harper on Wed, Sep 1, 2010 @ 19:09 PM

"My piss has a stronger stream." - tits hemmingway

Broken TVWhen things go wrong during a live action sports webcast, online audiences feel no inhibition about getting poetic.  Something about the anonymity of the web combined with stuttering video creates heartless little creeps who have no sympathy for the unyielding complexities of live events.  However, while dipping into their proverbial French vocabulary for four letter words, sometimes the audience manages to pull off a metaphor worthy of Shakespeare (or more likely, David Mamet) such as this eloquent (some might say Hemingway-esque) beauty left in the comments of one of our competitor's webcasts.

We know that this unfortunate outpouring of creative energy, enough to make a longshoreman cringe, can be avoided.  In our experience, there are a few key factors that seem to be at the heart of most of these horror stories.  Knowing that this is the fear of event organizers around the world, we thought we'd put together a brief checklist for how you or your provider can ensure a smooth live stream.  Mastering these, like we have, enables you to kill the muse for your viewer's inner online poet.

 

Get a dedicated encoder

In action sports, every frame counts.  Drop a couple of frames and in that split second, a 1080 is indistinguishable from 360.  To make things worse, during a 1080 is when your encoder is most likely to drop a frame or two or 20.  It's not Murphy's law at work, it's just the way the technology has been built.

In order to squish that huge amount of information from your massive HD video stream (that you've paid tens of thousands extra for) into your viewer's tiny internet tubes, you need compression.  Video compression means looking for similarities between video frames and throwing out the redundant info.  It's not too hard on a compressor when it's a lock down shot of a talking head with only a moving mouth.  Throw a panning, zooming double cork at it where every pixel changes, and you've just overloaded your encoder.

Your free encoder (ahem, Adobe Live Media Encoder, we're calling you out) that works just fine for corporate stockholder meetings can do one of two things when faced with more information than it can handle.  It can either push out a bandwidth spike in your stream or drop frames.  (ALME likes to do both)  Either one of these will cause problems, as we will explain.

The solution?  Tell two-time X Games Gold Medalist Bobby Brown he can only do straight airs all the way down the course.  But seriously, get a dedicated encoder with plenty of overhead so it can handle those double and triple corks.

How do you know your encoder can handle it?  Stream your favorite action sports DVD.  When you like the results, keep the encoder (or the provider).

Next up, why all CDNs are not created equal, and how to choose the right CDN for your live webcast.

Topics: Webcast Tips