【问题标题】:Way to support DRM system supported by browser using Javascript使用 Javascript 支持浏览器支持的 DRM 系统的方法
【发布时间】:2018-07-20 11:43:19
【问题描述】:

我们正在编写一个网络播放器,我们需要确定浏览器支持的 DRM 系统。我们使用下面的代码来检查浏览器上的 DRM 类型。

keySystems: {
    clearkey: ['webkit-org.w3.clearkey', 'org.w3.clearkey'],
    widevine: ['com.widevine.alpha'],
    playready: ['com.microsoft.playready', 'com.youtube.playready'],
    fairplay: ['com.apple.fairplay']
},

铬:

navigator.requestMediaKeySystemAccess()

IE:

videoElement.isTypeSupported()

我们考虑在 Safari 中使用 webkitGenerateKeyRequest()。但在 Safari 上的 Javascript 控制台上,我尝试查看 API 是否可用。

let vel = document.getElementById('videoID');

但是 vel 没有在 Javascript 控制台上列出 webkitGenerateKeyRequest()。我可以根据答案Determine DRM system supported by browser 使用canPlayType() 吗?

问题是它会对所有内容说“可能”,而不是确定浏览器是否支持特定的 DRM。有没有API可以找到浏览器支持的DRM?

【问题讨论】:

    标签: javascript html google-chrome safari html5-video


    【解决方案1】:

    除非您使用的是非标准浏览器,否则此时映射通常非常简单,您实际上不需要检查浏览器类型以外的任何内容:

    • Safari - FairPlay
    • Chrome - Widevine
    • Internet Explorer - Playready
    • Firefox - Widevine

    移动设备曾经是一个特例,因为 iOS 上的 Safari 不支持 FairPlay,但现在支持了。

    除此之外,标准方法是按照您的建议使用 requestMediaKeySystemAccess - 最新的支持图片通常是最新的:

    【讨论】:

      猜你喜欢
      • 2016-05-07
      • 2012-10-19
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-11
      • 1970-01-01
      • 2011-01-05
      相关资源
      最近更新 更多