媒体服务脱机流式处理

注意

Google Widevine 内容保护服务目前在由世纪互联运营的 Microsoft Azure 区域中不可用。

Media Services logo v3


警告

Azure 媒体服务将于 2024 年 6 月 30 日停用。 有关详细信息,请参阅 AMS 停用指南

  • 观看者可能需要将内容下载到手机或平板电脑上,以便在断开 Internet 连接的情况下播放。
  • 在某些地区,Internet 可用性和/或宽带仍然受到限制。 用户可以选择下载内容,以更高的分辨率观看。
  • 某些内容提供程序可能不允许在某个区域的边界之外进行 DRM 许可证传送。 如果用户想在国外旅行期间查看内容,需要脱机下载。

Azure 媒体服务为 Microsoft PlayReady、Apple FairPlay 流式处理和 AES-128 加密提供了一组精心设计的内容保护服务

注意

下载内容时,脱机 DRM 仅针对发出单个许可证请求进行计费。 任何错误都不收费。

先决条件

在 iOS 10+ 设备上为 FairPlay 实现 脱机 DRM 之前:

  • 阅读 Apple FairPlay 许可要求和配置
  • 从 Apple Developer Network 获取 FPS SDK。 FPS SDK 包含两个组件:
    • FPS Server SDK,该组件包含密钥安全模块 (KSM)、客户端示例、规格和一组测试矢量。
    • FPS 开发包,该组件包含 D 函数、规格和 FPS 证书生成说明、客户特定的私钥以及应用程序密钥。 Apple 仅对许可的内容提供商发布 FPS 开发包。
  • 在生成 FPS 证书过程中收到的 .der/.cer 证书文件包含公钥,可供客户端使用。 应在 Azure Key Vault 或其他安全位置保护私钥 (.pfx)。

在 Azure 密钥保管库中存储 FairPlay 私钥 (.pfx)

从 Apple 收到的私钥 (.pfx) 应被视为安全证书,可将其存储在 Azure Key Vault 中。

  • 管理员应该先将 .pfx 证书文件转换为 base64 编码的文本文件
  • 转换后,可将此文件作为安全文本文件存储在 Azure DevOps Services 中。
  • 然后,可以在 Azure Key Vault 中手动将字符串存储为“机密对象”,或者存储为解决方案的部署/生成脚本的一部分。 在 Gridwich 项目示例代码中可以看到将 FairPlay 私钥证书存储在 Azure Key Vault 中的示例
  • (可选)在密钥保管库中将 .pfx 文件的密码存储为机密。

示例 CLI 脚本

若要将 base64 编码的私钥文件复制到 Azure 密钥保管库,请执行以下操作:

set -eu
echo key vault : $SHARED_KV_NAME
echo "Copying FairPlay certificate to key vault as secret"
az keyvault secret set --vault-name $SHARED_KV_NAME -n ams-fairPlay-certificate-b64 -f $(FairPlayCertificate.secureFilePath) --output none

克隆示例

克隆媒体服务 .Net 示例。

git clone https://github.com/Azure-Samples/media-services-v3-dotnet-tutorials.git

修改代码

修改使用 .NET 通过 DRM 加密中的代码以添加 FairPlay 配置。

详细信息

有关详细信息,请参阅常见问题解答中的内容保护