This course provides the practical knowledge and expertise you will need to master the Design an Application Storage and Data Access Strategy section of the Microsoft Azure 70-534 certification exam. In this session, we will cover: Options for data storage, mobile application back-ends, push notifications, web API and web jobs and hybrid data access patterns. We will also discuss Azure Media Services (streaming, video on-demand and monitoring).
Welcome back, in this lesson we´re going to talk about Azure Media Services and how we can use them to create and host audio and video content.
Azure Media Services allows you to create a video streaming solution. It works for different scenarios with many different requirements from uploading content, live encoding, live streaming, handling different devices, delivering free content, delivering secured content with authentication or rights management and more. It's a hosted service with a set of components that are necessary for creating video processing work flows without any on-prem infrastructure. And you can use third party components if you need particular features, maybe something like a third party encoder.
Okay, let's review some of the features a bit closer. First up is dynamic packaging which is a feature that allows us to avoid preparing packages ahead of time for every device that can consume it because it can be done dynamically on the fly when requested and for the specific device.
Another feature is monitoring. You can turn on monitoring on the blog pertaining to log information about media usage. Things such as the encoder data in and out, failed tasks, queue to jobs, streaming data out, streaming HTTP errors and streaming requests. And it shows data from the last six hours to the last seven days.
For media security, we have a few options to choose from. If you trust the users that you're creating content for, you can use AES clear key. It's a light form of encryption and it's based on the exchange of a key in the clear that is stored on the device. And the idea is that it's going to mitigate man in the middle attacks. However again, you want to trust the end users. An alternative is using token restriction. In this case, a third party secure token system can provide simple web tokens or JSON web tokens. And if you need to implement a paid video streaming service you can also use DRM technologies. You can use PlayReady for a more restrictive licensing agreement to manage user rights. It requires that the content is encrypted with a license that you already have from PlayReady before putting the video into storage. Then the license is uploaded to media services to encrypt all the content. And with a license, the client can directly decode the video during streaming with the common encoding technique.
With Azure Media streaming, you could also create a Live Streaming event. In fact, this is the same platform used to stream the Winter Olympics in 2014 with a peak of 2.1 million simultaneous users. When you configure for live streaming, you get an ingestion url and a preview url to see how the live feed will look. Then you need to schedule the event, giving it a title and a duration and the type of encryption. And then it's added to the content section of your media services.
If you're going to serve up content to users, then they're gonna need to be able to find it. So for that, we can use the Azure Media Indexer which is gonna allow us to make content searchable since it will generate full text transcripts for closed captioning and for key word searches.
The index processing generates multiple output files which are scored by speech quality, microphone quality, background music among other factors, are gonna have an impact on the recognition quality. So that'll help to determine the potential accuracy of our closed caption and searches.
Okay, Media Services is an extremely cost effective option for streaming content, especially for live streaming since that can be very expensive on-prem due to the upfront cost of all of the hardware. Alright, that's gonna wrap up this lesson.
In our next lesson, we're going to summarize what we've covered and we're gonna talk about next steps. So if you're ready to wrap up this course, then let's get started.
About the Author
Ben Lambert is a software engineer and was previously the lead author for DevOps and Microsoft Azure training content at Cloud Academy. His courses and learning paths covered Cloud Ecosystem technologies such as DC/OS, configuration management tools, and containers. As a software engineer, Ben’s experience includes building highly available web and mobile apps. When he’s not building software, he’s hiking, camping, or creating video games.