# 桌面 Packager：分步指南

按照图文说明连接 DRM-X Packager 配置，选择编码与加密设置，在 Windows 上运行批量任务并恢复中断的上传。

加密视频和 DRM 许可证通过不同路径传输

CDN 负责传输加密视频。您的后端检查观看权限，DRM 许可证服务则授权兼容设备解密播放。

- 01**存储 / CDN**

向播放器传输加密媒体。

- 02**您的后端**

确认用户有权观看后，向 DRM-X 请求播放授权。

- 03**DRM-X**

验证播放授权并处理 DRM 许可证请求。

- 04**播放器 + 设备**

使用设备的 DRM 系统获取许可证，并播放加密媒体。

您的后端决定访问; DRM-X 执行已签名的政策。 加密的媒体和DRM 许可证会遵循不同的传送路径 。

## 开始前的准备[#](#before-you-start)

从 [Console → Package Content](https://6.drm-x.com/console/package-content) 获取 Windows x64 版 **DRM-X 6.0 Packager Suite**，将整个 ZIP 解压到可写入的文件夹中。请将 `DRM-X 6.0 Packager.exe`、`drmx-packager.exe`、FFmpeg、FFprobe 和 Shaka Packager 保存在一起，桌面工具会调用其中的 CLI。

- 将源视频保存在本地磁盘，并为编码过程生成的临时视频和最终加密输出预留足够空间。
- 在 DRM-X 环境的 Settings 中获取 **Site ID**、**Packager Access Key** 和 **Packager KMS Token**。这些凭据用于打包加密，与观众播放时使用的 DRM License Token 不同。
- 使用托管上传前，请确认当前环境已配置可用的 1AICLOUD 存储目标，并具有足够的存储额度。使用自有存储时，须先在 Cloud Storage 中完成验证。

下文的长时间上传恢复功能需要 preview.6 或更新版本。处理三小时视频、4K 或 8K 任务前，请先阅读[大型视频规划指南](https://docs.drm-x.com/zh-Hans/packaging/large-videos)。



## 1. 连接 Packager 配置[#](#1-connect-a-packager-profile)

[![DRM-X Desktop Packager 界面，显示鸽子标志、配置字段、打包信息以及编码和加密设置](https://docs.drm-x.com/assets/desktop-setup.png)](https://docs.drm-x.com/assets/desktop-setup.png)实际桌面工具界面，未载入客户配置。点击图片可放大查看。
- 打开`DRM-X 6.0 Packager.exe`,由DRM-X的鸽子标志所识别.
- 输入可识别的配置文件名称, 如 ** Production** 。
- 将服务器保留为`https://packaging.drm-x.com`, 除非您的DRM-X 管理员提供了不同的服务器 。
- 输入来自同一环境的 Site ID、Packager Access Key 和 Packager KMS Token。
- 依次点击 **Save profile** 和 **Test connection**。确认凭据验证成功后，再添加大批量文件。

KMS Token 保存在 Windows Credential Manager 中。桌面工具和 CLI 都可以通过 `--profile "Production"` 使用该配置。保存配置不代表凭据仍然有效，请使用 Test connection 向服务器验证。不要将 KMS Token 写入可编辑命令，也不要让它出现在截图中。



## 2. 设置打包加密信息[#](#2-set-packaging-information)

使用 **Title template** 设置显示标题，使用 **Content ID template** 设置应用中的内容标识符。默认模板会填入源文件名和批次编号。请检查文件表中生成的 ID，确保每项新内容都有唯一标识。后端将使用该 Content ID 为已发布的视频请求播放授权。



## 3. 选择编码设置[#](#3-choose-encoding-settings)

| 控件 | 实用的集成起点 | 
| --- | --- |

| 源视频处理方式 | 普通 MP4/MOV/MKV 视频请选择 **Encode one master source**，由工具对单个源视频进行编码。只有已经准备好最终轨道，并理解 CLI 输入映射时，才使用预先编码的版本。 | 

| 编码格式与预设 | 首次测试可选择 H.264 / AVC 和 Fast 预设，以获得较广泛的兼容性。使用 H.265 / HEVC 或 AV1 时，需要验证播放器和设备是否支持，尤其是 UHD 视频。 | 

| 码率控制 | **Smart Quality VBR** 会根据源视频调整编码码率。若更重视提前估算文件大小，可选择 Predictable Bitrate。两种方式都应先用短片测试。 | 

| 最高帧率（Max FPS） | 根据观众设备和内容需要设置帧率上限。将高帧率源视频限制为 24 fps 会减少运动细节；如有需要且设备支持，可选择 30 或 60 fps。 | 

| 音频与分片 | 可先使用 AAC 128 Kbps 和 **6 秒**分片进行测试。若改为 4 秒分片，分片对象数量约增加 50%。 | 

| 输出清晰度档位 | 1080p 源视频可选择 SD、HD 和 Full HD。3840×2160 源视频可增加 UHD，7680×4320 源视频可增加 UHD2。CLI 会移除高于源视频分辨率的档位，不会通过放大画面生成不存在的细节。 | 

工具会自动将源视频编码为所选清晰度，无需先用其他软件生成各档视频。若要配置多语言音轨、字幕或已编码的输入文件，可使用桌面工具中的详细 CLI 参数编辑器。



## 4. 选择加密和上传[#](#4-choose-encryption-and-upload)

**Maximum Compatibility** 会为启用的 DRM 系统生成互补的加密输出；**Modern Multi-DRM** 则在支持的设备上使用共用的 CBCS 流程。Maximum Compatibility 会采用 H.264、24 fps 和 SDR 的兼容性限制。测试 H.265 或 AV1 时请选择 Modern Multi-DRM。需要分别保护轨道时，保留 **Multi-Key Protection(Shaka standard)**；需要共用一个内容密钥时，选择 **Single Key Protection**。除非应用明确需要未加密音频，否则应启用 Audio Track Encryption。

选择要测试的 DRM 系统：Widevine、FairPlay、PlayReady 和 WisePlay。选择某个 DRM 系统或 8K 档位，并不表示所有设备都支持播放。启用上传可将内容发布到配置的存储目标；关闭上传则只保留本地加密输出。



## 5. 添加文件并运行批次[#](#5-add-files-and-run-the-batch)

[![Desktop Packager 的文件列表、添加源文件和选择输出文件夹按钮、可编辑的 CLI 参数、日志及各阶段进度](https://docs.drm-x.com/assets/desktop-batch.png)](https://docs.drm-x.com/assets/desktop-batch.png)向下滚动可查看文件列表并编辑参数。Start 按钮和各阶段进度会一直显示在窗口底部。
- 点击 **Add source files**，可以一次选择多个源文件。
- 检查每项内容的标题和 Content ID。可用 **Remove selected** 移除不需要处理的项目。
- 点击 **Choose output folder**。桌面工具会为每项内容创建独立文件夹。启动新的打包加密任务时，对应输出文件夹必须为空。
- 修改步骤 1–3 后，点击 **Regenerate from Steps 1–3** 重新生成参数。此操作会覆盖参数模板中的手动修改，请先备份需要保留的高级设置。
- 检查生成的命令。点击 **Copy selected command**，可复制当前选中项目的等效 CLI 命令，其中使用已保存的配置。
- 点击 **Start batch packaging**。各源文件按顺序处理；CLI 会并行上传当前加密输出包中的对象。

进度卡片依次显示 **Analyze → Encode → Encrypt → Verify → Upload**，即分析、编码、加密、验证和上传。UHD 源视频的编码和加密可能需要更长时间。进度达到 99% 时，服务器仍在验证已上传的输出。请等待任务完成；已上传文件数量并不能证明内容已达到 Published 状态。



## 6. 恢复中断的上传[#](#6-recover-an-interrupted-upload)

如果日志显示 **Local encryption and verification completed, but managed upload did not finish**，说明本地加密和验证已完成，但托管上传尚未结束。请保留完整的加密输出文件夹，并从日志复制 Packaging Session ID 和恢复命令。使用已保存的配置执行 [CLI 上传命令](https://docs.drm-x.com/zh-Hans/packaging/cli#resume-without-re-encoding)，不要对该文件夹重新打包。1AICLOUD 中已经上传且匹配的对象会被复用。

Cancel current 会请求当前任务安全取消。上传过程中，不要重命名、修改或删除加密输出文件。如果在编码或加密阶段中断，应使用新的空文件夹重新打包；仅恢复上传的前提是本地加密已经完成。



## 7. 测试已发布的视频[#](#7-test-the-published-video)

在控制台的 Developer Tools 中选择已发布的内容，使用新生成的 DRM License Token 测试。在目标设备上检查播放、进度跳转、声音、字幕和允许的清晰度。确认发布和播放均正常之前，请保留源文件和加密输出。

<!-- Canonical: https://docs.drm-x.com/zh-Hans/packaging/desktop -->
<!-- Language: zh-Hans -->
