Video Full Reference
The full list of :get
tags available for native templates, Twig, Blade and GraphQL.
:get Parameters
These options are only available when using the stand-alone {exp:mux:get}
tag.
Name | Description |
---|---|
uid |
The Mux ID for the Asset or Live Stream. Add multiple than one with a pipe | |
prefix |
A string of characters to append to each tag. Used when nesting get loops. |
Example
{exp:mux:get uid="{video_uid}" prefix="myprefix"}
{myprefix:playback_url}
{/exp:mux:get}
:get Single Variables
General
Tag | Description |
---|---|
uid |
Unique identifier for the Asset or Live Stream. Max 255 characters. |
type |
Possible values are ‘asset’ ‘live_stream’ ‘upload’ |
filename |
Uploaded filename with extension. |
name |
User-editable video name. |
created |
Timestamp of when the item was created, defined as a Unix timestamp (seconds since epoch). |
updated |
Timestamp of the last update, including any title or thumbnail changes. |
source |
upload, url, recording, clip or livestream. |
state |
The Mux state of the video. Possible values include pending , idle , active , ready , errored , deleted |
aspect_ratio |
Example 16/9 |
duration_seconds |
Duration of the asset in seconds. Example: 5412.54 |
duration |
Human readable duration. Examples: 5 sec 5:32 |
test |
boolean If asset or live stream was created with the test flag. Additional related tags are available in the expiration loop. |
stream_key |
RTMP stream key for live streams. Keep this secure! |
audio_only |
boolean if the item is audio-only with no video. |
signed |
If settings are using signed playback |
renditions_state |
The current state of renditions. They have their own state because they are encoded and processed independently of the primary stream (hls), and are optional. |
Playback
Tag | Description |
---|---|
playback_id |
Just the playback ID. |
playabck_token |
JWT including parameters. Required for playback when using signed urls. |
playback_play |
Playback ID, plus Token if required. |
playback_url |
Full URL with all parameters included. |
DVR
DVR playback allows a user to skip backwards on a live stream. DVR is really a standard asset. Due to how Mux works, live streams will not have a DVR ID until the live stream becomes active and the recording starts. This means the DVR playback has to be fetched after the stream has started. Brand new live streams will not have any DVR recording IDs and tags will be empty. After the live stream is over, the DVR will be the last available recording.
Tag | Description |
---|---|
dvr_id |
Just the playback ID. |
dvr_token |
JWT including parameters. Required for playback when using signed urls. |
dvr_play |
Playback ID, plus Token if required |
dvr_url |
Full mux URL to the ‘recent asset id’ that will enable DVR and be available after the live stream concludes. |
Also see the DVR tag pair.
Images
Tag | Description |
---|---|
thumbnail_token |
JWT for getting image. Note that transformations are not allowed. |
thumbnail_url |
Returns the full Mux URL to a JPG thumbnail at a random timecode, or set through the video preferences. |
thumbnail_gif |
URL to gif image |
storyboard_token |
JWT for image. |
storyboard_vtt |
URL to VTT file. |
storyboard_json |
URL to JSON that describes the Storyboard image sprites. |
storyboard_url |
Returns the full Mux URL to Storyboard. |
Data
Tag | Description |
---|---|
env_key |
The Mux Data environment key added in the add-on settings. |
realtime_url |
Full URL to the Mux realtime views. |
realtime_token |
JWT for realtime views. |
Misc
Tag | Description |
---|---|
act_full |
The full path to the EE Action URL for accessing the API methods, both read and write. Be careful with this method as it opens full access to upload, delete, and change data. |
act_read |
The full path to the EE Action URL for accessing the API methods. Limited to only requests that are read-only method. It is highly recommended to use GraphQL for read-only requests. |
json |
JSON-formatted string of the items data. Useful for API requests, debugging, or javascript. This data is formatted slightly different than the tag structure. It is highly recommended to use GraphQL instead of this tag. |
:get Variable Pairs
These tag loops will return a full video tag loop, prefixed with their respective type such as recording or clips.
{recordings}
Loops over the live stream recordings (assets) with each video having the same group of template tags appended with the word “recording”. Deleted or errored assets are not returned.
This will duplicate the DVR recording asset when the live stream returns to idle.
{exp:channel:entries...}
{mux_live} // Your custom field.
{recordings}
{recording:uid}
{recording:playback_url}
{recording:duration}
...etc.
{/recordings}
{/mux_live}
{/exp:channel:entries}
{clips}
Loops over the clips made from the parent asset with each video having the same group of template tags appended with the word “clip.” Deleted or errored assets are not returned.
{exp:channel:entries...}
{mux_asset} // Your custom field.
{clips}
{clips:uid}
{clips:playback_url}
{clips:duration}
...etc.
{/clips}
{/mux_asset}
{/exp:channel:entries}
{dvr}
Video tag of the current or most recent DVR recording. Could be empty if there have been no recordings yet, or the only recording was deleted/errored. Deleted or errored assets are not returned.
{dvr}
{dvr:uid}
{dvr:playback_url}
{dvr:duration}
...etc.
{/dvr}
Additional Tag Loops
{captions}
A loop for all and any caption/subtitle tracks.
Name |
---|
status |
name |
language_code |
download (url) |
{delivery}
Data from the delivery API that logs the amount of seconds transferred from Mux.
Name |
---|
delivered_seconds |
days |
{expiration}
If the video was created using the test
option, Mux will delete the asset after 24 hours. This is useful for testing, and does not have any cost for adding videos. This tag is simply a helper for knowing when the video will be removed.
Tag Name |
---|
timestamp |
iso8601 |
human |
date |
{master}
The highest quality encode Mux provides that is used to encode the other renditions. This file can be made available for 24 hours through the control panel.
Name |
---|
url |
access (bool) |
status |
{renditions}
Renditions are single mp4 files, useful for downloading or for when HLS is not the best option. Renditions are optional, and can be added/remove. They are also encoded after the primary video (hls) is ready and may take some time. They follow signed URL security policies and would require a token if signing is enabled.
Name |
---|
name |
ext |
width |
height |
filesize |
filesize_human |
bitrate |
bitrate_human |
url |
download |
{time}
The timestamp of last time the entry was updated, and when it was created.
Name | Description |
---|---|
last_generated |
When the tag was generated. |
created_at |
When the video was created in Mux. |
last_webhook |
Last time Mux sent a webhook. |
last_modified |
Last time the video was modified by Mux or locally. |
{user}
The user who created the video. This may not be available if the upload was created outside of ExpressionEngine.
Name |
---|
username |
screen_name |
user_id |