Samsung Tizen SDK and TV evaluation
Install the Samsung TV evaluation player, configure and sign its WGT, then integrate Widevine VOD with the Tizen Universal Player SDK.
1. Download the public TV evaluation kit#
Download Samsung evaluation kit ZIP
The ZIP includes DRMXEvaluation.wgt, a Python companion and the configuration script. Download the unsigned WGT separately if you already have the kit. The WGT must be configured and re-signed for your TV. It is a developer installation, not a Samsung Store app or a universal one-click installer.
- A compatible physical Samsung TV and a computer on the same trusted private LAN.
- Python 3.12+, Tizen Studio, the Samsung TV extension and Samsung Certificate Extension 2.0.73 or later.
- A Samsung TV certificate profile containing your device's DUID. You do not need a paid DRM-X plan for this public demo.
Follow Samsung's official TV SDK installation and TV certificate guide. Tool screens vary by version.
Verify the public downloads
Evaluation kit SHA-256:
379f72d32c80612c64cb235599661edf6862badf718500ac04f9d7e44ae22388Unsigned WGT SHA-256:
1682fb3b8615bf68acd74a2ac17ef793a6cc30ff682bdd917bb3a3035b0c084bPowerShell: Get-FileHash .\DRMXEvaluation.wgt -Algorithm SHA256. A configured or signed widget has a different hash.
2. Pair your TV and create its certificate#
- Enable Developer Mode on the TV.On supported TVs open Apps, enter 12345 to open Developer Mode, switch it on, enter your computer's LAN IP and restart the TV as instructed. Follow Samsung's TV device guide if your model differs.
- Connect the TV.Open Tizen Studio Device Manager / Remote Device Manager. Add the TV's LAN IP and connect. The computer must be reachable from that TV; permit the companion only on the trusted private network.
- Create a Samsung TV certificate.Open Certificate Manager → Add → Samsung → TV. Use your author certificate and a distributor certificate that contains your TV's DUID. Keep the author private key in your own secure signing storage.
- Permit installation.In Device Manager, select the connected TV and choose Permit to install applications where available. Keep the certificate-profile name for the next commands.
3. Configure, build and install#
Extract the evaluation ZIP to a short path without spaces. Open a terminal there. Replace the two placeholders with the actual private LAN addresses:
python configure-evaluation.py --computer-ip YOUR_COMPUTER_IP --tv-ip YOUR_TV_IP
Leave this terminal running. The script creates the app folder and starts a companion restricted to your TV IP and a new temporary capability. It connects to the public demo over HTTPS without your customer credentials. The companion expires after four hours; do not publish its configured widget or expose its port to the Internet.
Open a second terminal in the same folder. Use the CLI executables from your Tizen Studio installation, and replace the certificate profile and TV address:
tizen build-web -out .build -- app
tizen package -t wgt -s YOUR_SAMSUNG_PROFILE -- app/.build
sdb connect YOUR_TV_IP:26101
tizen install -n DRMXEvaluation.wgt -s YOUR_TV_IP:26101 -- app/.build
tizen run -p DrmXEval01.Player -s YOUR_TV_IP:26101
On Windows the tools are typically tools\ide\bin\tizen.bat and tools\sdb.exe inside Tizen Studio. If a command is not found, use its full path or add that folder to your terminal PATH.
After the four-hour window, stop the old companion, run the configuration script with a new --output app-new folder, and build/re-sign that folder. Its temporary capability changes. Do not reuse the expired installed configuration.
4. Try VOD and the remote controls#

- Choose a VOD title with Up/Down and press OK. Confirm moving video and audible sound on the physical TV.
- Move right to the controls. Try pause/resume, previous/next, ±10-second seek and the timeline.
- Try Full screen. Back closes a menu or exits full screen before stopping playback. Volume stays on the TV's normal remote controls.
- Check playlist, play-next, shuffle and repeat. Audio/subtitle options depend on actual media tracks.
- Stop playback before closing the companion. Live entries stay unavailable unless separately qualified; this kit never starts a broadcast.
The demo companion selects a Full HD rendition set for the tested M5 without decrypting or transcoding media. This public kit contains no copyrighted media or external song captions. The physical subtitle-switching result used separately supplied licensed captions; add your own compatible tracks when testing your content.
5. Build your own app with the SDK#
- Download the Tizen SDK ZIP.Open Console → Integrations with an active Professional or Enterprise organization. Read
README.md. - Use the complete player sample.Copy
universal-player/into your TV Web application. Editruntime-config.js: set your HTTPS playback-session endpoint, published Content IDs and the viewer-authentication callback. - Connect your backend.Authenticate the viewer, check entitlement, and return Universal Playback Session Contract v1 for
widevine,dash,vod,streaming. Support its release route. The client accepts direct-token or token-proxy authorization. - Configure network access.Add your actual backend, media and license origins to
config.xml. Configure the services' CORS for the TV origin where required. Keep Site Key and Access Key exclusively on the backend. - Sign with your identity.Use the same Tizen build/package steps with
universal-playeras input,DRMXPlayer.wgtas the output filename andDrmXSdk001.Playeras the sample app ID. Use your own identifiers before distributing your app.
The sample requests a maximum of 1080p by default. Your backend must return a codec and rendition set the TV can decode. This capability request does not rewrite a UHD manifest; the DRM license and policy remain authoritative.
Keep your own interface
Load Samsung's $WEBAPIS/webapis/webapis.js, then drmx-tizen.js. Include the native video object and retain one player for the screen:
<object id="video" type="application/avplayer"></object>
<script src="$WEBAPIS/webapis/webapis.js"></script>
<script src="drmx-tizen.js"></script>
const player = new DrmXTizen.Player({
endpoint: 'https://app.example.com/api/playback-session',
authentication: () => ({Authorization: 'Bearer ' + viewerToken}),
maximumHeight: 1080,
rect: {x:0, y:0, width:1920, height:1080},
onState: state => { statusLabel.textContent = state; }
});
await player.play('YOUR_PUBLISHED_CONTENT_ID');
player.pause();
player.resume();
player.seekTo(30000);
await player.stop();
await player.dispose(); // final dismissal or sign out
The SDK keeps Widevine challenge and license bytes intact. It cancels stale playback work and releases sessions on stop, replacement or disposal. For external WebVTT, supply catalog track metadata and an authorized subtitle(contentId, trackId) callback to UniversalPlayerService. See Samsung's AVPlay API for platform-specific media and track restrictions.
Device evidence and troubleshooting#
Physically tested: Samsung M5 LS27DM501EEXXY, Tizen 9, September 17, 2026. The complete AVPlay UI and local helper played protected Full HD VOD with an advancing clock; English/Chinese external subtitle selection and corrected playback were confirmed on the TV. The reusable customer-contract wrapper is new in this SDK preview and has automated tests; validate it with your backend and physical devices before production.
| Symptom | Check |
|---|---|
| Cannot install WGT | Use a Samsung TV certificate with this TV's DUID, enable Developer Mode and permit installation. The public WGT is unsigned. |
| App says configure/connect failed | Keep the companion terminal running; check both LAN IPs, private-network firewall access and the four-hour expiry. Rebuild after reconfiguration. |
| Black screen or stuttering on TV | Test sound/progress, codec, supported resolution and HDCP policy. Use an FHD ladder on the M5. A black screenshot is not the same as a black TV screen. |
| Subtitles unavailable | Supply compatible tracks. Arbitrary DASH TEXT-track switching through AVPlay is not supported; the sample supports authorized external WebVTT. |
| Works in desktop preview but not TV | A browser fixture does not exercise AVPlay or Widevine. Use a physical TV and capture a redacted error code. |
Live, offline downloads, HDR and other Samsung models are not qualified by this release. Production store distribution follows Samsung's separate certification/submission process. Compare platforms and see all app screenshots →
DRM-X 6.0