Introduction to Azure Media Services
This article introduces Azure's media services and teaches you how to use the same.
You can read the previous article on Data Services here.
Microsoft offers a plethora of services under its cloud computing banner. Another service – targeted primarily at media content – is Windows Azure Media Services. With the high requirement of media content, a service that can help with media content is very much sought after, and Windows Azure Media Services fills this gap with PaaS solutions for media management that also offer the user the scalability of cloud computing.
Media Services are built upon cloud-hosted instances of the Microsoft Media platform, which is a complete set of technologies from Microsoft for encoding, delivery, and playback for possibly any network-connected device. Using Windows Azure Media Services the user can build a work flow end to end which will process the media entirely in the cloud – including Uploading, encoding, decoding, downloading, formatting, streaming of media contents in different platforms and different devices, all as workflows that run entirely on the cloud. And as with all of Windows Azure services, Media Service has a REST-based API, which allows for easy integration with custom tools to work with media workflows.
What can we do with Windows Media Services?
Transcoding (or smoothstreaming) – When you upload (ingest) the movie taken with a Smart Phone or Camcorder and want to convert it to a format that will be played on greatest variety of devices and bandwidths. Azure media encoder will help you produce multiple files with different bitrates to support better end user experience.
Delivering it to millions of users – Azure lets you deliver the content in two different ways. Using dynamic packaging it dynamically delivers the asset to the right device in the right format. It also lets the user pre-package his/her media to avoid the additional charge per unit hour of the dynamic packaging.
Digital Rights Manufacturing – It lets the user encrypt his/her media assets so that only user with a proper license can read them. However, it does not provide the platform for full DRM protection, for which the user will need a separate DRM service provider.
Let's skim the basics now, shall we?
There are 3 stages that take place in the workflow of a generic application in Media Services – Ingest, Transform, and Deliver. First the media is ingested where it is basically uploaded onto the Windows Azure platform. Then it is encoded, decoded or transformed into different operations. And finally Delivery is the output task where we want the encoded and formatted media content to be out with smooth streaming, or to be downloaded to a specific medium.
There are several objects – called entities – that you will need to work with. A few of them are:
• File: A single file within an Asset.
• Asset: A set of files that have the same contextual meaning. Basically a file which holds the metadata for the media content which we upload or encode to the Media Services. It could be just a single file – an MP4 file, or multiple files – different MP4 files representing the same video.
• Task: A single operation over your asset. It is executed over the entire asset, and generates a whole new asset as output. It doesn’t work alone – it works along with Job.
• Job: It is a set of tasks. Multiple tasks could be linked in a single job. The job then executes tasks in parallel or in serial. It basically hold the metadata of a task where if a JOB is used to create a new asset or a file, it does it by associating with more than one task.
• Access Policy: A definition or a combination of definitions that hold a policy based on which the asset or file can be accessed.
• Origin: The service that will stream your media. You can work with shared origins or reserve dedicated origin unites depending on your requirement.
• Locator: It defines an endpoint for accessing an asset.
Prerequisites
• A Media Services account in a new or existing Azure subscription.
• .NET Framework 4.
• Visual Studio 2013, Visual Studio 2012, or Visual Studio 2010 SP1 (Professional, Premium, Ultimate, or Express).
• Install Azure SDK for .NET.
To install Windows Azure Media Services SDK, open Package Manager Console in Visual Studio and execute the following command – “Install-Package windowsazure.mediaservices”
Also, where media is concerned, depending on the platform on which we want the media to be delivered, there are different formats that must be matched. To help developers reach the widest audience, Microsoft has released a number of extra SDK packages for different client platforms, which can be found here.
Getting Started
First create a Media Services Account. Go the management console, and then go to Media Services > Create a media service account.
Then click on Create Media Service button to initiate the Service. It will take a few minutes to be created, but once it is done, the Dashboard will intimate that the service has been created. Now the user can upload, manage, and deliver content seamlessly.
You can read our introductory slideshow here.