The importance and utility of video as a content delivery platform is demonstrated by YouTube's impressive statistics. With more than 1 billion users each month watching over 4 billion hours of video, YouTube LLC is effectively a global broadcaster. Interestingly, 25% of YouTube viewers access the service from mobile devices, a three-fold increase from just two years ago. For enterprises that want to provide on-demand access to video content, but with more control and fewer associations with cat videos than YouTube offers, Windows Azure Media Services may be the cat's meow.
The Windows Media Server has provided Microsoft customers with tools to implement media services on-premises or through a hosting partner; now with Windows Azure Media Services, enterprises can get the benefits of Windows Media Server as a cloud service.
Businesses can use video services for a wide range of applications, including broadcasting executive briefings, hosting webinars, providing training to staff and customers, and making available on-demand sales support videos. Businesses also routinely incorporate YouTube and other video services into their social media strategies.
Although there are plenty of uses for video services, the services demand a complex infrastructure. The low-cost video-capture equipment available on most mobile devices has reduced the barriers to creating raw video content, but getting content from the initial creation stages to on-demand availability on the Web requires substantial software, hardware and networking resources.
Providing live streaming or on-demand access to video and audio content comes with a number of challenges, including formatting content for multiple platforms, protecting valuable intellectual property and ensuring a reasonable experience for end users who could literally be anywhere around the globe.
Using Media Services from start to finish
The Windows Azure Media Services platform has four types of services: content uploading, encoding, encrypting content and streaming. To access all of them, create a Windows Azure account that is enabled for Media Services. Enabling your account allows you to store metadata about your media content and processing jobs.
One advantage of running media services in the cloud is that your jobs can take advantage of multiple servers for processing.
Once you enable Media Services and create content you'd like to upload, use the Media Services software development kit (SDK) for .NET or the Windows Azure Media Service REST application program interface (API) to connect to the service and ingest content. Uploading large volumes of content can be time-consuming, but Microsoft has worked with third-party partners and now offers upload optimization tools.
One advantage of running media services in the cloud is that your jobs can take advantage of multiple servers for processing. Windows Azure Media Services supports encoding in multiple formats, adding watermarks and encrypting content with Microsoft PlayReady Protection. Media Services uses a job abstraction, which is a set of tasks applied to content. This way, you can perform multiple processing steps on content in a single logical operation.
After content is processed, it is stored persistently in Windows Azure storage. Content is accessed by URL, so client applications such as Microsoft Silverlight or a custom application accesses the content directly. Media Services also supports access controls.
Mitigating distance with content delivery networks
Another factor to consider when running media services in the cloud is the location of your viewers. If you reach a global audience, you must consider the user experience of viewers who are long distances from the equipment serving the content. The time required to transmit packets is a function of both technical limitations, such as the speed of network equipment, and business issues, such as
peering agreements between Internet service providers that use each other's networks to reach all points on the Internet. The longer the distance between the source of video and client device, the more likely the customer will experience long latency, packet loss and other potential service problems.
One way to mitigate the service impact of distance is to us a content delivery network (CDN); the difference in network performance with a CDN can be dramatic. Windows Azure Media Services works with the Windows Azure CDN to improve content delivery performance for a global audience.
CDNs establish multiple points of presence around the globe and replicate data between these points. When video content is delivered via a CDN, viewers will download the content from the closest CDN point. For example, network traffic within North America might have round-trip latency of 40 to 50 milliseconds, while traffic between North America and Asia might experience a 120 to 130 millisecond round-trip latency.
Media Services is billed on a pay-as-you-go model or a six- or 12-month plan. Microsoft charges are based on the amount of content processed, stored and downloaded. Storage and outbound network traffic charges are the standard Windows Azure charges. Media Services processing starts at $1.99/GB but drops with volume or with multi-month commitments. Additional charges apply when reserved units are used for parallel processing. If you deal with large volumes of video, be sure to compare costs against an on-premises solution. You may find your marginal cost at scale is less than these charges.
About the author:
Dan Sullivan, M.Sc., is an author, systems architect and consultant with more than 20 years of IT experience. He has had engagements in advanced analytics, systems architecture, database design, enterprise security and business intelligence. He has worked in a broad range of industries, including financial services, manufacturing, pharmaceuticals, software development, government, retail and education. Dan has written extensively about topics that range from data warehousing, cloud computing and advanced analytics to security management, collaboration and text mining.