Skip to Content
Mux Docs: Home
Welcome to the new Mux Docs.
The old version is still available here

Samsung-Tizen

This guide walks through integration with Samsung Tizen to collect video performance metrics with Mux data.

Mux Data is the best way to monitor video streaming performance.

Integration is easy - just initialize the Mux SDK, pass in some metadata, and you're up and running in minutes.

This documents integration instructions for Samsung Tizen TVs. For other players, see the additional Integration Guides.

Features

The following data can be collected by the Mux Data SDK when you use the Samsung Tizen SDK, as described below.

Supported Features:

  • Engagement metrics
  • Quality of Experience Metrics
  • Custom Beacon Domain

1Include the Mux Data SDK

Mux Data supports applications built for Samsung Tizen TVs using JavaScript and Tizen's AVPlay API. The Samsung Tizen Smart TV SDK supports C++, JavaScript, and Microsoft .NET; this SDK is only compatible with JavaScript applications using AVPlay.

Include the Mux Data SDK by including the tizen-mux.js JavaScript file within your index.html file defining your application. You can use the Mux-hosted version of the script to receive automatic updates. (The API will not change within major versions, as in tizen/MAJOR_VERSION/tizen-mux.js.)

<!-- place within the <head> of your index.html -->
<script src="//src.litix.io/tizen/2/tizen-mux.js"></script>

If you would rather host your own, the source can be found here. Also included in this repo is a sample Tizen application showing the Mux Data integration.

2Initialize Mux Data

To monitor video playback within your Tizen application, pass the AVPlay player instance to monitorTizenPlayer along with SDK options and metadata.

// Place in your application initialization code, around
// where you call `prepare`

var player = $('#my-player').get(0);
player.url = this.url;
var playerInitTime = monitorTizenPlayer.utils.now();
this.prepare();
monitorTizenPlayer(player, {
  debug: true,
  data: {
    env_key: 'ENV_KEY', // required
    // Metadata
    player_name: 'Custom Player', // ex: 'My Main Player'
    player_init_time: playerInitTime,
    // ... additional metadata
  },
  // Optional passthrough listener
  playbackListener: playbackListener
});

Tizen's AVPlay API does not allow multiple AVPlayPlaybackCallback listeners to be registered to a player. If you require your own listener to be registered, you must pass this in as playbackListener as shown above. Mux's SDK will proxy the calls to your listener. (Note: the location of this changed with v1.0.0)

To stop monitoring your player (e.g. when playback is complete), call player.mux.stopMonitor().

Log in to the Mux dashboard and find the environment that corresponds to your env_key and look for video views. It takes about a minute or two from tracking a view for it to show up on the Metrics tab.

If you aren't seeing data, check to see if you have an ad blocker, tracking blocker or some kind of network firewall that prevents your player from sending requests to Mux Data servers.

3Make your data actionable

Detailed Documentation

Options are provided via the data object passed in the call to monitorTizenPlayer.

All metadata details except for env_key are optional, however you'll be able to compare and see more interesting results as you include more details. This gives you more metrics and metadata about video streaming, and allows you to search and filter on important fields like the player version, CDN, and video title.

monitorTizenPlayer(player, {
  debug: false,
  data: {
    env_key: 'ENV_KEY', // required
    // Site Metadata
    viewer_user_id: '', // ex: '12345'
    experiment_name: '', // ex: 'player_test_A'
    sub_property_id: '', // ex: 'cus-1'
    // Player Metadata
    player_name: '', // ex: 'My Main Player'
    player_version: '', // ex: '1.0.0'
    player_init_time: '', // ex: 1451606400000
    // Video Metadata
    video_id: '', // ex: 'abcd123'
    video_title: '', // ex: 'My Great Video'
    video_series: '', // ex: 'Weekly Great Videos'
    video_duration: '', // in milliseconds, ex: 120000
    video_stream_type: '', // 'live' or 'on-demand'
    video_cdn: '' // ex: 'Fastly', 'Akamai'
  }
});

For more information, see the Metadata Guide.

Release notes

Current release

  • Update mux-embed to v4.18.0

Previous releases

  • Support 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

  • Expose utils on SDK initialization function to expose utils.now() for player_init_time

  • Update mux-embed to v4.15.0

  • Update mux-embed to v4.14.0
  • Update mux-embed to v4.13.4
  • Update mux-embed to v4.13.3
  • Update mux-embed to v4.13.2
  • Fixes an issue with accessing the global object
  • Update mux-embed to v4.13.1
  • Upgraded internal webpack version

  • Update mux-embed to v4.13.0

  • Publish package to NPM
  • Update mux-embed to v4.12.1
  • Update mux-embed to v4.12.0
  • Update mux-embed to v4.11.0
  • Update mux-embed to v4.10.0
  • Update mux-embed to v4.9.4
  • Use common function for generating short IDs
  • Update mux-embed to v4.9.3
  • Update mux-embed to v4.9.2
  • Improve rebuffering metrics by using Tizen buffering events instead of playhead tracking
  • Update mux-embed to v4.9.1
  • Update mux-embed to v4.9.0
  • Update mux-embed to v4.8.0
  • Update mux-embed to v4.7.0
  • Update mux-embed to v4.6.2
  • Update mux-embed to v4.6.1
  • Bump mux-embed to 4.6.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
  • Update mux-embed to v4.1.1
  • Update mux-embed to v4.0.0
  • Support server-side device detection
  • Update to mux-embed v3.1.0
  • The mechanism for registering your own AVPlayPlaybackCallback listener changed. Previously, you set this on the player itself, but in v1.0.0 and newer, simply pass it in when you call monitorTizenPlayer, alongside the debug and data options, as playbackListener
  • Support programchange
  • Update to mux-embed v2.8.0
  • Fix an issue where play event may not have been sent appropriately
  • Initial SDK released.

Was this page helpful?