DRM-X 6.0 logo de la colombe et de la branche d'oliveDRM-X 6.0Documentation
◎ Français

Samsung Tizen SDK et évaluation sur TV

Installez le lecteur d'évaluation Samsung TV, configurez et signez son WGT, puis intégrez Widevine VOD avec le Tizen Universal Player SDK.

Voir le MarkdownExemples en ligneUpdated 2026-09-21

Essayez la démonstration PHP avec DEMO-QUICKSTART.md dans votre SDK ZIP. Pour vos propres contenus, intégrez d’abord votre site et votre backend, puis suivez MOBILE-AND-TV-APPS.md pour connecter votre application au même système de connexion et aux mêmes règles d’accès.

Samsung TV utilise une application Web Tizen. Ce guide couvre Widevine DASH VOD avec Samsung AVPlay. Utilisez le kit d'évaluation public pour essayer le lecteur, ou le Professional/Enterprise SDK pour connecter votre propre backend.

1. Téléchargez le kit d'évaluation public TV#

Télécharger Samsung kit d'évaluation ZIP

Le ZIP comprend DRMXEvaluation.wgt, un compagnon Python et le script de configuration. Téléchargez le WGT non signé séparément si vous possédez déjà le kit. Le WGT doit être configuré et re-signé pour votre TV. Il s'agit d'une installation de développeur, pas d'une application Samsung Store ou d'un programme d'installation universel en un clic.

  • Un appareil Samsung TV compatible et un ordinateur sur le même réseau LAN privé de confiance.
  • Python 3.12+, Tizen Studio, l'extension Samsung TV et Samsung Certificate Extension 2.0.73 ou version ultérieure.
  • Un profil de certificat Samsung TV contenant le DUID de votre appareil. Vous n'avez pas besoin d'un forfait payant DRM-X pour cette démo publique.

Suivez les guides officiels Samsung : installation du TV SDK et création du certificat TV. Les écrans varient selon la version.

Vérifiez les téléchargements publics

Kit d'évaluation SHA-256 :

0adbb09e72751a1934b94bcf7e59cb42f84b5822cba14f884ecb047b91bace9a

Non signé WGT SHA-256 :

aa03536de098471e6f4870ebf668263ddd1799f1f091e3424197cd3b424df8f8

PowerShell : Get-FileHash .\DRMXEvaluation.wgt -Algorithm SHA256. Un widget configuré ou signé a un hachage différent.

2. Associez votre TV et créez son certificat#

  1. Activez Developer Mode sur le TV.Sur les modèles compatibles, ouvrez Apps et saisissez 12345 pour afficher Developer Mode. Activez ce mode, saisissez l’adresse LAN IP de votre ordinateur et redémarrez le TV comme indiqué. Si votre modèle diffère, consultez le guide des appareils TV de Samsung.
  2. Connectez le TV.Ouvrez Tizen Studio Device Manager / Remote Device Manager, ajoutez l’adresse LAN IP du TV et connectez-le. Le TV doit pouvoir joindre l’ordinateur. Autorisez le service compagnon uniquement sur votre réseau privé de confiance.
  3. Créez un certificat Samsung TV.Ouvrez Certificate Manager → Add → Samsung → TV. Utilisez votre certificat d’auteur et un certificat de distributeur contenant le DUID de votre TV. Conservez la clé privée de l’auteur dans votre propre stockage sécurisé de signature.
  4. Autoriser l'installation.Dans Device Manager, sélectionnez le TV connecté et choisissez Permit to install applications si disponible. Conservez le nom du profil de certificat pour les commandes suivantes.

3. Configurer, créer et installer#

Extrayez l'évaluation ZIP vers un chemin court sans espaces. Ouvrez-y un terminal. Remplacez les deux espaces réservés par les adresses privées LAN réelles :

python configure-evaluation.py --computer-ip YOUR_COMPUTER_IP --tv-ip YOUR_TV_IP

Laissez ce terminal ouvert. Le script crée le dossier app et démarre un service compagnon limité à l’IP de votre TV et protégé par une nouvelle autorisation temporaire. Il se connecte à la démo publique via HTTPS sans vos identifiants client. Il expire après quatre heures : ne publiez pas le widget configuré et n’exposez pas son port sur Internet.

Ouvrez un deuxième terminal dans le même dossier. Utilisez les exécutables CLI de votre installation Tizen Studio et remplacez le profil de certificat et l'adresse TV :

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

Sur Windows, les outils sont généralement tools\ide\bin\tizen.bat et tools\sdb.exe à l'intérieur de Tizen Studio. Si une commande n'est pas trouvée, utilisez son chemin complet ou ajoutez ce dossier à votre terminal PATH.

Après quatre heures, arrêtez le service compagnon, relancez le script avec un nouveau dossier --output app-new, puis compilez et signez à nouveau ce dossier. L’autorisation temporaire change : ne réutilisez pas la configuration installée qui a expiré.

4. Essayez VOD et les télécommandes#

Montage illustrant la lecture. Une image vidéo fournie et un exemple de sous-titre ont été ajoutés à l’interface du lecteur.
Montage illustrant la lecture. Une image vidéo fournie et un exemple de sous-titre ont été ajoutés à l’interface du lecteur.
  1. Choisissez un titre VOD avec Haut/Bas et appuyez sur OK. Confirmez la vidéo en mouvement et le son audible sur le TV physique.
  2. Déplacez-vous à droite vers les commandes. Essayez pause/reprise, précédent/suivant, navigation dans la vidéo de ± 10 secondes et la chronologie.
  3. Essayez le plein écran. Back ferme un menu ou quitte le plein écran avant d'arrêter la lecture. Le volume reste sur les télécommandes normales du TV.
  4. Testez la liste de lecture, la lecture suivante, le mode aléatoire et la répétition. Les choix audio et sous-titres dépendent des pistes réellement présentes.
  5. Arrêtez la lecture avant de fermer le service compagnon. Les entrées en direct restent indisponibles tant qu’elles ne sont pas validées séparément ; ce kit ne démarre jamais de diffusion.

Le service compagnon de démonstration sélectionne les versions Full HD sans déchiffrer ni transcoder les médias. Ajoutez vos propres pistes de sous-titres compatibles ; le kit public ne contient pas de sous-titres externes.

5. Créez votre propre application avec le SDK#

  1. Téléchargez le Tizen SDK ZIP.Ouvrez Console → Developer Tools → Device SDKs avec un Professional actif ou Enterprise organisation. Lire README.md.
  2. Utilisez l'exemple de lecteur complet.Copiez universal-player/ dans votre application Web TV. Modifier runtime-config.js : définissez votre point de terminaison de session de lecture HTTPS, publié Content IDs et le rappel d'authentification du spectateur.
  3. Connectez votre backend.Authentifiez le spectateur, vérifiez ses droits et renvoyez Universal Playback Session Contract v1 pour widevine, dash, vod et streaming. Implémentez aussi l’endpoint de libération de session. Le client accepte l’autorisation par jeton direct ou token proxy.
  4. Configurez l'accès au réseau.Ajoutez vos origines réelles de backend, de média et de licence à config.xml. Configurez les services CORS pour l'origine TV si nécessaire. Gardez Site Key et Access Key exclusivement sur le backend.
  5. Signez avec votre identité.Utilisez les mêmes étapes de construction/package Tizen avec universal-player comme entrée, DRMXPlayer.wgt comme nom de fichier de sortie et DrmXSdk001.Player comme exemple d'application ID. Utilisez vos propres identifiants avant de distribuer votre application.

L'exemple demande un maximum de 1080p par défaut. Votre backend doit renvoyer un codec et un ensemble de rendu que le TV peut décoder. Cette demande de fonctionnalité ne réécrit pas un manifeste UHD ; la licence et la politique DRM restent faisant autorité.

Gardez votre propre interface

Chargez le $WEBAPIS/webapis/webapis.js de Samsung, puis le drmx-tizen.js. Incluez l'objet vidéo natif et conservez un lecteur pour l'écran :

<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

Le SDK transmet sans modification les octets du challenge et de la licence Widevine. Il annule les tâches devenues obsolètes et libère les sessions lors de l’arrêt, du remplacement ou de la destruction du lecteur. Pour WebVTT externe, fournissez les métadonnées des pistes et un callback subtitle(contentId, trackId) autorisé à UniversalPlayerService. Consultez l’AVPlay API de Samsung pour les limites de médias et de pistes.

Dépannage#

SymptômeVérifier
Impossible d'installer WGTUtilisez un certificat Samsung TV avec le DUID de ce TV, activez Developer Mode et autorisez l'installation. Le public WGT n'est pas signé.
L'application indique un échec de configuration/connexion.Gardez le terminal compagnon en marche ; vérifiez les deux LAN IP, l'accès au pare-feu du réseau privé et l'expiration des quatre heures. Reconstruire après reconfiguration.
Écran noir ou saccades sur TVVérifiez le son, la progression, le codec, la résolution et les règles HDCP. Utilisez des renditions FHD sur le Samsung Smart TV. Une capture noire n’équivaut pas à un écran TV réellement noir.
Sous-titres indisponiblesFournir des pistes compatibles. La commutation arbitraire de pistes DASH TEXT via AVPlay n'est pas prise en charge ; l'exemple prend en charge les WebVTT externes autorisés.
Fonctionne dans l'aperçu du bureau mais pas TVUn aperçu dans un navigateur ne teste ni AVPlay ni Widevine. Utilisez un appareil TV réel et relevez un code d’erreur sans données sensibles.

Publiez votre application via la procédure de certification et de soumission de Samsung.