Learn how to pick an appropriate video quality and control the video quality of assets.
Encoding tiers have been renamed to video quality levels
Mux Video supports encoding content with three different video quality levels. The video quality level informs the quality, cost, and available platform features for the asset.
The basic video quality level uses a reduced encoding ladder, with a lower target video quality, suitable for simpler video use cases.
There is no charge for video encoding when using basic quality.
The plus video quality level encodes your video at a consistent high-quality level. Assets encoded with the plus quality use an AI-powered per-title encoding technology that boosts bitrates for high-complexity content, ensuring high-quality video, while reducing bitrates for lower-complexity content to save bandwidth without sacrificing on quality.
The plus quality level incurs a cost per video minute of encoding.
The premium video quality level uses the same AI-powered per-title encoding technology as plus, but is tuned to optimize for the presentation of premium media content, where the highest video quality is required, including use cases like live sports, or studio movies.
The premium quality level incurs a higher cost per video minute of encoding, storage, and delivery.
The video quality of an asset is controlled by setting the video_quality
attribute on your create-asset API callAPI, so to create an asset with the basic
quality level, you should set "video_quality": "basic"
as shown below.
// POST /video/v1/assets
{
"input": "https://storage.googleapis.com/muxdemofiles/mux.mp4",
"playback_policy": [
"public"
],
"video_quality": "basic"
}
And of course you can also select the video_quality
within Direct Uploads, too; you just need to set the same "video_quality": "basic"
field in the new_asset_settings
of your create-direct-upload API callAPI.
// POST /video/v1/uploads
{
"new_asset_settings": {
"playback_policy": [
"public"
],
"video_quality": "basic"
},
"cors_origin": "*"
}
To set the video_quality
for a live stream, you just need to set the "video_quality"
field within the new_asset_settings
configuration of your create-live-stream API callAPI to "plus"
or "premium"
, as shown below.
// POST /video/v1/live-streams
{
"playback_policy": [
"public"
],
"new_asset_settings": {
"playback_policy": [
"public"
],
"video_quality": "plus"
}
}
All on-demand assets created from the live stream will also inherit the given quality level. Live streams can currently only use the plus
or premium
video quality levels.
Assets using different video quality levels have different features or limits available to them. Refer to the below table for more details:
Feature | Basic | Plus | Premium |
---|---|---|---|
JIT encoding | ✅ | ✅ | ✅ |
Multi CDN delivery | ✅ | ✅ | ✅ |
Mux Data included | ✅ | ✅ | ✅ |
Mux Player included | ✅ | ✅ | ✅ |
Thumbnails, Gifs, Storyboards | ✅ | ✅ | ✅ |
Watermarking | ✅ | ✅ | ✅ |
Signed playback IDs and playback restrictions | ✅ | ✅ | ✅ |
On-Demand | ✅ | ✅ | ✅ |
Master Access | ✅ | ✅ | ✅ |
Audio-only Assets | ✅ | ✅ | ✅ |
Auto-generated captions | ✅ | ✅ | ✅ |
Clipping to a new asset | ✅ | ✅ | ✅ |
Multi-track audio | ✅ | ✅ | ✅ |
Live Streaming | ❌ | ✅ | ✅ |
Adaptive bitrate ladder | Reduced | Standard | Extended |
Maximum streaming resolution | 1080p | 2160p (4K) | 2160p (4K) |
MP4 support * | ✅ | ✅ | ✅ |
DRM Beta | ❌ | ✅ | ✅ |
* MP4 pricing depends on the video quality level of your asset. Learn more.