This guide walks through integration with Comcast Technology Solutions Player Development Kit (CTS PDK).
The following data can be collected by the Mux Data SDK when you use the CTS PDK SDK, as described below.
Supported Features:
Video Quality metrics are not available.
cts-mux
If installing from the MPX Console, load ctx-mux
from the CDN:
https://src.litix.io/cts/3/cts-mux.js
Get your ENV_KEY
from the Mux environments dashboard.
Env Key is different than your API token
ENV_KEY
is a client-side key used for Mux Data monitoring. These are not to be confused with API tokens which are created in the admin settings dashboard and meant to access the Mux API from a trusted server.
If installing in the player embed, follow the example below
<div class="tpPlayer"
id="player"
// ... other configuration options
tp:muxPlugin = "priority=1|URL=https://src.litix.io/cts/3/cts-mux.js|env_key=ENV_KEY|debug=false">
</div>
<script>
// Creates the Player object that builds the component.
const player = new Player("player");
player.bind("player");
</script>
The only required field in the SDK options is env_key
. Mux will automatically pull some metadata fields like video_id
, video_title
, and video_duration
from the player itself. You can optionally override these values in the plugin parameters. Providing useful metadata allows you to search and filter on important fields in order to diagnose issues and optimize the playback experience for your end users.
Pass in metadata fields separated by |
with the plugin parameters.
<div class="tpPlayer"
id="player"
// ... other configuration options
tp:muxPlugin = "priority=1|URL=https://src.litix.io/cts/3/cts-mux.js|env_key=ENV_KEY|debug=false|player_name='EXAMPLE_PLAYER_NAME'|player_version=1.0.0">
</div>
<script>
// Creates the Player object that builds the component.
const player = new Player("player");
player.bind("player");
</script>
The only required field in the options
that you pass into the data
options in the player.mux
function is env_key
. But without some metadata the metrics in your dashboard will lack the necessary information to take meaningful actions. Metadata allows you to search and filter on important fields in order to diagnose issues and optimize the playback experience for your end users.
For more information, view Make your data actionable.
If the underlying source changes of the video within the same player, cts-mux
will track this change automatically. No extra configuration is needed.
By default, cts-mux
uses a cookie to track playback across subsequent page views. This cookie includes information about the tracking of the viewer, such as an anonymized viewer ID that Mux generates for each user. None of this information is personally-identifiable, but you can disable the use of this cookie if desired. For instance, if your site or application is targeted towards children under 13, you should disable the use of cookies.
This is done by setting disableCookies=true
in the options passed to the Mux plugin.
<div class="tpPlayer"
id="player"
// ... other configuration options
tp:muxPlugin = "priority=1|URL=https://src.litix.io/cts/3/cts-mux.js|env_key=ENV_KEY|debug=false|player_name='EXAMPLE_PLAYER_NAME'|disableCookies=true>
</div>
<script>
// Creates the Player object that builds the component.
const player = new Player("player");
player.bind("player");
</script>
By default, cts-mux
does not respect Do Not Track when set within browsers. This can be enabled in the options passed to Mux, via a setting named respectDoNotTrack
. The default for this is false
. If you would like to change this behavior, pass respectDoNotTrack=true
.
<div class="tpPlayer"
id="player"
// ... other configuration options
tp:muxPlugin = "priority=1|URL=https://src.litix.io/cts/3/cts-mux.js|env_key=ENV_KEY|debug=false|player_name='EXAMPLE_PLAYER_NAME'|respectDoNotTrack=true>
</div>
<script>
// Creates the Player object that builds the component.
const player = new Player("player");
player.bind("player");
</script>
Errors are fatal
Errors tracked by mux are considered fatal meaning that they are the result of playback failures. If errors are non-fatal they should not be captured.
There is currently no way to change the default error tracking behavior. If this is something you need in your CTS PDK integration, please reach out.
cts-mux
Mux has been tested with CTS's VAST plugin for ad support. Configure the VAST plugin as you would with your PDK player normally, and Mux will track ads automatically. No additional configuration is needed.
Update mechanism for generating unique IDs, used for view_id
and others
Update mux-embed
to v5.5.0
mux-embed
to v5.4.3mux-embed
to v5.4.2mux-embed
to v5.4.1Add updateData function that allows Mux Data metadata to be updated mid-view.
Update mux-embed
to v5.4.0
mux-embed
to v5.3.3mux-embed
to v5.3.2mux-embed
to v5.3.1mux-embed
to v5.3.0mux-embed
to v5.2.1mux-embed
to v5.2.0Target ES5 for bundles and validate bundles are ES5
Update mux-embed
to v5.1.0
Refactors to properly enforce new TypeScript types and account for non-standard constructor usage by CTS.
Update mux-embed
to v5.0.0
mux-embed
to v4.30.0mux-embed
to v4.29.0mux-embed
to v4.28.1mux-embed
to v4.28.0fix an issue where seek latency could be unexpectedly large
fix an issue where seek latency does not include time at end of a view
Update mux-embed
to v4.27.0
mux-embed
to v4.26.0mux-embed
to v4.25.1mux-embed
to v4.25.0Fix an issue where beacons over a certain size could get hung and not be sent
Update mux-embed
to v4.24.0
Fix an issue where tracking rebuffering can get into an infinite loop
Update mux-embed
to v4.23.0
mux-embed
to v4.22.0mux-embed
to v4.21.0mux-embed
to v4.20.0mux-embed
to v4.19.0mux-embed
to v4.18.0Support player_error_context
in errorTranslator
Update mux-embed
to v4.17.0
Adds support for new and updated fields: renditionchange
, error, DRM type, dropped frames, and new custom fields
Update mux-embed
to v4.16.0
mux-embed
to v4.15.0mux-embed
to v4.14.0mux-embed
to v4.13.4mux-embed
to v4.13.3mux-embed
to v4.13.2mux-embed
to v4.13.1Upgraded internal webpack version
Update mux-embed
to v4.13.0
mux-embed
to v4.12.1mux-embed
to v4.12.0mux-embed
to v4.11.0mux-embed
to v4.10.0mux-embed
to v4.9.4mux-embed
to v4.9.3mux-embed
to v4.9.2mux-embed
to v4.9.1mux-embed
to v4.9.0mux-embed
to v4.8.0mux-embed
to v4.7.0mux-embed
to v4.6.2mux-embed
to v4.6.1mux-embed
to v4.2.0programchange
may not have been tracked correctlydestroy
was called multiple times, it would raise an exceptionmux-embed
to v4.1.1player_remote_played
would not be reported correctly