Friday, January 8, 2010

Smooth, and Dynamic, and Adaptive streaming, oh my!

You may or may not be familiar with a relatively new online video streaming technology that has been around for over a year, but has yet to be fully embraced by most content publishers online. This technology, however, can be hard to describe because it has many names, with each being called something different by the companies that have incorporated it into their player and streaming software.

• Microsoft’s Silverlight calls it Smooth Streaming
• Adobe’s Flash calls it Dynamic Streaming
• Apple’s iPhone/iTouch calls it Adaptive Streaming (or HTTP Streaming)

Although there are some pretty major technical differences in terms of how each of these technologies work, the end result as far as user viewing experience of video content is concerned, is more or less the same. If you have heard of these technologies, you might ask why should I care about smooth/dynamic/adaptive streaming? What is the point? How will it benefit my customers? The major accomplishment of the technology is that you don’t have to compromise the quality of your video online anymore (ok, you still have some limits).

When trying to push the limits of video quality for both live and on-demand, you always have to worry about alienating users with lower bandwidth (dial-up, DSL, 3G) and less powerful computers. As a result, you either have to cater to the lowest denominator, missing an opportunity to provide better quality to those who can see it, or provide a mechanism so that users can switch to a higher quality feed. A high/medium/low toggle helps alleviate some of the issues, but some people may not know they can switch, or may think they should be able to see the high quality feed and end up being frustrated because the video is choppy or won’t play at all. Settings (user preference, session, cookie, etc.) can alleviate constantly having to select “high” quality, but if you travel with your computer the speed of your network can change, for example notoriously horrible hotel connections. Recognizing this problem, an earlier solution was to add player code to automatically select the appropriate bit rate based on bandwidth detection done by timing the download of a test file. This solution did work but it typically only tested at the beginning of the streaming session and wouldn’t react to changes in performance which occur during viewing. This bandwidth only model also provided limited visibility into the performance of the actual computer itself.

Although these issues seem minor, they can be a road block between the user and your content. The situation will also become increasingly exasperated as mobile phones become more like PCs and users transition between 2/3/4G and Wi-Fi networks. The increase in HD content on the web also drives the need for higher bit rates to provide quality viewing experiences for the larger video size.

Then along came smooth/dynamic/adaptive streaming.

With these new adaptive technologies, the user no longer needs to know, choose or even understand. Their computer, player, and, in some cases, the network server they are receiving video from, is responsible for choosing which quality is best for the user’s current and changing situation. This allows a content publisher to optimize their content so that it is viewed in the best possible light in all user capability scenarios as illustrated below. This is especially important for ‘premium’ content which is complimentary or competitive with television viewing.



Adaptive streaming doesn’t just apply to high quality HD content. It can also help benefit end users by providing an optimal version for SD content as well.

However, there are some caveats to this new technology. It won’t make a user’s experience better than their actual bandwidth, for example, if you only have 300 kbps of connectivity you’re not going to magically see HD quality. Additionally, although an end-user only ever connects to one stream at a time, one of the downsides of making higher quality content available is that it can increase your overall bandwidth/CDN delivery costs. Users on high speed cable and fiber optic networks will, for the most part, consume the highest quality stream available. Also, all of the additional outputs, used or not, consume more storage. With decreasing CDN delivery and storage cost, this is less frightening that it used to be.

In a nutshell, smooth/dynamic/adaptive streaming will show your video content in the best possible manner to all end-users, all the time.
For more information on the individual technologies, please see the following links:

Microsoft Smooth Streaming
Flash Dynamic Streaming
Apple iPhone HTTP Streaming


Author - Forest Johns, VP of Solutions Engineering
Share |

2 Comments:

Blogger Alden Torres said...

Hi Forest, I would like to add another technology that can help a lot in the video streaming, Scalable Video Coding (SVG).

January 8, 2010 at 9:34 PM  
Blogger Origin Digital said...

SVG is similar to the push from Microsoft a few years ago for Multiple Bit Rate encoding which didn't really take off. I think the reason that adaptive/smooth/dynamic formats are going to see wider adoption is the ease of supporting it on the player side (Flash and Silverlight) without the need to create custom applications for presentation.

Have you seen anyone adopting the Scalable Video Coding method from a media publishing standpoint (looks like it has primarily been picked up by video conferencing companies)? I'm interested in learning more about some of SVC's current and future commercial applications.

Forest

January 11, 2010 at 11:24 AM  

Post a Comment

Subscribe to Post Comments [Atom]

<< Home