【问题标题】:Videogular2 gives cors error for Azure DRM protected contentVideogular2 为受 Azure DRM 保护的内容提供 cors 错误
【发布时间】:2018-05-14 03:53:30
【问题描述】:

我正在使用 Videogular2 播放 azure 内容。托管在没有 DRM 的 azure 上的内容完美运行。当我实施具有令牌身份验证的 DRM 保护内容时,会出现 CORS 错误。从许可证服务器获取许可证时抛出错误。

以下是我的代码

  stream = {
          source: 'http://xxxxx.streaming.mediaservices.windows.net/xxxxxxx/abc512kb.ism/manifest(format=mpd-time-csf)',
          licenseServers: {
              'com.widevine.alpha': {
                  serverURL: 'https://xxxxxx.keydelivery.westindia.media.azure.net/Widevine/?KID=xxxxx-ef40-87ed-b348-xxxxxx'
              }
          },
          token: 'Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
      }

<video #media
        [vgMedia]="media"
       [vgDash]="stream.source"
       [vgDRMLicenseServer]="stream.licenseServers"
       [vgDRMToken]="stream.token"
       id="singleVideo"
       preload="auto" crossorigin
       >
</video>

从许可证服务器获取许可证时出现以下错误。

对预检请求的响应未通过访问控制检查: 响应中“Access-Control-Allow-Origin”标头的值必须 当请求的凭据模式为时,不是通配符“*” '包括'。因此不允许使用原点“http://localhost:4300” 使用权。发起请求的凭证模式 XMLHttpRequest 由 withCredentials 属性控制。

如果我使用 chrome 的 disable-web-security 运行它,那么我调用的效果很好。

是否有人在播放 Azure Media 内容时遇到过此类问题。

【问题讨论】:

    标签: azure cors azure-media-services videogular


    【解决方案1】:

    Mandar -- Azure 媒体服务 (AMS) 源将预检响应中的“Access-Control-Allow-Origin”标头的值设置为通配符“”。这适用于大多数播放器,包括我们的 Azure 媒体播放器、Roku 和 JW 等。从错误来看,Videogular2 似乎不适用于 AMS 原始 URL,因为凭据模式设置为“包含”,其 dashjs 中的 XMLHttpRequest 不允许通配符“”作为“'Access-Control-Allow”的值-起源”。

    您是否从单个域运行播放器?如果您是,我们可以将请求设置为包含您的传入源域而不是通配符。通过 microsoft dot com 的 dwgeo 与我联系,我们可以在您的帐户上启用该功能。谢谢。

    【讨论】:

    • 目前我正在本地机器上进行测试。在生产中,它将来自单个域。出于测试目的,我将通过一个域进行尝试,并在您的电子邮件中为您提供详细信息。
    【解决方案2】:

    我也面临同样的问题。这里是 Videogular2 源码https://github.com/videogular/videogular2/blob/master/src/streaming/vg-dash/vg-dash.ts#L70

    它在同一个域上工作正常,但对于不同的域 withCredentials=true 丢失。在第 70 行创建播放器后

    this.dash = dashjs.MediaPlayer().create();
    

    应该去这个

    this.dash.setXHRWithCredentials(true);
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2017-06-28
      • 2017-12-23
      • 2019-04-06
      • 2011-05-07
      • 1970-01-01
      • 2012-07-18
      • 2021-12-20
      • 2013-05-13
      • 1970-01-01
      相关资源
      最近更新 更多