This document is provided as-is. Information and views expressed in this document, including URL and other Internet Web site references, may change without notice.
Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred.
This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. You may modify this document for your internal, reference purposes.
2014 Microsoft Corporation. All rights reserved.
Microsoft, Azure, Internet Explorer, MSDN, PlayReady, Visual Studio, Windows, Windows Media, Windows Phone, and Xbox are trademarks of the Microsoft group of companies. All other trademarks are property of their respective owners.
Microsoft 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 Windows, iOS, Android, Adobe Flash, and other devices and platforms.
The guide describes a scenario concerning a fictitious company named Contoso that has decided to use Azure Media Services to provide a video-on-demand service as an end-to-end solution.
In addition to describing the client applications, their integration with Azure Media Services, and the decisions made during the design and implementation, this guide discusses related factors, such as the design patterns used, and the ways that the application could be extended or modified for other scenarios.
The result is that, after reading this guide you will be familiar with how to design and implement applications that consume Azure Media services.
Who this guidance is for
This guidance is intended for architects, developers, and information technology professionals who design, build, or maintain video-on-demand or online video portal applications and services, particularly those that integrate with a content management systems. To understand the sample code provided with this guidance, you should be familiar with the Microsoft .NET Framework, the Microsoft Visual Studio development system, the Azure SDK for .NET, ASP.NET MVC, and the Microsoft Visual C# development language.
Why this guidance is pertinent now
Building the workflow for the creation, management, and distribution of media is problematic. It involves having to integrate multiple technologies and providers, some of which may be incompatible. In addition, it can require a huge investment in infrastructure, which may not always be fully utilized. These issues can result in a non-standardized workflow that is not easily scaled, and that requires coordination at different stages of the workflow.
Media Services provides everything you'll need to build and operate video-on-demand services to multiple devices and platforms, including all the tools and services you'll need to handle media processing, delivery, and consumption. In addition, Media Services will integrate with content management systems to help your platform scale by using the global footprint of Azure datacenters, without having to plan for capacity spikes or worry about idle datacenters. Together, this helps to reduce the costs that are associated with integrating multiple products and providers when building a media solution.
How this guidance is structured
The following figure shows the road map for the guide.
The guide structure
Chapter | Summary |
---|
Chapter 1, "" | This chapter provides an overview of the workflow used by Media Services, and discusses how to decide what type of media experience users should have. |
Chapter 2, "" | This chapter describes the video content management system developed by Contoso, and the business requirements of the video applications, and summarizes the architecture of the solution that Contoso built, based on a web service that's consumed by client applications. |
Chapter 3, "" | This chapter describes the input formats supported by Media Services, how to use the Media Services SDK for .NET to upload content, and how to secure media for upload. |
Chapter 4, "" | This chapter focuses on encoding media, examining how to encode media for efficient delivery, how to create scalable encoding jobs, and how to control the encoding process by using Azure Storage Queues. |
Chapter 5, "" | This chapter provides describes how to use dynamic packaging to convert video to the required format on-demand, how to scale media services delivery, and how to securely deliver streaming content to the end user. |
Note: |
---|
This guide also includes appendices that describe how the web service works, and task presets you can use to configure the Azure Media Encoder. |
What you need to use the code
These are the system requirements for building and running the sample solution:
- Microsoft Windows 8.1.
- Microsoft Visual Studio 2013 Ultimate, Premium, or Professional edition.
- Azure SDK for .NET.
- Windows Phone SDK 8.0.
- Microsoft Internet Information Server (IIS).
- A Media Services account in a new or existing Azure subscription.
You can download the sample code from http://aka.ms/amsg-code.
Whos who?
This guidance uses a sample application that illustrates consuming Media Services. A panel of experts comments on the development efforts. The panel includes a mobile app specialist, a software developer, a database specialist, and a cloud specialist. The delivery of the sample application can be considered from each of these points of view. The following table lists these experts.
| Christine is a mobile application specialist. She understands the special requirements inherent in applications designed to be used on mobile devices. Her expertise is in advising architects and developers on the way they should plan the feature set and capabilities to make the application usable and suitable for these types of devices and scenarios. "To build successful applications that work well on the phone, you must understand the platform, the user's requirements, and the environment in which the application will be used." |
| Markus is a senior software developer. He is analytical, detail oriented, and methodical. He's focused on the task at hand, which is building a great cloud-based application. He knows that he's the person who's ultimately responsible for the code. "For the most part, a lot of what we know about software development can be applied to different environments and technologies. But, there are always special considerations that are very important." |
|
Next page