Mux logo - video home
Docs
  • Introduction to Data
  • Track your video engagement and performance
    • HTML5 video element
    • HLS.js
    • AVPlayer
    • ExoPlayer
    • Dash.js
    • Video.js
    • React native video
    • Kaltura (Web)
    • Kaltura (iOS)
    • Kaltura (Android)
    • JW Player (Web)
    • JW Player (iOS)
    • Android MediaPlayer
    • Bitmovin player
    • Bitmovin player (Android)
    • Akamai media player
    • NexPlayer
    • Ooyala player
    • Shaka player
    • Azure media player
    • THEOplayer (Web)
    • THEOplayer (iOS)
    • THEOplayer (Android)
    • Flowplayer
    • Brightcove (Web)
    • Brightcove (iOS)
    • Brightcove (Android)
    • CTS PDK
    • Chromecast
    • Roku
    • Samsung Tizen
    • LG
    • Agnoplay player
  • Make API requests
  • Set up alerts
  • Make your data actionable with metadata
  • Track autoplaying videos
  • Extend Data with custom metadata
  • Track CDN for request metrics
  • See how many people are watching
  • Build a custom integration
  • Understand metric definitions
  • Export raw video view data
  • Ensure privacy compliance
  • Mux Data FAQs
Mux.comLog in
Mux logo - video home
Docs
GuidesAPI ReferenceChangelog

Monitor CTS PDK

This guide walks through integration with Comcast Technology Solutions Player Development Kit (CTS PDK).

In this guide:

1

Install cts-mux

1

Install cts-mux

Install ctx-mux either directly in the MPX Console or in the player embed

2

Make your data actionable

2

Make your data actionable

Use metadata fields to make the data collected by Mux actionable and useful.

3

Advanced options

3

Advanced options

Depending on the details of your implementation, you may want to leverage some of the advanced options of cts-mux.

Release Notes

Release Notes

1Install 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> 

2Make your data actionable

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.

3Advanced options

Changing the video

If the underlying source changes of the video within the same player, cts-mux will track this change automatically. No extra configuration is needed.

Disable cookies

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> 

Over-ride 'do not track' behavior

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> 

Customize error tracking behavior

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.

Ads tracking with 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.

Release Notes

Current release

v3.3.7

  • Update mux-embed to v4.9.2

Previous releases

v3.3.6

  • Update mux-embed to v4.9.1

v3.3.5

  • Update mux-embed to v4.9.0

v3.3.4

  • Update mux-embed to v4.8.0

v3.3.3

  • Update mux-embed to v4.7.0

v3.3.2

  • Update mux-embed to v4.6.2

v3.3.1

  • Update mux-embed to v4.6.1

v3.3.0

  • Bump mux-embed to 4.6.0

v3.2.0

  • Update mux-embed to v4.2.0
  • Fix an issue where views that resulted from programchange may not have been tracked correctly
  • Fix an issue where if destroy was called multiple times, it would raise an exception

v3.1.0

  • Update mux-embed to v4.1.1
  • Fix an issue where player_remote_played would not be reported correctly

v3.0.0

  • Update mux-embed to v4.0.0
  • Support server-side device detection

Was this page helpful?