问题标签 [fairplay]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
156 浏览

openssl - Azure 媒体服务 - FairPlay 配置显示 - 证书验证失败

我已经为 Widevine 和 Playready 设置了 DRM。它运行良好。
现在我还想启用 FairPlay。但是,当我尝试将应用证书添加到 Azure 媒体服务的内容保护刀片中的 FairPlay 配置时,它不接受我的证书。它显示 -证书验证失败!

我已正确遵循文档中提到的所有步骤:
Apple FairPlay 许可证要求和配置
https://docs.microsoft.com/en-us/azure/media-services/latest/fairplay-license-overview

以下是我遵循的步骤:
1)生成密钥对

2) 产生企业社会责任

3) 从 Apple 获得证书和 ASK。

4) 将 .cer 文件(DER 证书)转换为 .pem 文件(x509 证书)。

5) 将 .pem 文件 (FairPlay-out.pem) 转换为 .pfx 文件(将在 Azure 媒体服务中使用)。为此,我们需要私钥(为 CSR 生成)和 privatekey-pem-pass.txt(包含私钥密码的文本文件)。

在此之后,我尝试在 Azure 中上传 PFX 文件,但它显示 -证书验证失败!

任何人都可以看看一次并帮助我了解我在这里缺少什么。
先感谢您!

0 投票
1 回答
282 浏览

sdk - 我尝试将 Apple 示例代码(FairPlay Streaming Server SDK v4.2.0)与 Fairplay 在线播放一起使用,但它不起作用

我尝试使用 HLSDatalogWithFPS - AVContentKeySession 苹果示例代码播放公平播放视频。我只是修改 2 func "func requestApplicationCertificate() throws -> Data" 和 "func requestContentKeyFromKeySecurityModule(spcData: Data, assetID: String) throws -> Data" 并在 stream.plist 上添加视频 url

func requestApplicationCertificate() throws -> Data {

}

我收到错误消息,我该如何解决?

在此处输入图像描述

0 投票
0 回答
474 浏览

ios - 如何在 iOS 上使用 Video ToolBox 解码受 DRM 保护的内容(FairPlay、WideVine 等)?

我在 iOS 上有一个自定义播放器,它可以使用视频工具箱提供的 HEVC 解码器解码 HEVC 流,获取解码帧的句柄,将其传递给 Metal 并使用 Metal 渲染帧。我想对 DRM 加密内容做同样的事情。我了解 AVPlayer 直接支持 FairPlay,您可以使用它播放 DRM 加密内容(示例)。我如何使用 Video ToolBox 做到这一点?我在VTDecompressionSession 中看不到任何用于设置 DRM 会话/密钥的 API 。谢谢。

0 投票
3 回答
936 浏览

ios - Azure 媒体服务 Fairplay DRM AVPlayer 快速实现

我正在尝试在 iOS 设备上播放受 Fairplay DRM 保护(通过 Azure 媒体服务加密)的 HLS 视频流。我使用了以下链接中描述的代码和过程:

https://icapps.com/blog/how-integrate-basic-hls-stream-fairplay

https://gist.github.com/fousa/5709fb7c84e5b53dbdae508c9cb4fadc

以下是我为此编写的代码。

上面的一切都有效,但在我得到的 CKC 响应中

任何人都可以在这里让我知道我在这里缺少什么,这是我第一次尝试这个,所以我可能会犯一个非常明显的错误,所以请耐心等待。

任何关于这方面的帮助都会非常棒(我已经为此烦恼了好几天了。)

谢谢。

0 投票
2 回答
2390 浏览

exoplayer - 通过 Azure 媒体服务下载受 WideVine/FairPlay 保护的内容以供离线播放

我开发了一个适用于 iOS/Android 的移动应用程序,我想启用离线播放功能,以便用户可以下载内容并在飞机上观看等……下载后长达 1 个月。需要保护此内容不被用户下载以进行进一步分发。在查看 Azure 媒体服务的文档(此处:https : //docs.microsoft.com/en-us/azure/media-services/previous/offline-widevine-for-android)时,他们提到 ExoPlayer 支持离线播放受保护的内容. ExoPlayer 支持离线播放,但似乎不支持受保护的内容,任何带有 WV 前缀的可下载内容实际上似乎不受 WideVine 保护,因为没有 drm 方案/drm 许可证 URL。

有谁知道能够受保护的 WideVine/FairPlay 离线播放的播放器示例以及它如何实现一起使用的许可证/清单文件?

0 投票
0 回答
336 浏览

ios - 无法在 iOS 12.4.6 上的 wkWebView 中播放受公平播放保护的视频

我正在将我的 Cordova 应用程序从 UIWebView 切换到 WKWebView。

该应用程序需要播放受 Fairplay DRM 保护的视频,而 UIWebView 一切正常。使用 WKWebView 时,我无法在装有 iOS 12.4.6 的 iPad mini 2 上播放视频。问题是 window.WebKitMediaKeys 对象不存在,而它显示在使用 iOS 13.x 的 iPad 模拟器中。

在这里读到WKWebView 中有一个错误(已修复),是否有可能该修复未包含在最新的 iOS < 13 更新中?

0 投票
1 回答
3542 浏览

http-live-streaming - 在播放器中使用 HLS 和 DASH + DRM 的推荐方式是什么?

我正在使用 VideoJS 播放器并有一个 CMAF 视频,所以我使用的是 HLS 和 DASH。我也在使用所有 3 种类型的 DRM。适用于 hls 的 Fairplay,widevine 和 playready 的 dash。

我的问题是我是否应该在播放器中同时包含 hls 和 dash 源并让播放器决定播放哪一个?还是我检测浏览器并仅基于此插入正确的 url?DRM 也是一样的。我可以将所有 DRM 添加到播放器吗?还是我应该只添加适用的一项?

0 投票
0 回答
85 浏览

objective-c - 将 Fairplay 集成到 Apple TV(目标 C)

我正在尝试将 Fairplay 集成到 Apple TV 应用程序中。到目前为止,我请求了证书,但是当我尝试获取 SPC 时它失败了,它返回一个错误:“操作无法完成”。我可以做些什么来调试这个,或者你有一些 Fairplay 流 url 用于测试?

'requestBytes' 为空。

谢谢你,克劳迪乌

0 投票
0 回答
74 浏览

javascript - 如何使用 safari 浏览器离线播放 fairplay hls 内容

我正在尝试在 safari bowser 上离线实现 fairplay 内容播放。但苹果官网没有相关文档。有人知道怎么做吗?

0 投票
1 回答
317 浏览

ios - FairPlay 离线播放在 iOS 10 上不起作用

我们正在使用 EZDRM 进行 DRM 保护。

在线播放在 iOS 10-13 上运行良好,而离线播放在 iOS 11-13 上运行,但在 iOS 10 上不行;持久内容密钥是在 iOS 10 中引入的,因此它应该可以工作。

我使用 EZDRM 的示例项目进行测试,它使用AVAssetResourceLoaderDelegate. 下载视频和内容密钥后,当我们尝试播放下载的视频时,出现以下错误。

记录加载请求对象(来自 iOS 10):

我找到:

  • disk caching permitted = NO在 iOS 10 上
  • disk caching permitted = YES在 iOS 11-13 上

不知道是不是失败的原因,也不知道是哪个部分控制了这个属性的值。

我还使用 Apple 的 HLSCatalogWithFPS 进行测试,它使用AVContentKeySession. 最初,它的部署目标是 iOS 11.3,我做了一些修改,使其也可以在 iOS 10.3 上运行,例如:

  • keyRequest.respondByRequestingPersistableContentKeyRequestAndReturnError()->keyRequest.respondByRequestingPersistableContentKeyRequest()
  • AVAggregateAssetDownloadTask->AVAssetDownloadTask

但是,在调用之后respondByRequestingPersistableContentKeyRequest()contentKeySession:didProvidePersistableContentKeyRequest:并没有被调用,而是contentKeySession:didProvideContentKeyRequest:被调用,它在这里创建了一个无限循环。

根据文档https://developer.apple.com/documentation/avfoundation/avcontentkeyrequest/2799207-respondbyrequestingpersistableco

如果您的委托未响应 contentKeySession:didProvidePersistableContentKeyRequest:,则返回 NSInternalInconsistencyException。

所以我试图注释掉那个委托方法,但根本没有例外;如果它在 iOS 11 上运行,则会出现异常。

似乎整个 FairPlay 离线播放功能在 iOS 10 上不起作用。有人可以帮忙吗?