0

我正在尝试启用我的 Azure 托管视频,以便在 Chrome 中使用“租期”进行离线观看,以便它在几天后过期。我从OfflinePlayReadyAndWidevine java 示例项目开始。我更新了这个方法,为所有三个持续时间指定 30 秒。

    policyOverrides.setRentalDurationSeconds(30);
    policyOverrides.setPlaybackDurationSeconds(30);
    policyOverrides.setLicenseDurationSeconds(30);

这似乎奏效了。查看Azure 媒体服务资源管理器中的资产信息,我在内容保护选项卡中看到了这 30 秒的持续时间:

  "properties.options": [
    {
      "policyOptionId": "1d9620f2-bc02-4ddc-a64f-b25e5f02b6e5",
      "name": null,
      "configuration": {
        "widevineTemplate": "{\"AllowedTrackTypes\":\"SD_HD\",\"ContentKeySpecs\":[{\"TrackType\":\"SD\",\"SecurityLevel\":1,\"RequiredOutputProtection\":{\"HDCP\":\"HDCP_NONE\"}}],\"PolicyOverrides\":{\"CanPlay\":true,\"CanPersist\":true,\"CanRenew\":false,\"RentalDurationSeconds\":30,\"PlaybackDurationSeconds\":30,\"LicenseDurationSeconds\":30}}"
      },
      "restriction": {}
    }
  ],

但它似乎没有生效。在 Windows 上的 Chrome 中,我将我的 URL 添加到带有自定义内容部分的Shaka 播放器,单击下载按钮,拔掉互联网,我可以一遍又一遍地播放视频。它似乎没有过期。我也没有遇到Azure 媒体播放器过期的问题,尽管由于它的离线支持,我专注于让 Shaka 首先工作。

如果有人以前测试过这个工作,我很想看看如何!

4

1 回答 1

2

在您的 Widevine 模板中,3 个属性名称:

  1. RentalDurationSeconds
  2. PlaybackDurationSeconds
  3. LicenseDurationSeconds

看起来与 Widevine 代理规范或 Widevine 模板上的 Azure 媒体服务文档中的相应 3 个属性名称不同(https://docs.microsoft.com/en-us/azure/media-services/previous/media-services-widevine-许可证模板概述

他们应该分别

  1. 租用_duration_seconds
  2. 播放时间_秒
  3. license_duration_seconds

这样,它将与上面的 Widevine 代理文档或 AMS 文档一致。

目前,您能否将 Widevine 模板设置为 JSON 字符串而不是通过属性设置器?

于 2020-02-20T22:36:29.850 回答