Samsung Tizen smart TVs expose device-level analytics through the Samsung Developer portal, but those metrics do not cover player-level QoE — buffering ratios, startup time, rendition switches, and error rates stay invisible unless you instrument the player directly. FastPix Video Data uses the @fastpix-core JavaScript SDK to capture these metrics from any HTML5-based player running inside a Tizen app, giving you the same QoE dashboard visibility you get on web and mobile. Install the SDK, pass your Workspace Key and player instance to fastpixMetrix.tracker(), and playback data flows to the FastPix dashboard.
NOTE
Test on a physical Samsung TV with Developer Mode enabled. The Tizen emulator may not fully support AVPlay or advanced video playback features.
Include this key in your JavaScript code on every page where you track video performance.
If your Samsung Tizen app uses the FastPix Player (@fastpix/fp-player), Video Data collection is built in, no separate SDK integration is needed. Add the <fastpix-player> element with your metadata-workspace-key attribute and data tracking starts on first play.
For complete setup instructions and available metadata attributes, see Integrate Video Data with the player.
NOTE
If you use FastPix Player, skip the third-party integration sections. The sections that follow cover HLS.js, DASH.js, native HTML5, and AVPlay for apps that do not use FastPix Player.
Samsung Tizen apps play video through HTML5-based JavaScript player SDKs or Samsung’s proprietary AVPlay API. For HTML5-based players, the setup code is the same as the standard web guide — follow the linked guide and apply the Tizen-specific considerations in the next section.
Install @fastpix-core via npm, create your HLS.js player instance, and pass both the player instance and the Hls constructor to fastpixMetrix.tracker() along with your workspace_id and metadata.
For complete setup instructions, code examples, and configuration options, see Monitor HLS.js.
Install @fastpix-core via npm, initialize your DASH.js MediaPlayer instance, and pass both the player instance and the dashjs module to fastpixMetrix.tracker() along with your workspace_id and metadata.
For complete setup instructions, code examples, and configuration options, see Monitor DASH.js.
Samsung Tizen TVs support HLS playback natively through the HTML5 <video> element without an external player SDK. Set the video source on the <video> element and pass it to fastpixMetrix.tracker() with your workspace_id and metadata. No hlsjs or dashjs option is needed — pass only the data object.
For the complete integration pattern and configuration options, see Monitor HTML5 video element.
Samsung’s proprietary AVPlay API handles video decoding outside the HTML5 <video> element. Because @fastpix-core instruments standard DOM-based players, it cannot attach directly to AVPlay’s native pipeline. If your app uses AVPlay exclusively, the FastPix Video Data SDK does not support direct AVPlay monitoring at this time.
Workaround for hybrid apps: If your Tizen app renders the AVPlay video surface but manages playback state in JavaScript, you can create a hidden HTML5 <video> element, mirror AVPlay state changes (play, pause, seek, error) to it via JavaScript event dispatching, and pass that element to fastpixMetrix.tracker(). This provides approximate telemetry but does not capture rendition-level or buffer metrics from AVPlay’s internal pipeline.
The SDK code for HTML5-based players is identical to the standard web guides. Samsung Tizen apps have platform constraints that affect deployment, permissions, and testing.
Your app’s config.xml must include the required privileges for network access and media playback:
NOTE
The
avplayanddrmplayprivileges are required only if your app uses the Samsung AVPlay API. HTML5-based player integrations need only theinternetprivilege.
Samsung Tizen TVs have constrained resources:
hls.destroy() (HLS.js), dashPlayer.reset() (DASH.js), or avplay.close() (AVPlay) when the viewer finishes a video session.Tizen TV apps are controlled via remote control. Ensure you handle key events for playback controls (play, pause, stop, seek). The FastPix SDK automatically tracks playback state changes. For AVPlay-based apps, you will need to register media keys using tizen.tvinputdevice.registerKey() and handle the corresponding key codes in a keydown event listener.
The FastPix SDK automatically tracks playback state changes triggered by these controls.
debug: true in the FastPix configuration to verify events in the Tizen Studio Web Inspector console.The TV must reach the FastPix data collection endpoints. On restricted networks, allowlist the FastPix data ingestion domain.
All player integrations accept the same metadata fields inside the data object. Set custom_1 to "Samsung Tizen" and custom_2 to the player SDK name (for example, "HLS.js", "DASH.js", "AVPlay", "native-html5") so you can filter smart TV performance in the FastPix dashboard.
After deploying your app to a Samsung Tizen TV:
debug: true in the tracker configuration.player_name you set to isolate Samsung smart TV views.Can FastPix monitor Samsung’s proprietary AVPlay API directly?
Not at this time. The @fastpix-core SDK instruments DOM-based players (HLS.js, DASH.js, native HTML5 <video>). AVPlay processes video outside the DOM, so the SDK cannot attach to its internal pipeline. If your app manages AVPlay state in JavaScript, you can mirror events to a hidden <video> element as an approximation.
Which Tizen privileges does the FastPix SDK need?
The SDK itself requires only the http://tizen.org/privilege/internet privilege for sending analytics events. The avplay and drmplay privileges are needed only if your app uses the Samsung AVPlay API for video playback — they are not required by the FastPix SDK.
Does the Tizen emulator work for testing FastPix Video Data?
The emulator handles basic HTML5 video playback, so you can verify SDK initialization and event structure. However, AVPlay and some advanced HLS features are not available in the emulator. Test on a physical Samsung TV for accurate QoE metrics.
How do I register remote control keys for playback tracking?
Call tizen.tvinputdevice.registerKey() for each media key (MediaPlay, MediaPause, MediaStop) and handle the corresponding key codes in a keydown listener. The FastPix SDK detects playback state changes automatically — you do not need to send events to the SDK when a key is pressed.