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.
1. Getting Started
This documents integration instructions for Samsung Tizen TVs. For other players, see the additional Integration Guides.
2. Include 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/1/tizen-mux.js"></script>
For those that would rather host the file on your onw, the source can be found here: https://github.com/muxinc/tizen-mux. Also included in this repo is a sample Tizen application showing the Mux Data integration.
3. Initialize 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 = $('#thePlayer').get(0);
player.url = this.url;
var playerInitTime = Date.now();
this.prepare();
monitorTizenPlayer(player, {
debug: true,
data: {
env_key: 'EXAMPLE_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()
.
3. Test it
After you've finished integration, the quickest way to see that the SDK is loaded is to pass debug: true
in the options passed to the SDK. With this flag enabled, you can open the debug console, and you should start seeing debug statements from [mux] when you click play on the video.
After playing a video, a few minutes after you stop watching, you'll see the results in your Mux account. We'll also email you when your first video view has been recorded. Log in to the dashboard and find the environment that corresponds to your env_key and look for video views.
Note that it may take a few minutes for views to show up in the Mux Data dashboard.
4. Add Metadata
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.
For more information, see the Metadata guide.
5. Release Notes
Current Release
v1.0.0
- Update to
mux-embed
v3.1.0 - The mechanism for registering your own AVPlayPlaybackCallback listener. Previously, you set this on the player itself, but in v1.0.0 and newer, simply pass it in when you call
monitorTizenPlayer
, alongside thedebug
anddata
options, asplaybackListener
Previous Releases
v0.3.0
- Support
programchange
- Update to
mux-embed
v2.8.0 - Fix an issue where
play
event may not have been sent appropriately
v0.1.0
- Initial SDK released.
Updated 8 months ago