Adrenaline Garage Blog

Adaptive Streaming: An essential you never knew you needed.

Posted by Jeff Harper on Fri, Sep 10, 2010 @ 18:09 PM

This article is the fourth part of our series, 5 Things you need for a Stutter Free Webcast.

Accept that many of your users don't actually have high speed connections.

So you have a blazing fast connection, a dedicated encoder and a top-of-the-line CDN.  Now you're ready to push full res HD to your viewers, right?

Accept that your webcast viewers don't have high speed internet.Actually, your viewers tend to be the weakest link in the live webcast production chain.  While a lot of internet service providers throw around the phrase "High Speed Internet", the truth is their customers are rarely getting the advertised speeds.  In fact, a recent study by the FCC found that on average consumers got about half the bandwidth they were promised.

Still the report says the average US consumer's connection speed is 3Mbps, which would be enough to stream a pretty good HD webcast. 

There are two problems.  First, while our own numbers back that up in the US, our numbers show us that only 25-35% of viewers outside the US are capable of receiving an HD stream.  Second, if you want to maximize your audience, you can't plan for the average consumer.  That would eliminate about 50% of your audience.  To have 90-95% of people who want to watch your webcast actually see it, you need a plan to accomodate viewers with connections in the 5th-10th percentile--some pretty miserable connections.

Anecdotally, during events we've contacted viewers experiencing problems to troubleshoot and improve our system.  Poor connection speed, even on supposedly high speed DSL connections, is the number one cause of why viewers report a poor viewing experience.

Strategies

There are three strategies to accommodate the largest possible audience.  Of course, each has their trade-offs.

  1. Adaptive Bit Rate Streaming.  We consider this the best method for our clients.  Using this strategy, the encoder would push several streams of different bit rates to the server.  The user's player polls their connection speed and selects the right stream for the user's connection and processor speed.  If anything changes, either improves or deteriorates, the player seamlessly switches to a more appropriate stream.
    • Pros:  This allows viewers to see the best possible stream, regardless of whether have a high-end or low-end connection.  If the connection speed changes, the player switches seamlessly between streams with no interruption to the program.  The viewer doesn't have to know anything about their connection or do anything on their own.
    • Cons:  You'll need a faster connection at your encoder because you'll be pushing multiple streams.  This method is the most expensive because it requires a custom player that is capable of doing the switching.  It's a rather new technology and while we've developed our own, we don't know of any off-the-shelf live adaptive bit rate players available that are viewable across a large array of browsers and operating systems.  (Apple has developed one compatible only with Mac devices using the latest Safari browser).
  2. Manual Stream Selection.  Using this strategy, a user or player selects the stream (usually called "High" and "Low") at the time they connect to the server.  If the connection speed changes, the user must stop that stream and start the other stream.
    • Pros This method does allow you to have a high resolution stream for better connections and a low resolution stream for poor connections.  This too may require a custom player, but is a much older method and more are available.
    • Cons If the connection speed changes, either improves or deteriorates, there is no way to detect it.  If it improves, the viewer will not know they could be watching a higher resolution stream.  If it deteriorates, the viewer will know when the stream starts to stutter and buffer.  Changing streams is not seamless and will cause the viewer to miss some of the program.
  3. Streaming for the Lowest Common Denominator.  If you must use an off-the-shelf player or are limited to only one stream, then this is the last option.  In this scenario, you produce one stream at a very low bitrate.  While it won't look great, at least everyone will be able to see it.
    • Pros It's the least expensive option as there are a number of free off-the-shelf players available.  It requires the least bandwidth for the encoder.
    • Cons The quality of your stream will be reduced to what's acceptable for the lowest common denominator.  In our experience, this much compression typically involves heavy blockiness and muddiness when streaming an action sports event.  The other option is to eliminate a sizable chunk of your audience's ability to see the stream.
Next up, how to deal with the unexpected.

Topics: Webcast Tips

Can your internet connection handle your live stream? Are you sure?

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

This article is the third part of our series, 5 Things you need for a Stutter Free Webcast.

Get a quality internet connection at your event site

Even if you can view high resolution videos using your internet connection, that may not mean that your connection is sufficient for streaming a live webcast.  Here is our process to determine if a connections is "live stream ready" and if not, what alternatives exist for you to consider.

Understanding how a live webcast uses an internet connection.

When you measure connection speed, there are two speeds that you need to keep in mind, download speed and upload speed.  While it might seem logical that both would be the same at any given location, that is rarely the case.  Most often, internet service providers will provide more bandwidth for downloading than uploading simply because that is what most people do most often.

Unfortuatnely, for a live webcast, upload speed is absolutely Speed matters for webcastscritical.  It is what determines the bitrate you can push to your streaming server.  Bandwidth is like a pipe.  As long as you aren't cramming more stuff in the pipe than it's capacity, there's not a problem.  As soon as you do, not all the information can get through.  The result in your webcast is stuttering, dropped frames and all sorts of nastiness that you want to avoid.

Measuring your upload speed

The easiest way to measure your upload speed is by conducting a free speed test.  Select a location nearest to where your origin server exists.  Some CDNs provide multiple origin servers at various locations around the world.  By testing the speed to several locations, you can identify the server that is most likely to perform the best.

It's important to test your connection speed multiple times in conditions similar to the ones you'll be operating under.  Additional users sharing your connection will affect your connection speed.  For example, many ski resorts' POS system use the internet.  During very heavy sales, their system may cause a reduction in the available bandwidth.

Why you need to consider overhead

Even if your results are pretty good, there are number of things that can happen during your webcast that you need to take into account. 

  • All encoders stream's bitrate will spike when there is a lot of action on screen.  Unfortunately, when there is a lot of action is on screen tends to be the most critical point of an action sports event.  This is one of the reasons we suggest a getting a dedicated encoder for your webcast, as they tend to have much smaller spikes.
  • Increased internet traffic at any point along your route can cause a decrease in your connection speed.  Realistically, during events, there is always more demand for internet connections than you've anticipated.
  • Just the way that streaming technology works means that your stream actually will have less effective bandwidth than what you've measured.

To calculate your maximum bitrate, take the worst result from your speed test and divide it by 2.  For example, if you measured your upload speed at 3.2Mbps, that means that 1.6Mbps is the maximum recommended bitrate of your stream.

Alternatives

If you discover that you don't have a sufficient connection for your desired bitrate, there are a couple options available.

  1. Lower the bandwidth of your streams.  While this will cause more compression and therefore a degredation of the quality in your video stream, we consider this far better than stuttering.
  2. Eliminate adaptive streaming.  Each stream takes up bandwidth in your connection.  Eliminating a stream may allow you to have enough bandwidth for the others.
  3. Get a temporary high speed connection.  Some internet service providers are happy to set up a temporary connection.  If that doesn't work, portable satellite uplinks are available for rent, but tend to be very expensive.

Are you looking for other ways to improve your live webcast?  Don't want to miss out on more tips and tricks for producing better, more engaging, higher quality livestreams?  Subscribe to Adrenaline Garage's quarterly report via email today.

Subscribe to Adrenaline Garage

    Topics: Webcast Tips

    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 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

    How to Grow Your Webcast Audience: Fish Where the Fish Are

    Posted by Michael Gianelli on Sat, Jul 10, 2010 @ 05:07 AM

    Crankworx Colorado Webcast LogoLast year, we helped Crankworx Colorado grow their webcast audience by 3000% and streamed over 800,000 minutes of video during the event. This is the story of how we did it and how you can too.

    The Old Way

    In the dark ages of webcasting, circa 2007, every event felt like they had to have their player exclusively on their site. I mean, they were the ones fronting the money, right? Why should they give it away? If someone wanted content, they should chip in and pay for it.

    And then 5 people watched. It turns out that about the only people willing to hunt down a webcast were the moms of the participants--if they could figure out how to download that damn flash player for IE6. That's an exaggeration, but seriously, the audiences were pathetic.

    And that's probably not your prime demographic, right?

    The Bright Idea

    And then Newschoolers.com, Freeskiing's Online Community, asked a infant webcast production company (hint: it was us) to produce a webcast of the Orage Masters. We hosted it on their site and the Master's site. Guess which player drew the most traffic? It wasn't even close. Turns out that 13 year-old skiers are a lot better at downloading the flash player than moms. And for Orage, they were a much better demographic.

    So this gave us an idea. Why not put a player on every relevant site possible? Then we wouldn't have to rely on the pimply Adderall popping, Red Bull pounding skiers with nothing better to do on a Saturday to find us. When they logged on to their favorite website (we don't care which), BAM!, there's our webcast.

    It works. It works so well that Crankworx Colorado grew their online audience by 3000% when they dropped their exclusive agreement and drank the PowerAde (You see what we did there?).

    Yeah, wow. That's what we were thinking too.

    The Catch

    So why not post your webcast on every website? Hey, I've got a friend that runs a site filled with stupid cute cat photos. They get like 1 millions uniques a month. Why not post it there?

    Turns out, however, that there is a catch. People don't watch content they have no interest in. I know, mindblowing. But here's something a lot of marketers don't realize. "Action Sports Participants" is not a homogeneous a group of 14-24 year old males. They don't all listen to the same music, wear the same clothes and watch any old action sport just because it's on. Most snowboarders I know think watching surfing is boring. Snowmobiles in the X Games is the strangest marriage of rednecks and food court gangsters on the planet. And does anyone, except inline skaters, watch in-line skating?

    So the secret to "Fish Where the Fish Are" is that all fish will not bite one the same bait. Some might cross over, but the right bait really works best for the right fish. Make sure your fishing with the right bait in the right pond, and you'll reel them in. Fish with the wrong bait, and you go home hungry.

    Topics: Webcast Tips