Solution ideas
This article is a solution idea. If you'd like us to expand the content with more information, such as potential use cases, alternative services, implementation considerations, or pricing guidance, let us know by providing GitHub feedback.
This solution is built on the Azure managed services: Blob Storage, Content Delivery Network, and Azure Media Player from Azure Media Services. These services run in a high-availability environment, patched and supported, allowing you to focus on your solution instead of the environment they run in.
Architecture
Download a Visio file of this architecture.
Components
- Blob Storage: Stores large amounts of unstructured data that can be accessed from anywhere in the world via HTTP or HTTPS. You can use Blob storage to expose data publicly to the world, or to store application data privately. There are multiple options for uploading files to blob storage, including AzCopy, Media Services Azure portal, .NET SDK, or REST API, Azure CLI, Python, or one of several Azure blob storage tools/SDKs.
- Azure Media Services Encoder: Encoding jobs are one of the most common processing operations in Media Services. You create encoding jobs to convert media files from one encoding to another.
- Azure Media Services Streaming Endpoint: A streaming service that can deliver content directly to a client player application, or to a content delivery network (CDN) for further distribution.
- Content Delivery Network: Provides secure, reliable content delivery with broad global reach and a rich feature set.
- Azure Media Player: Uses industry standards, such as HTML5 (MSE/EME), to provide a rich adaptive streaming experience. Regardless of the playback technology used, developers have a unified JavaScript interface to access APIs. Also, see the Azure Media Player documentation.
- Multi-DRM content protection: Delivers content securely using multi-DRM (PlayReady, Widevine, FairPlay Streaming) or AES Clear Key encryption.
Scenario details
A basic video-on-demand solution that gives you the capability to stream recorded video content to any video-capable endpoint device, mobile application, or desktop browser. This content might include movies, news clips, sports segments, training videos, and customer support tutorials. Video files are uploaded to Azure Blob storage, encoded to a multi-bitrate standard format, and then distributed via all major adaptive bit-rate streaming protocols (HLS, MPEG-DASH, Smooth) to the Azure Media Player client.
You can also use other media players such as:
Potential use cases
This solution applies to television, movie, and various online streaming services.
Next steps
- To get started with Azure Media Services, visit the Azure Media Services documentation where you will find quickstarts, tutorials, and samples.
- Azure Media Player overview
- How to use Azure Blob storage
- How to encode an asset using Media Encoder
- How to manage streaming endpoints
- Using Azure Content Delivery Network
- Playing your content with existing players
- Deliver content securely