Recent numbers reveals that 57% of Internet traffic is video content. That's huge. And that is possible because today's technology enables anyone to create and consume video content. Users are increasingly directing their computing devices and TVs to video content provided by services such as Netflix, Comcast's Xfinity, Hulu, Amazon Instant Video, and YouTube.
In such an environment, service providers who provide video content face quite a few challenges:
- Infrastructure costs—for the hardware needed to support the services
- Operational costs—for providing content for any device, at any time, in any format
- Monetizing contents
- Digital Rights managements—to prevent piracy of content
- Security of user and content
It's no wonder that providing a cloud-based offering is something that major cloud providers have seen as an opportunity to provide a platform solution for media services.
Azure Media Services from Microsoft sits on top of the Windows Azure infrastructure and provides access to various media services via productized REST APIs.
Image Source: Build 2014 talk on Windows Azure Media Services.
Azure Media Services offers various video-on-demand services:
There are various ways to ingest a Mezanine asset. It supports encrypting files (with AES 256 hashing) prior to uploading content. It also supports secure HTTPS upload. It supports network-level peering for fast HTTP into Azure cloud. UDP data upload is also supported.
Windows Azure Media Encoding is available to encode content.
It supports encoding to H.264 and VC-1 video formats.
Audio can be encoded in the following formats:
- Dolby DD+
Windows Azure Media Services offers the ability to package content into various formats:
- Smooth streaming
- HTTP live streaming
Azure Media Services supports encryption technologies such as PlayReady, Common Encryption, and AES.
Azure Media Services offers managed streaming service that just works. It also provides:
- Guaranteed bandwidth
- Support for auto recovery
- Support for redundancy and failover
- Support for multiple origins which scales independently
The pricing details of Azure Media Services can change over time. You can check out http://azure.microsoft.com/en-us/pricing/details/media-services/ to find out the current pricing.
Developing Applications for Azure Media Services
Azure Media Services offers a rich REST API for all platforms. The REST API is documented at http://msdn.microsoft.com/library/azure/hh973617.aspx.
For .NET developers, additional resources include:
- Nuget package: https://www.nuget.org/packages/windowsazure.mediaservices
- Extensions for .NET SDK: https://github.com/sazure/azure-sdk-for-media-services-extensions
The SDK is also available for PHP (https://github.com/windowsazure/azure-sdk-for-php), Java (https://github.com/windowsazure/azure-sdk-for-php), and NodeJS (https://github.com/fritzy/node-azure-media) developers.
One of the newest features of the Azure Media Services is the support for live streaming (still in beta). This allows streaming contents live directly through a public cloud with support for multi-output format.
Because of cloud elasticity, there are no capital expenses, and can ramp quickly to global scale. Access to this feature can be requested at https://www.surveymonkey.com/s/PK92TQQ.
In this article, we learned about Azure Media Services. I hope you have found this information useful.
About the Author
Vipul Patel is a Program Manager currently working at Amazon Corporation. He has formerly worked at Microsoft in the Lync team and in the .NET team (in the Base Class libraries and the Debugging and Profiling team). He can be reached at firstname.lastname@example.org.