Media Services pricing

Build and deploy highly-available, scalable, end-to-end media solutions

Azure Media Services lets you deliver any media, on virtually any device, to anywhere in the world using the cloud. The collection of services providing encoding, live or on-demand streaming, content protection and indexing for video and audio content.

Video on Demand (VoD) encoding

Standard Encoder transcodes video and audio input files into output formats suitable for playback on a variety of devices, including smartphones, tablets, PCs, gaming consoles and televisions. Premium Encoder transcodes formats common to broadcast and film applications, and supports video workflows that require complex logic. See our documentation for an in-depth comparison of the two encoders’ features.

Standard Encoder1 Premium Encoder1
$- per output minute $- per output minute

1Media Services does not charge for cancelled or errored jobs. For example, a job that has reached 50% progress and is cancelled is not charged at 50% of the job minutes. You are only charged for finished jobs.

Note: Enterprise Agreement customers should contact their Microsoft account manager for pricing.

Output minute multipliers

To calculate the total output minutes for an encoding task, we apply following multipliers.

Quality Multiplier Example
SD (less than 1280×720) 1x 10 minutes of SD output counts as 10 SD minutes
HD (1280 × 720 to 1920 x 1080) 2x 10 minutes of HD output counts as 20 SD minutes
UHD (more than 1920 x 1080, up to 4096 x 2160) 4x 10 minutes of UHD output counts as 40 SD minutes
Audio-only output 0.25x 4 minutes of output audio counts as 1 SD minute

Example: You have a QuickTime video at 1920 x 1080p resolution, 20 minutes in duration, that you encode to an MP4 output of the same length, with the video at 1920 x 1080p resolution and one audio track. The effective multiplier would be 2 (for HD) plus 0.25 (for audio), adding up to a multiplier of 2.25. You would be billed for a total of (20 minutes x 2.25) = 45 output minutes. If you used the Media Encoder Standard for this encoding, then your cost would be (45 output minutes x $- / output minute) = $-.

See FAQ for more examples.

Storage and data transfer rates may also apply, and will be charged at standard Azure rates.

Media reserved units

Media reserved units are recommended if your workload requires more than one task to run concurrently. You can increase the overall throughput from the service by (a) increasing the number of media reserved units to get more tasks processed concurrently, and (b) by using a faster media reserved unit (for example, S3). See the documentation for more information. If you expect to use more than 10 media reserved units, contact us.

S1 S2 S3
Each unit $- per hour1 $- per hour1 $- per hour1
Concurrent processes 1 per unit 1 per unit 1 per unit
Relative performance2 About 2x S1 About 4x S1

1Billing is prorated on a per-minute basis.

2Performance speed-up estimated using Media Encoder Standard.

Live Video Analytics on IoT EdgePreview

Live Video Analytics on IoT Edge enables you to capture, record and analyse live video streams using AI provided by Microsoft or built by your own team1. This enables you to build cloud plus edge IoT solutions that combine video analytics with data from other sensors to power real-time business decisions. Learn more.

Standard
Price per video stream2 $-/day

1Availability varies by region

2Billing is pro rata per minute of video processed per stream. Billing starts once the video pipeline processing has started, no matter what the processing status is (running/failed etc.) and stops when the processing has explicitly stopped.

Data transfer rates may also apply and will be charged at standard Azure rates.

Example pricing

You have 15 IP cameras that runs at 1 Mbps on average, all hours of the day, generating ~10.5 GB of video per day. Video is processed by Live Video Analytics on IoT Edge and stored in Azure Blob Storage in the cloud for a 7-day period with daily deletions of content older than 7 days. Each of the 15 cameras generate ~10.5 GB of video data per day, for a total of ~158 GB per day. (Calculations assume a 30-day month.)

Cost for running Live Video Analytics on IoT Edge = $-

Cost for enabling video playback (Standard Streaming Endpoint SSU providing 600 Mbps) = $-.

Cost for video storage (Standard Azure Block Blob Hot) = $- (at steady state, after the system has been up and running for 30+ days).

Total monthly cost = $-

See FAQ for more details and examples.

Live Events

Live events (also known as Channels in legacy APIs) enable you to stream content to your audience in near real time. Live events are used in conjunction with streaming units to provide live streaming services. For details on streaming unit pricing, please refer to the streaming section of this page. Your options for live events are the following.

Live encoding type Pass-through (None) Standard live encoding Premium Live Encoding
Maximum resolution of output stream Up to 4K at 60 frames/sec Up to 720p at 30 frames/sec Up to 1080p at 30 frames/sec
Multi-bitrate encoding Not Available Yes Yes
Price1 ~$-/minute ($-/hour) ~$-/minute ($-/hour) ~$-/minute ($-/hour)
1 Billing is prorated per second. Billing is based on the amount of time the live event entity is in a running state, whether or not there is any video flowing through the service. Stop the live event entity when not in use to avoid unnecessary charges.

For all live event types, billing is based on the amount of time it is in the running state, whether there is video being streamed through the service. For details on live event states and billing, please refer to the FAQ below.

Storage and data transfer rates may also apply and will be charged at standard Azure rates.

Live TranscriptionPreview

Live Transcription is designed to work in conjunction with live streaming workloads, as an add-on capability when using Pass-through Live Events or Standard/Premium Live Encoder Live Events. Billing is based on the amount of time the Live Event is in running state, whether or not there is video being streamed through the service. For details on live transcription and billing, please refer to the FAQ below.

Instance Price
Live Transcription ~$-/minute ($-/hour)

Streaming

Deliver on-demand and live video streams to customers in multiple formats and at scale. Standard and Premium streaming services deliver content directly to a media player application or to a Content Delivery Network for further distribution.

Media Services customers choose either a standard endpoint or one or more premium streaming units, according to their needs. Standard streaming endpoint is suitable for most streaming workloads. It includes the same features as premium streaming units and scales outbound bandwidth automatically. Premium streaming units are suitable for advanced workloads, providing dedicated, scalable bandwidth capacity. Premium streaming units “stack”, meaning each unit enabled provides additional bandwidth capacity to the application. Standard streaming endpoint doesn’t stack – instead it scales bandwidth automatically based on bandwidth requirements. See more information.

Streaming is billed as the combination of streaming services and the quantity of data transferred. When Azure Content Delivery Network is enabled via Media Services portal or API for a streaming endpoint, standard Content Delivery Network pricing applies for all data transferred. When Azure Content Delivery Network isn’t enabled for a streaming endpoint, data transfer is charged at data transfer pricing.

Streaming units

Standard Streaming Endpoint Premium Streaming Units
Price (preview) 2 ~$-/day ($-/month 1) N/A
Price (per unit) N/A ~$-/day ($-/month1)
Bandwidth Up to 600 Mbps from streaming endpoint and scales with Content Delivery Network Up to 200 Mbps/unit

1Billing is prorated daily based on 31 days per month.

2Preview pricing subject to change upon general availability.

Content protection

Secure your assets with PlayReady digital rights management (DRM), Widevine Modular licence delivery, Apple FairPlay Streaming or clear key Advanced Encryption Standard (AES) encryption. Pricing is based on the number of licences or keys issued by the service.

PlayReady

PlayReady
Price $-/100 licences

Widevine

Widevine
Price $-/100 licences

Advanced Encryption Standard (AES) Keys

AES Keys
Price $-/100 keys

Storage and data transfer rates may also apply, and will be charged at standard Azure rates.

FairPlay

FairPlay
Price $-/100 licences

Live Video Analytics on IoT EdgePreview

Live Video Analytics on IoT Edge enables you to capture, record and analyse live video streams using AI provided by Microsoft or built by your own team1. This enables you to build cloud plus edge IoT solutions that combine video analytics with data from other sensors to power real-time business decisions. Learn more.

Standard
Price per video stream2 $-/day

1Availability varies by region

2Billing is pro rata per minute of video processed per stream. Billing starts once the video pipeline processing has started, no matter what the processing status is (running/failed etc.) and stops when the processing has explicitly stopped.

Data transfer rates may also apply and will be charged at standard Azure rates.

Example pricing

You have 15 IP cameras that runs at 1 Mbps on average, all hours of the day, generating ~10.5 GB of video per day. Video is processed by Live Video Analytics on IoT Edge and stored in Azure Blob Storage in the cloud for a 7-day period with daily deletions of content older than 7 days. Each of the 15 cameras generate ~10.5 GB of video data per day, for a total of ~158 GB per day. (Calculations assume a 30-day month.)

Cost for running Live Video Analytics on IoT Edge = $-

Cost for enabling video playback (Standard Streaming Endpoint SSU providing 600 Mbps) = $-.

Cost for video storage (Standard Azure Block Blob Hot) = $- (at steady state, after the system has been up and running for 30+ days).

Total monthly cost = $-

See FAQ for more details and examples.

Video Indexer

Extract, review, curate, customise, search and publish insights in a single job from your audio and video files using AI for video technologies, powered by Azure Media Services.

See the full list of Video Indexer AI features

Video Indexer can be used with two types of accounts:

Free trial account: up to 10 hours of free indexing for website users, and up to 40 hours of free indexing for API users.

Paid unlimited account: for larger-scale indexing, create a new Video Indexer account connected to a paid Microsoft Azure subscription.

Pricing is based on the duration of the input file. Indexing is charged for audio analysis, video analysis or both. The service takes advantage of your Media Reserved Units to process tasks in parallel when possible. Learn more about media processing

Video analysis Audio Analysis
Price per input minute $- $-

Redactor

Anonymise videos by detecting and blurring the faces of selected individuals. Azure Media Redactor is ideal for use in public safety and news media scenarios. Pricing is based on the duration and resolution of the input file. Redactor takes advantage of your media reserved units to run video processing tasks in parallel when possible (Note: SLA for Redactor only applies on S3 media reserved units). See our documentation for more information.

S1 S2 S3
Supported input resolutions1 640 x 480 and below 641 x 481 to 1280 x 720 1281 x 721 to 1920 x 1200
First 50,000 minutes/month2 $-/content minute ($-/hour) $-/content minute ($-/hour) $-/content minute ($-/hour)
Next 950,000 minutes (50K-1M minutes)/month $-/content minute ($-/hour) $-/content minute ($-/hour) $-/content minute ($-/hour)
Over 1,000,000 minutes/month $-/content minute ($-/hour) $-/content minute ($-/hour) $-/content minute ($-/hour)

1Both dimensions of the input resolution must fit within the meter’s supported input resolution, or a higher resolution will be metered (see FAQs for an example).

2One minute minimum usage. All usage is rounded up to the next minute.

Azure Media Indexer

Azure Media Indexer is being retired on 1 March 2023 and is being replaced with Azure Media Services Video Indexer (see above in this page).

For migration details, please see documentation.

Support and SLA

  • Technical support for all generally available services, including Azure Media Services, is available through Azure Support, starting at $29/month. Billing and subscription management support is provided at no cost.
  • We guarantee 99.9% availability of REST API transactions for Media Services encoding, indexing, packaging and content protection services. Streaming has a 99.9% availability guarantee for existing media content when at least one streaming unit is purchased. For Live Events, we guarantee external connectivity for Live Events (that are in a running state) at least 99.9% of the time. Availability is calculated over a monthly billing cycle. Preview services don’t have an SLA. To learn more, visit the Azure SLA page.

FAQ

  • When sending a video to be indexed, the user will define the indexing to be video analysis, audio analysis or both. This will determine which SKUs will be charged. If there is a critical-level error during processing, an error code will be returned as a response. In such a case, no billing occurs. A critical error can be caused by a bug in our code or a critical failure in an internal dependency that the service has. Errors such as wrong identification or insight extraction are not considered as critical and a response is returned. In any case where a valid (non-error code) response is returned, billing occurs.

  • Adding media reserved units to your account ensures that multiple files are processed concurrently, and changing the type of the media reserved unit affects the speed at which the files are processed. For example, if your account had three media reserved units of type S1, then up to three files will be processed concurrently. By changing the type of reserved unit to S3, each individual file is processed faster. See our documentation for more information.

  • Yes, you can scale the number of media reserved units in your account. While there are default limits in the Azure Portal, for example a maximum of 25 S2 media reserved units, these are soft limits. You can contact us if you need higher limits.

  • No, you will only be charged based on output minutes, plus the number of media reserved units. See the example below for more details.

  • No, you will not be charged if an encoding job fails.
  • Yes, you will be charged for encoding output minutes (standard encoder: $- per output minute, premium encoder: $- per output minute) separately from the media reserved unit charge. See the example below for more details.

  • Example 1: Joe has 30 encoding jobs for which he uses Media Encoder Standard (i.e. the standard encoder rate applies). Each job creates 10 output minutes (totalling 300 output minutes). Joe uses one S1 media reserved unit (RU), and each job takes two hours to run. Joe uses that S1 RU for a total of 60 consecutive hours, then turns off the RU (sets number of RUs to zero).

    • Output minutes (standard encoder): 300 x $-/minute = $-
    • S1 media reserved unit: 1 unit x 60 hours x $-/hour = $-
    • Total cost: $-

    Example 2: Joe has 30 encoding jobs for which he uses media encoder standard. Each job creates 10 output minutes (totalling 300 output minutes). This time, Joe uses three S2 media reserved units (RU). Each job will take only one hour to complete, and his 30 jobs complete in just 10 hours. Joe uses the three S2 RU for a total of 10 consecutive hours, then turns off the RU (sets number of RUs to zero).

    • Output minutes (standard encoder): 300 x $-/minute = $-
    • S2 media reserved unit: 3 units x 10 hours x $-/hour = $-
    • Total cost: $-

    Example 3: Joe has a two-hour film that is at 1920 x 1080 resolution, which he encodes with Media Encoder Standard using the default “H264 Multiple Bitrate 1080p” preset, so that he can stream the film to iOS and Android devices. The encoding preset produces three HD output videos, five SD output videos and one audio. The total multiplier for this encoding task would be (3x2 + 5 + 0.25) = 11.25. Total output minutes would therefore be 11.25 x 2 x 60 = 1,350. The total cost would be 1,350 x $-/minute = $-.

  • If you generate thumbnails as part of a regular encoding job, as in the sample here, then there is no additional charge for generating thumbnail images. If, however, you submit an encoding task that generates only thumbnails (i.e. output has no video or audio), then each image in the output asset is counted as one second (1/60 of a minute).

  • You are charged based on actual minutes of usage of media reserved units. Here is a more detailed example. Suppose Joe had zero media reserved units (RUs) to begin with, and at 10:00 AM that day, set his account to use two S1 RUs. More videos arrive in the afternoon, so Joe changes his account to use four S3 RUs at 1:15 PM. All of his videos are processed by 4:00 PM, then Joe turns off the RUs in his account (sets number of RUs to zero). Joe’s usage is calculated as follows.

    • S1 media reserved units: 2 units x 3.25 hours (10 AM to 1:15 PM) x $-/hour = $-
    • S3 media reserved units: 4 units x 2.75 hours (1:15 PM to 4 PM) x $-/hour = $-

    So, Joe’s total cost for using media reserved units that day would be $- + $- = $-

    Unlike media reserved units, the streaming units are charged based on the highest number of streaming units that are provisioned each day (high watermark).

  • No, the charges for media reserved units are prorated on a per-minute basis, and streaming units are prorated daily.

    To understand how much an encoding project will cost, please check our online calculator.

  • A streaming unit provides a dedicated set of resources for content streaming, with each unit increasing guaranteed bandwidth throughput by up to 200 Mbps.

  • Yes, you can purchase multiple streaming units for content streaming.

  • You are charged based on the highest number of streaming units that are provisioned each day. In this example, you will be charged for four streaming units for that day.

  • It depends on the current state of a live event. Possible values include:

    • Stopped. This is the initial state of the live event after its creation. In this state, the live event properties can be updated but streaming is not allowed.
    • Starting. The live event is being started. No updates or streaming are allowed during this state. If an error occurs, the live event will return to the “Stopped” state.
    • Running. The live event is capable of processing live streams.
    • Stopping. The live event is being stopped. No updates or streaming are allowed during this state.
    • Deleting. The live event is being deleted. No updates or streaming are allowed during this state.

    The following table shows how the states map to the billing mode.

    Live event state Billed?
    Starting No (transient state)
    Running Yes
    Stopping No (transient state)
    Stopped No
  • Scenario: Stella wants to stream a 2-hour sporting event and intends to use a live event with Standard live encoding

    1. Stella sets up the live event and starts it 20 minutes before the event begins. The live event is in the “Starting” state for 5 minutes.
      • Stella is not billed during this time
    2. After starting, the live event moves into the “Running” state ready to receive a stream. The live event remains in the “Running” state for 15 minutes.
      • Stella does get billed for this period
    3. The event begins streaming on time and lasts for 2 hours or 120 minutes.
      • Stella gets billed for this period
    4. Stella stops the video feed but does not stop the live event. Stella leaves the Live Event in this mode for 5 minutes.
      • Stella does get billed for this period
    5. Stella then streams a post-game programme for 30 minutes.
      • Stella gets billed for this period
    6. After the post-game programme, Stella immediately stops the live event and deletes it.
      • Stella is not billed during this time

    In total, the live event was in the “Running” state for 170 minutes (15 minutes with no stream before the event + 120 minute event + 5 minutes with no stream after event + 30 minute post-game show). The charges are:

    170 minutes x ~$- = ~$-

  • Both edges of the input video must fit within the supported input resolution of each meter. For example, a 600 x 481 video exceeds the maximum 640 x 600 resolution of S1 by virtue of both edges being greater than 480, and so would be subject to S2 metering.

  • No, you can use Standard live encoding in this case. It is the product of height and width that needs to be at or below 1280*720. You will only be billed at Standard live encoding rates.
  • You will be charged based on the type of your live event. In this case, you would choose Standard live encoding, and get billed at the Standard live encoding rates, even if the output video is not 1280x720.

    Note that if you choose to configure the live event to use Premium live encoding, you will be billed at this rate.

  • You are billed for Live Transcription when you enable this feature while using a Live Event to stream, for example, a webinar. Your account is billed for the duration that the Live Event is in a Running state. Possible values for the state of a Live Event include:

    • Stopped. This is the initial state of the live event after its creation. In this state, the live event properties can be updated but streaming is not allowed.
    • Starting. The live event is being started. No updates or streaming are allowed during this state. If an error occurs, the live event will return to the “Stopped” state.
    • Running. The live event is capable of processing live streams.
    • Stopping. The live event is being stopped. No updates or streaming are allowed during this state.
    • Deleting. The live event is being deleted. No updates or streaming are allowed during this state.

    The following table shows how the states map to the billing mode.

    Live event state Billed?
    Starting No (transient state)
    Running Yes
    Stopping No (transient state)
    Stopped No
  • Scenario: Stella wants to stream a 2-hour webinar and intends to use a Live Event with Standard Live Encoding, with Live Transcription enabled.

    1. Stella sets up the live event and starts it 20 minutes before the event begins. The live event is in the “Starting” state for 5 minutes.
      • Stella is not billed during this time
    2. After starting, the live event moves into the “Running” state ready to receive a stream. The live event remains in the “Running” state for 15 minutes.
      • Stella does get billed for this period, for both Standard Live Encoding and Live Transcription. She will be billed regardless of whether or not the audio feed has any spoken words in this period.
    3. The event begins streaming on time and lasts for 2 hours or 120 minutes.
      • Stella gets billed for this period, for both Standard Live Encoding and Live Transcription
    4. Stella stops the video feed but does not stop the live event. Stella leaves the Live Event in this mode for 5 minutes.
      • Stella does get billed for this period, for both Standard Live Encoding and Live Transcription
    5. Stella then streams a question-and-answer (Q&A) session for 30 minutes.
      • Stella gets billed for this period, for both Standard Live Encoding and Live Transcription
    6. After the Q&A session, Stella immediately stops the Live Event and deletes it.
      • Stella is not billed during this time

    In total, the Live Event was in the “Running” state for 170 minutes (15 minutes with no stream before the event + 120 minute event + 5 minutes with no stream after event + 30 minute Q&A). The charges are: 170 minutes x ~$- = ~$- (170 minutes x (Standard Live Encoding Rate + Live Transcription Rate)

  • Imagine that a large hospital campus has 15 IP cameras covering various areas. Let’s assume that each camera runs at 1 Mbps on average and all hours of the day, generating ~10.5 GB of video per day. This data is ingested into Live Video Analytics on IoT Edge and stored in Azure Blob Storage in the Cloud for a 7-day period, with a daily purge of content older than 30 days. The customer application views about 120 hours (7,200 minutes, 52.5 GB) of video per day. The monthly charges (calculated based on a 30-day month) will be calculated as follows:

    Monthly rates and volumes

    • Live Video Analytics per video stream price: $- per day (pro rata to $- per min).
    • Azure Blob Storage pricing: $- per GB per month.
    • Standard streaming endpoint (600 Mbps) pricing: ~$-/day ($-/month)
    • Each camera generates ~10.5 GB of video data per day, for a total of 158.2 GB per day.

    Monthly charges:

    • Cost of Live Video Analytics on IoT Edge: $-
    • Cost for enabling video streaming to apps: $-
    • Cost for video storage: $-

    Total per month: $- ($- per camera per month)

    Note: You will incur standard data transfer charges when you retrieve data from your video streams to destinations outside of Azure over the Internet.

  • Imagine that a large retailer has 1,000 shops with five cameras per shop (5,000 cameras). At every shop, four out of five cameras are capturing video on motion with a 7-day retention policy, while one of them is archiving on 24/7 basis and archives with a 3-day retention policy. Each motion-detect camera only sends the motion-based clips to Live Video Analytics on IoT Edge. Processing starts when the motion frames arrive and stops when the motion ends. Let’s assume that every camera stream has an average of 20 minutes per day of motion video. At 1 Mbps, each such camera generates 150 MB of video data per day and such video is stored in Azure Blob Storage for a one-week period. For 24/7 continuous archiving camera, each camera generates 10.5 GB of video data per day and such video is stored in Azure Blob Storage for a three-day period. Assume that only 100 users play back the stored video using the companion app, watching 33.33 hours (2000 minutes, 14.65 GB) of video per day. (Calculations assume a 30-day month.)

    Monthly rates and volumes:

    • Live Video Analytics per video stream price: $- per day (pro rata to $- per min)
    • Azure Blob Storage pricing: $- per GB per month.
    • Standard streaming endpoint (600 Mbps) pricing: ~$-/day ($-/month)
    • Each 24/7 archive camera generates ~10.5 GB of video data per day, for a total of 10,500 GB per day. (1,000 cameras)
    • Each motion enabled camera generates ~150 MB of video data per day, for a total of 4,395 GB per day. (4,000 cameras)

    Monthly charges for motion-detected cameras:

    • Cost of Live Video Analytics on IoT Edge: $-
    • Cost for enabling video streaming to apps: $-
    • Cost for video storage: $-

    Monthly charges for Continuous Archive cameras:

    • Cost of Live Video Analytics on IoT Edge: $-
    • Cost for video storage: $-

    Total per month: $- ($- per camera per month)

    Note: You will incur standard data transfer charges when you retrieve data from your video streams to destinations outside of Azure over the Internet.

  • Imagine that a commercial security system provider has 1,000 cameras (legacy cameras with no motion detection capability) and is looking for intruders with weapons on premises. Let’s assume that each camera runs at 1 Mbps on average and all hours of the day. Live Video analytics on IoT Edge can detect motion and pass relevant frames to the person-detection-plus-weapon-detection AI edge module for analysis.

    Let’s assume that the camera stream only has motion for 20 minutes per day. At 1 Mbps, each such camera generates 150 MB of video data per day and such video is stored in Azure Blob Storage for a 3-day period. Also, let’s assume that ten users play back the stored video on the companion app, watching 33.33 hours (200 minutes, 14.65 GB) of video per day. (Calculations assume a 30-day month.)

    Monthly rates and volumes:

    • Live Video Analytics per video stream price: $- per day (pro rata to $- per min).
    • Azure Blob Storage pricing: $- per GB per month.
    • Standard streaming endpoint (600 Mbps) pricing: ~$-/day ($-/month)
    • Each 24/7 archive camera generates ~10.5 GB of video data per day, for a total of 105,000 GB per day. (10,000 cameras)
    • Each camera runs for the entire day but with motion detection capability within Live Video Analytics, it only generates and analyses ~150 MB of video data per day, for a total of 146.5 GB per day (1,000 cameras)

    Monthly charges:

    • Cost of Live Video Analytics on IoT Edge: $-
    • Cost for enabling video streaming to apps: $-
    • Cost for video storage: $-
    • Cost of running AI models: $2000

    Total per month: $- ($- per camera per month)

    Note: You will incur standard data transfer charges when you retrieve data from your video streams to destinations outside of Azure over the Internet.

Resources

Estimate your monthly costs for Azure services

Review Azure pricing frequently asked questions

Learn more about Media Services

Review technical tutorials, videos and more resources

Added to estimate. Press 'v' to view on calculator

Encode up to 100 GB of video.