Azure Media Services Overview
Updated: March 12, 2014
Windows Azure Media Services Windows Azure Media Services allows you to build scalable, cost effective, end-to-end media distribution solutions that can upload, encode, package, and stream media to iOS, Android, Adobe Flash, Windows, and other devices and platforms
To learn more about Media Services read through this document or skip to the Getting Started with Azure Media Services topic.
Media Services offer the flexibility, scalability and reliability of a cloud platform to handle high quality media experiences for a global audience. Media Services includes cloud-based versions of many existing technologies from the Microsoft Media Platform and our media partners, including uploading, encoding, format conversion, content protection and both on-demand and live streaming capabilities. Whether enhancing existing solutions or creating new workflows, you can easily combine and manage Media Services to create custom workflows that fit every need.
Service Level Agreement (SLA)
We guarantee 99.9% availability of REST API transactions for Media Services Encoding. On-Demand Streaming will successfully service requests with a 99.9% availability guarantee for existing media content when at least one On-Demand Streaming Reserved Unit is purchased. Availability is calculated over a monthly billing cycle. For more information, download the SLA document.
In order to encode, manage, and stream your videos, you must first upload your content into Windows Azure Media Services. Media Services uses Azure Storage to store your media for processing and streaming. You can programmatically upload your content using the Media Services REST API or one of the available client SDKs. For more information about the client SDKs, see Developer Tools for Windows Azure Media Services . These API allow for uploading one file at a time or bulk upload operations. Windows Azure Media Services also provides for secure uploading of your content. Storage encryption encrypts your content locally and then uploads it to Windows Azure Storage where it will be stored in an encrypted form. You can also take advantage of third-party fast upload providers like Aspera. For more information about uploading content, see Uploading Media
Encoding and Packaging Media
The following blog explains the difference between encoding and packaging: Encoding versus Packaging.
Encoding is the process of taking a video and compressing it into a format that can be consumed by your customers. Your customers may be using any number of devices to watch your videos: PC's, Mac’s, smart phones, tablets, XBox consoles, set-top boxes, or connected TVs. Each of these devices has features that affect the encoding needed. Smart phones have small screens and little storage, tablets have larger screens but less storage space when compared with PC and so on.If you have not already decided what device or devices you are targeting, see Choosing Your Media Experience. When choosing the encoding for a video, keep in mind all of the devices your customers will use. In some cases you may want to have multiple encodings to enable the best possible experience on a range of devices. For more information on encoding. See Encoding Media with Media Services
Packaging Media (Static and Dynamic)
Once a video has been encoded it can be placed into many different file containers. The process of placing encoded media into a container is called packaging. For example you can take an MP4 file and convert it into Smooth Streaming or HLS content by using the Windows Azure Media Packager to place the encoded content into a different file container. Media Services supports dynamic and static packaging.
When using static packaging you need to create a copy of your content in each format required by your customers. Use the Windows Azure Media Packager to perform any of the following tasks:
convert MP4 content to Smooth Streaming content,
convert Smooth Streaming content to Apple HLS format,
validate an asset that contains multi-bitrate Smooth Streaming or MP4 files.
With dynamic packaging all you need is to create an asset that contains a set of multi-bitrate MP4 files or multi-bitrate Smooth Streaming source files. Then, based on the specified format in the manifest or fragment request, the On-Demand Streaming server will ensure that you receive the stream in the protocol you have chosen. As a result, you only need to store and pay for the files in single storage format and Media Services service will build and serve the appropriate response based on requests from a client. For more information, see Dynamic Packaging.
Streaming media is delivered to the client player application in small chunks. When encoding for a streaming format, the encoder breaks up the content into small chunks. The size of the chunks and how they are stored vary by streaming technology. When a client starts playing a video it can download the first chunk and display it quickly. After the player displays a chunk, it requests the next chunk from the server. Media Services supports a number of different streaming technologies:
Progressive Download - allows you to start playing media before the entire file has been downloaded
MPEG DASH is an international standard adaptive bitrate streaming protocol developed by the Motion Picture Experts Group (MPEG)
HTTP Live Streaming or HLS, is an adaptive bitrate streaming technology developed by Apple
Smooth Streaming is an adaptive bitrate streaming technology developed by Microsoft
Adaptive Bitrate Streaming
Adaptive bitrate streaming involves encoding a video into a number of different bitrates. When a player application is playing a video it can determine network bandwidth on the fly and switch to a higher or lower bandwidth chunk as network conditions change. This allows clients to receive the highest quality video when network conditions allow and when network conditions degrade the player can still play the view (although at a lower quality). Windows Azure Media Services support streaming media using HTTP Live Streaming (HLS), MPEG-DASH, and Smooth Streaming.
Media Services enables you to protect your media in a number of ways. You can upload your media using Storage Encryption. This protects your content while being uploaded into Media Services as well as when it is at rest in Storage. Media stored in this manner must be unencrypted prior to any processing for example, encoding, packaging, and streaming. At each step in the processing pipeline you have the ability to specify encryption options by passing parameters to the media processor being used (encoder, packager, and encryptor). Media services supports PlayReady DRM and AES 128-bit Envelope Encryption to protect content while streaming. For more information, see Securing Media.
Windows Azure Media Services provides support for ad insertion through the Windows Media Platform: Player Frameworks. Player frameworks with ad support are available for Windows 8, Silverlight, Windows Phone 8, and iOS devices. Each player framework contains sample code that shows you how to implement a player application. There are three different kinds of ads you can insert into your media:
Linear – full frame ads that pause the main video
Nonlinear – overlay ads that are displayed as the main video is playing, usually a logo or other static image placed within the player
Companion – ads that are displayed outside of the player
Ads can be placed at any point in the main video’s time line. You must tell the player when to play the ad and which ads to play. This is done using a set of standard XML-based files: Video Ad Service Template (VAST), Digital Video Multiple Ad Playlist (VMAP), Media Abstract Sequencing Template (MAST), and Digital Video Player Ad Interface Definition (VPAID). VAST files specify what ads to display. VMAP files specify when to play various ads and contain VAST XML. MAST files are another way to sequence ads which also can contain VAST XML. VPAID files define an interface between the video player and the ad or ad server. For more information, see Inserting Ads.
Building Client Applications
Media services provides the tools you need to create rich, dynamic client player applications for most platorms including: iOS Devices, Android Devices, Windows, Windows Phone, Xbox, and Set-top boxes
For more information see Developing Video Player Applications
A video Content Management System (CMS) enables you to upload, store, organize, process, and publish media. Content Management Systems in general store files in a database and allow for metadata tagging, searching, and revision tracking.
While Media Services is not a CMS it does enable you to implement a video processing workflow. You can upload and store your content in Windows Azure Storage, encode and package media into a variety of popular formats, and stream your videos online.