如何从 Azure 媒体服务 DRM 获取许可证 URL

问题描述

我正在使用 Azure Media Services v3 创建一个 VoD 播放器应用程序,并且我正在使用内置的 DRM 支持(Widevine、PlayReady、FairPlay)来加密数据。我的解决方案在客户端使用 Video.js 播放器和 videojs-contrib-eme 包来播放内容

我的问题是,对于 DRM 配置,我必须为播放器提供许可证 URL,但我没有找到任何 API 来获取许可证 URL。

我找到的唯一解决方案是从 DASH 清单中获取 url,然后将部分 URL 替换为正确的 DRM 类型名,如下所述:setup-vod.ps1 描述第 9 节中的 Github repo .这似乎是一个粗略的解决方法,我很想知道是否有任何文档或 API 可以正确执行此操作。有没有人有任何关于正确解决方案的教程、示例或文档,或者我已经在使用链接解决方案中最好的解决方案?

解决方法

对于生产系统,客户通常有一个 CMS 存储 LA_URL,玩家可以依靠 CMS 获取这些信息。

对于没有此类 CMS 的情况,您必须为 PlayReady 和 Widevine LA_URL 解析 DASH MPD,为 FairPlay LA_URL 解析 HLS 播放列表。

这个测试播放器就是这样做的(在诊断叠加层底部下拉到 DRM):https://openidconnectweb.azurewebsites.net/AMTestPlayer?url=https://eventgridmediaservice-usw22.streaming.media.azure.net/2fa069bd-2b0c-4674-bff7-26ebd6cdc224/MicrosoftElite01.ism/manifest(format=mpd-time-csf,encryption=cenc)