媒体服务脱机流式处理
注意
Google Widevine 内容保护服务目前在由世纪互联运营的 Microsoft Azure 区域中不可用。
警告
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 配置。
详细信息
有关详细信息,请参阅常见问题解答中的内容保护。