Samsung Tizen SDK および TV の評価
Samsung TV 評価プレーヤーをインストールし、その WGT を構成して署名し、Widevine VOD を Tizen Universal Player SDK と統合します。
SDK ZIP 内の DEMO-QUICKSTART.md に従って PHP デモをお試しください。自社のコンテンツを使う場合は、まずウェブサイトとバックエンドを統合し、次に MOBILE-AND-TV-APPS.md に従ってアプリを同じログインと視聴権限の仕組みに接続してください。
1. 公開されている TV 評価キットをダウンロードします#
ZIP には、DRMXEvaluation.wgt、Python ローカル補助サービス、および設定スクリプトが含まれています。 すでにキットをお持ちの場合は、署名されていないWGTを別途ダウンロードしてください。 WGT は、TV 用に構成され、再署名される必要があります。 これは開発者によるインストールであり、Samsung ストア アプリやユニバーサル ワンクリック インストーラーではありません。
- 互換性のある物理 Samsung TV と、同じ信頼できるプライベート LAN 上のコンピューター。
- Python 3.12+、Tizen Studio、Samsung TV 拡張機能、および Samsung Certificate Extension 2.0.73 以降。
- デバイスの DUID を含む Samsung TV 証明書プロファイル。この公開デモには有料の DRM-X プランは必要ありません。
Samsung の公式 TV SDK インストール および TV 証明書ガイド に従ってください。ツール画面はバージョンによって異なります。
パブリックダウンロードを確認する
評価キット SHA-256:
0adbb09e72751a1934b94bcf7e59cb42f84b5822cba14f884ecb047b91bace9a未署名 WGT SHA-256:
aa03536de098471e6f4870ebf668263ddd1799f1f091e3424197cd3b424df8f8PowerShell: Get-FileHash .\DRMXEvaluation.wgt -Algorithm SHA256。構成済みまたは署名済みのウィジェットには異なるハッシュがあります。
2. TV をペアリングし、証明書を作成します#
- TV で Developer Mode を有効にします。対応する TV で Apps を開き、12345 を入力して Developer Mode を表示します。有効にしたらコンピューターの LAN IP を入力し、指示に従って TV を再起動します。モデルによって手順が異なる場合は、Samsung の TV デバイスガイドを参照してください。
- TVを接続します。Tizen Studio Device Manager / Remote Device Managerを開きます。 TVのLAN IPを追加して接続します。コンピューターはその TV からアクセス可能でなければなりません。信頼できるプライベート ネットワーク上でのみローカル補助サービスを許可します。
- Samsung TV 証明書を作成します。Certificate Manager を開く → 追加 → Samsung → TV作成者証明書と、TV の DUID を含む配布者証明書を使用してください。作成者の秘密鍵を自分の安全な署名ストレージに保管してください。
- インストールを許可します。Device Managerで、接続されているTVを選択し、利用可能な場合はPermit to install applicationsを選択します。次のコマンドのために証明書プロファイル名を保存しておいてください。
3. 設定、構築、インストール#
評価ZIPをスペースを含まない短いパスに抽出します。そこでターミナルを開きます。 2 つのプレースホルダーを実際のプライベート LAN アドレスに置き換えます。
python configure-evaluation.py --computer-ip YOUR_COMPUTER_IP --tv-ip YOUR_TV_IP
このターミナルを動作させたままにしてください。スクリプトは app フォルダーを作成し、TV の IP と新しい一時アクセス権限に限定したローカル補助サービスを起動します。顧客の認証情報を使わずに HTTPS で公開デモへ接続します。補助サービスは4時間後に期限切れになります。設定済みウィジェットを公開したり、ポートをインターネットに公開したりしないでください。
同じフォルダー内の 2 番目の端末を開きます。 Tizen Studio インストールからの CLI 実行可能ファイルを使用し、証明書プロファイルと 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
Windows では、ツールは通常、Tizen Studio の中にある tools\ide\bin\tizen.bat と tools\sdb.exe です。コマンドが見つからない場合は、そのフルパスを使用するか、そのフォルダーをターミナル PATH に追加します。
4時間が経過したら、古いローカル補助サービスを停止します。新しい --output app-new フォルダーで設定スクリプトを再実行し、そのフォルダーをビルドして再署名してください。一時的なアクセス権限が変わるため、有効期限の切れたインストール済み設定は再利用できません。
4. VOD とリモコンを試してください#

- VOD 上/下でタイトルを選択し、OK を押します。物理的なTVで動く映像と聞こえる音を確認します。
- 右のコントロールに移動します。一時停止/再開、前/次、±10 秒シーク、タイムラインを試してください。
- 全画面表示をお試しください。 Back は、再生を停止する前にメニューを閉じるか、全画面表示を終了します。音量は TV の通常のリモコンのままです。
- プレイリスト、次の動画、シャッフル、リピートを確認します。音声と字幕の選択肢は、実際のメディアに含まれるトラックによって異なります。
- ローカル補助サービスを閉じる前に再生を停止してください。別途認定されない限り、ライブ エントリは利用できません。このキットでは放送が開始されることはありません。
デモ用の補助サービスは、メディアを復号やトランスコードせずに Full HD 映像を選択します。互換性のある字幕トラックを用意してください。公開キットに外部字幕は含まれていません。
5. SDK を使用して独自のアプリを構築する#
- Tizen SDK ZIP をダウンロードします。有効な Professional または Enterprise サブスクリプションの組織で Console → Developer Tools → Device SDKs を開き、
README.mdを読んでください。 - 完全なプレーヤー サンプルを使用します。
universal-player/をTV Web アプリケーションにコピーします。編集runtime-config.js: HTTPS 再生セッション エンドポイント、公開された Content IDs およびビューア認証コールバックを設定します。 - バックエンドに接続します。視聴者を認証し、視聴権限を確認して、
widevine、dash、vod、streamingを含む Universal Playback Session Contract v1 を返します。セッション解放用エンドポイントにも対応してください。クライアントは直接トークン認証とトークンプロキシ認証の両方に対応します。 - ネットワーク アクセスを構成します。実際のバックエンド、メディア、およびライセンスの発行元を
config.xmlに追加します。必要に応じて、サービスの CORS を TV オリジンに対して構成します。 Site Key と Access Key はバックエンドのみに保持します。 - 自分の ID で署名します。
universal-playerを入力として、DRMXPlayer.wgtを出力ファイル名として、DrmXSdk001.Playerをサンプルアプリ ID として同じTizen ビルド/パッケージ手順を使用します。アプリを配布する前に独自の識別子を使用してください。
サンプルはデフォルトで最大 1080p を要求します。バックエンドは、TV がデコードできるコーデックとレンディション セットを返す必要があります。この機能リクエストは、UHD マニフェストを書き換えません。 DRM ライセンスとポリシーは引き続き権威を持ちます。
独自のインターフェースを維持する
Samsungの$WEBAPIS/webapis/webapis.jsをロードし、次にdrmx-tizen.jsをロードします。ネイティブ ビデオ オブジェクトを含めて、画面用に 1 つのプレーヤーを保持します。
<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
SDK は、Widevine チャレンジとライセンスバイトをそのまま保持します。古い再生作業をキャンセルし、停止、交換、または廃棄時にセッションを解放します。外部 WebVTT の場合は、カタログ トラック メタデータと UniversalPlayerService への承認された subtitle(contentId, trackId) コールバックを指定します。プラットフォーム固有のメディアおよびトラックの制限については、Samsung の AVPlay API を参照してください。
トラブルシューティング#
| 症状 | 確認項目 |
|---|---|
| WGTをインストールできません | この TV の DUID で Samsung TV 証明書を使用し、Developer Mode を有効にしてインストールを許可します。一般の WGT は署名されていません。 |
| アプリで設定/接続が失敗したと表示される | ローカル補助サービス端末を実行し続けます。両方の LAN IP、プライベート ネットワーク ファイアウォール アクセス、および 4 時間の有効期限を確認してください。再構成後に再構築します。 |
| TV で黒い画面または途切れが発生する | 音声、再生の進行、コーデック、対応解像度、HDCP ポリシーを確認します。Samsung Smart TV では FHD のレンディション構成を使用してください。スクリーンショットが黒いことと、TV の実画面が黒いことは別です。 |
| 字幕が利用できません | 互換性のあるトラックを供給します。 AVPlay を介した任意の DASH TEXT トラック切り替えはサポートされていません。サンプルは、認可された外部 WebVTT をサポートしています。 |
| デスクトップ プレビューでは動作しますが、TV では動作しません | ブラウザ上の UI プレビューでは AVPlay や Widevine は動作しません。実機の TV でテストし、機密情報を除いたエラーコードを記録してください。 |
Samsung の認証と申請手順に従ってアプリを公開してください。
DRM-X 6.0