Video-on-demand digital media

Blob Storage
Content Delivery Network
Media Player

Solution Idea

If you'd like to see us expand this article with more information, implementation details, pricing guidance, or code examples, let us know with GitHub Feedback!

A basic video-on-demand solution that gives you the capability to stream recorded video content such as movies, news clips, sports segments, training videos, and customer support tutorials to any video-capable endpoint device, mobile application, or desktop browser. 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.

This solution is built on the Azure managed services: Blob Storage, Content Delivery Network and Azure Media Player. 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 Diagram Download an SVG of this architecture.


  • Blob Storage: Stores large amounts of unstructured data, such as text or binary 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.
  • 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.
  • Multi-DRM content protection: Delivers content securely using multi-DRM (PlayReady, Widevine, FairPlay Streaming) or AES clear key encryption

Next steps