DRM-X 6.0 鸽子和橄榄枝标志DRM-X 6.0文档
◎ 简体中文

Samsung Tizen SDK 和 TV 评估

安装 Samsung TV 评估播放器,配置并签名 WGT,然后使用 Tizen Universal Player SDK 集成 Widevine VOD。

查看 Markdown在线示例更新于 2026-09-18
Samsung TV 使用 Tizen Web 应用程序。 本指南涵盖 Widevine DASH VOD 和 Samsung AVPlay。使用公共评估套件试用播放器,或使用 Professional/EnterpriseSDK 连接您自己的后端。

1. 下载公开的 TV 评估套件#

下载 Samsung 评估套件 ZIP

ZIP 包含 DRMXEvaluation.wgt、Python 本地配套服务和配置脚本。如果已下载完整套件,也可单独下载未签名 WGTWGT 必须针对您的 TV 完成配置并重新签名。这是开发安装方式,不是 Samsung 商店应用,也不是通用的一键安装程序。

  • 兼容的物理 Samsung TV 和同一可信私有 LAN 上的计算机。
  • Python 3.12+、Tizen Studio、Samsung TV 扩展以及 Samsung Certificate Extension 2.0.73 或更高版本。
  • 包含您设备的 DUID 的 Samsung TV 证书配置文件。您不需要为此公开演示付费 DRM-X 计划。

遵循 Samsung 官方TVSDK 安装TV 证书指南。工具屏幕因版本而异。

验证公共下载

评估套件 SHA-256:

379f72d32c80612c64cb235599661edf6862badf718500ac04f9d7e44ae22388

未签名 WGT 的 SHA-256:

1682fb3b8615bf68acd74a2ac17ef793a6cc30ff682bdd917bb3a3035b0c084b

PowerShell:Get-FileHash .\DRMXEvaluation.wgt -Algorithm SHA256。配置或签名的小部件具有不同的哈希值。

2. 配对您的 TV 并创建其证书#

  1. 在 TV 上启用 Developer Mode。在支持的 TV 上打开 Apps,输入 12345 进入 Developer Mode,启用该模式,填写计算机的 LAN IP,并按提示重启 TV。型号不同的设备请遵循 Samsung TV 设备指南
  2. 连接 TV。打开 Tizen Studio Device Manager / Remote Device Manager,添加 TV 的 LAN IP 并连接。TV 必须能够访问该计算机;仅在可信私有网络中允许本地配套服务的访问。
  3. 创建 Samsung TV 证书。打开 Certificate Manager → Add → Samsung → TV。使用自己的 author certificate,以及包含此 TV DUID 的 distributor certificate。将 author private key 保存在安全的签名存储中。
  4. 允许安装。在 Device Manager 中,选择已连接的 TV 并选择Permit to install applications(如果可用)。保留接下来的命令的证书配置文件名称。

3. 配置、构建和安装#

将评估 ZIP 提取到不带空格的短路径。在那里打开一个终端。将两个占位符替换为实际的私有 LAN 地址:

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

保持此终端运行。 脚本会创建 app 文件夹,并启动仅允许您的 TV IP 访问、使用新临时访问凭据的本地配套服务。它通过 HTTPS 连接公开演示,不需要您的客户凭据。该服务四小时后过期;不要发布已配置的 Widget,也不要向互联网开放其端口。

在同一文件夹中打开第二个终端。使用 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.battools\sdb.exe。如果未找到命令,请使用其完整路径或将该文件夹添加到终端 PATH。

四小时有效期结束后,停止旧的本地配套服务,使用新的 --output app-new 文件夹再次运行配置脚本,然后重新构建并签名。新配置会使用新的临时访问凭据;不要继续使用已过期的安装配置。

4. 测试 VOD 和遥控器操作#

播放效果合成示意图。播放器界面中加入了提供的视频画面和示例字幕。
播放效果合成示意图。播放器界面中加入了提供的视频画面和示例字幕。
  1. 使用上下方向键选择一个 VOD 视频,再按 OK。在真实 TV 上确认画面持续播放且声音正常。
  2. 向右移动焦点到控件区域。测试暂停/继续、上一项/下一项、前后跳转 10 秒和进度条。
  3. 尝试全屏。 Back 在停止播放之前关闭菜单或退出全屏。音量保持在 TV 的普通遥控器上。
  4. 检查播放列表、播放下一个、随机播放和重复。音频/字幕选项取决于实际媒体轨道。
  5. 关闭本地配套服务前先停止播放。未经单独验证,直播条目保持不可用;此套件不会启动直播。

演示用本地配套服务为已测试的 Samsung Smart TV 选择 Full HD 编码档位,不会解密或转码媒体。公开套件不包含受版权保护的媒体或外部歌曲字幕。真机字幕切换测试使用了另行提供的授权字幕;测试自己的内容时,请加入兼容且有权使用的字幕轨道。

5. 使用 SDK 构建您自己的应用程序#

  1. 下载 Tizen SDK ZIP.打开 Console → Integrations 使用有效的 Professional 或 Enterprise 组织。阅读README.md
  2. 使用完整的播放器示例。universal-player/复制到 TV Web 应用程序中。编辑runtime-config.js:设置 HTTPS 播放会话端点、发布的 Content IDs 和观众身份验证回调。
  3. 连接后端。验证观众身份和访问权限,为 widevinedashvodstreaming 返回 Universal Playback Session Contract v1,并支持会话释放接口。客户端支持直接 Token 或 Token Proxy 授权。
  4. 配置网络访问。将您的实际后端、媒体和许可证来源添加到config.xml。根据需要,为 TV 源配置服务的 CORS。将 Site Key 和 Access Key 仅保留在后端。
  5. 使用您的身份进行签名。使用相同的 Tizen 构建/打包步骤,其中universal-player作为输入,DRMXPlayer.wgt作为输出文件名,DrmXSdk001.Player作为示例应用程序 ID。在分发应用程序之前使用您自己的标识符。

示例默认请求最高 1080p。后端必须返回 TV 能够解码的编解码器与编码档位。此能力请求不会改写 UHD manifest;最终仍以 DRM 许可证和策略为准。

保留你自己的界面

先加载 Samsung 的 $WEBAPIS/webapis/webapis.js,再加载 drmx-tizen.js。添加原生视频对象,并让该页面持有一个播放器实例:

<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 challenge 和许可证字节;停止播放、切换内容或释放播放器时,会取消过时任务并释放会话。使用外部 WebVTT 时,请提供目录轨道元数据,并为 UniversalPlayerService 提供经过授权的 subtitle(contentId, trackId) 回调。平台媒体和轨道限制请参见 Samsung AVPlay API

设备测试结果和故障排除#

真机测试:Samsung Smart TV (Tizen),2026 年 9 月 17 日。完整 AVPlay UI 与本地配套服务成功播放了受保护 Full HD VOD,播放时间持续推进;英文/中文外部字幕选择及修正后的播放已在 TV 上确认。可复用的客户后端集成为此 SDK 预览版新增内容,已通过自动化测试;投入生产前仍需使用自己的后端与真实设备验证。

症状检查
无法安装 WGT将 Samsung TV 证书与此 TV 的 DUID 一起使用,启用 Developer Mode 并允许安装。公共 WGT 未签名。
应用程序显示配置/连接失败保持本地配套服务的终端运行;检查两端 LAN IP、私有网络防火墙规则及四小时有效期。重新配置后必须重新构建。
TV 黑屏或卡顿检查声音和播放进度、编解码器、支持的分辨率及 HDCP 策略。在 Samsung Smart TV 上使用 FHD 编码档位。截图中的黑色视频区不等同于 TV 实际播放黑屏。
字幕不可用提供兼容的轨道。AVPlay 不支持任意切换 DASH TEXT 轨道;示例支持经过授权的外部 WebVTT 字幕。
桌面预览正常,但 TV 无法使用浏览器中的界面预览不会调用 AVPlay 或 Widevine。请在真实 TV 上测试,并记录已去除敏感信息的错误代码。

本版本尚未验证直播、离线下载、HDR 和其他 Samsung 型号。通过 Samsung 商店发布还需遵循其认证与提交流程。比较平台并查看所有应用截图 →