Mux Collect Slice

Overview

Mux Data is a platform for monitoring your video streaming performance with just a few lines of code. Get in-depth quality of service analytics on web, mobile, and OTT devices.

The Datacoral Mux slice collects data from a Mux account and enables data flow of metrics, views, and video errors into a data warehouse, such as Redshift.

Steps to add this slice to your installation

The steps to launch your slice are:

  1. Generate Mux API keys
  2. Specify the slice config
  3. Add the Mux slice

1. Generate Mux API keys

Setup requirements

Before getting started please make sure to have the following information:

  • Access to an active Mux account

Setup instructions

The Mux slice requires an access token id and access token secret to collect data. An access token id and access token secret can be obtained from Mux through the following steps:

  1. Log in to your Mux account
  2. Navigate to Settings → "API Access Tokens" → "Generate new token"
  3. Select the environment you wish to collect data from
  4. Choose "Read" under Mux Data permissions then "Generate Token"
  5. Your access token id and secret will display on the page. Copy both.

2. Specify the slice config

To get a template for the Mux Data slice configuration save the output of the describe --input-parameters command as follows:

datacoral collect describe --slice-type mux \
--input-parameters > mux_parameters_file.json

Example templates:

{
"access_token_id": "test_id",
"access_token_secret": "test_secret"
}

Modify the mux_parameters_file file to add the access token id and access token secret generated from Mux.

3. Add the Slice

datacoral collect add --slice-type mux --slice-name <slice-name> --parameters-file <params-file>
  • slice-name: Name of your slice. A schema with your slice-name is automatically created in your warehouse
  • params-file: File path to your input parameters file. Ex. mux_parameters_file.json

Supported load units

  • metrics: this loadunit is used to store information about particular metrics

  • breakdown_groups; this loadunit does not store any data, it fans out next loadunit with the breakdown filters requested

    • this loadunit only executes in a snapshot fashion
  • metric_breakdowns: this loadunit is used to store information about metrics accross particular breakdowns

  • metric_insights: this loadunit is used to store information about metric insights

  • metric_timeseries: this loadunit is used to store information about metrics accross particular timeseries

  • overall_metrics: this loadunit is used to store information about about particular metrics globally in Mux

  • video_errors: this loadunit is used to store information about particular video errors

  • video_views: this loadunit is used to store information about particular video viewings

  • filters: this loadunit is used to store available filters

    • this loadunit only supports a snapshot fetch mode
  • filter_details: this loadunit is used to store information about views relating to particular filter values

Important API notes

Unless specified above, loadunits will only support incremental fetch mode. This is because metrics are calculated based off the video viewings that occur in a given timeframe.

The earliest date for which the slice can retrieve data changes depending on the date of the fetch. This is because each Mux account has a "data retention period", outside of which data is not stored by Mux. This data retention period is a number of days prior to the current date (either 7, 30 or 90).

Slice output

Output of this slice is stored in S3 and the destination warehouse..

AWS S3 Data stored in AWS S3 is partitioned by date and time s3//:customer_installation.datacoral/<slice-name>

Destination Warehouse: Schema - schema name will be same as slice-name. Tables produced by the slice are:

- schema.metrics
- schema.metric_breakdowns
- schema.metric_insights
- schema.metric_timeseries
- schema.overall_metrics
- schema.video_errors
- schema.video_views
- schema.filters
- schema.filter_details

Questions? Interested?

If you have questions or feedback, feel free to reach out at hello@datacoral.co or Request a demo