Track quality of experience using JavaScript 2.x track-quality-of-experience-on-javascript
The following instructions provide guidance for implementation across all 2.x SDKs.
IMPORTANT
If you are implementing a 1.x version of the SDK, you can download the 1.x Developers Guides here: Download SDKs.
Implemement QOS
-
Identify when the bitrate changes during media playback and create the
MediaObject
instance using the QoS information.QoSObject variables:
note tip TIP These variables are only required if you are planning to track QoS. table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 3-align-center 7-align-center 11-align-center 15-align-center 19-align-center Variable Description Required bitrate
Current bitrate Yes startupTime
Startup time Yes fps
FPS value Yes droppedFrames
Number of dropped frames Yes QoS object creation:
code language-js // Replace <bitrate>, <startuptime>, <fps> and // <droppeFrames> with the current playback QoS values. var qosObject = MediaHeartbeat.createQoSObject(<bitrate>, <startuptime>, <fps>, <droppedFrames>);
-
When playback switches bitrates, call the
BitrateChange
event in the Media Heartbeat instance:code language-js _onBitrateChange = function() { this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.BitrateChange, qosObject); };
note important IMPORTANT Update the QoS object and call the bitrate change event on every bitrate change. This provides the most accurate QoS data. -
Make sure that
getQoSObject()
method returns the most updated QoS information. -
When the media player encounters an error, and the error event is available to the player API, use
trackError()
to capture the error information. (See Overview.)note tip TIP Tracking media player errors will not stop the media tracking session. If the media player error prevents the playback from continuing, make sure that the media tracking session is closed by calling trackSessionEnd()
after callingtrackError()
.
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb