问题标签 [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.
encryption - FFMPEG 是否支持 Apple Fairplay DRM 所需的 AES128 样本加密?
我需要使用与 Fairplay DRM 兼容的 Sample AES 加密来加密 MPEG2 传输流。FFMPEG 是否支持 Sample AES 加密(就像它支持 Widevine 和 Playready DRM 的通用加密一样)?
ios - AVContentKeySession makeStreamingContentKeyRequestDataForApp 可以安全地强制同步吗?
我有一个应用程序可以传输受 FairPlay DRM 保护的音频。它最初AVAssetResourceLoaderDelegate
用于交付 FairPlay 密钥,但现在我正在更新它以AVContentKeySession
用于iOS 11.2 及更高版本。旁注:如果您尝试这样做并且对缺少文档感到沮丧,请在此处的“FairPlay Streaming Server SDK (4.2.0)”链接中提供示例代码。
我的每个音频产品都被分成许多曲目。当我打开一个音频产品时,我通过AVQueuePlayer
. 这些轨道中的每一个都会生成一个对 FairPlay 密钥的请求。在没有下载持久密钥的情况下,这些请求中的每一个都会转到密钥服务器,下载一个密钥,生成一个持久密钥并保存它。每个音轨都有相同的键,因此它们都以相同的持久键数据结束,并且每个音轨都会覆盖最后一个以完成。
因为我的密钥服务器的成本取决于我发出的密钥请求的数量,所以我希望只有第一个请求实际命中密钥服务器,后续请求使用持久密钥。但是用于将 SPC 数据传递给密钥服务器的方法makeStreamingContentKeyRequestDataForApp
使用异步完成块。on的等效方法AVAssetResourceLoadingRequest
是同步的。
我的问题:使用信号量强制此调用同步是否安全?像这样:
下载以前未流式传输的音频时,效果尤其明显。使用 AVAssetDownloadTask 的音频下载速度非常慢,所以我一次启动多个,每个都生成一个密钥请求。
ios - Apple Developer Fairplay 流媒体证书到期
Apple Developer Web 控制台上的证书列表将我的 Fairplay Streaming 证书的到期时间显示为“从不”。但是,如果我下载相同的证书并将其导入我的 KeyChain,则证书详细信息显示列出的到期日期为 2019 年 7 月 29 日。以下哪个是正确的?如果证书中的到期时间是正确的,我如何安全地更新它?
ios - 如何使用 DRM (FairPlay) 将图像转换为视频
我想在屏幕截图上隐藏一些私人内容。由于 Apple 仅提供给我们userDidTakeScreenshotNotification
,因此实现此目的的唯一方法是使用 DRM 将图像转换为视频。根据这些线程:
如果您的应用程序使用 FairPlay Streaming (FPS),您的视频内容将不会被 iOS 11 屏幕录制功能或 macOS 上的 QuickTime Player 自动捕获。正在播放内容的应用程序部分将被涂黑。
我在 ScreenShieldKit 中找到了这些想法的商业实现,但它需要花钱。
主要问题: 如何在离线模式下将图像或标签转换为 FairPlay Streaming (FPS) 视频?
ios - iOS 可以不使用 AVAssetDownloadURLSession 离线下载 HLS 吗?
最近我一直在尝试在我的 iOS 项目上实现 HLS 流和离线功能。目前我一直在使用自己的下载库来下载不同的流文件,比如 Widevine 流。我注意到的问题是 AVAssetDownloadURLSession 下载 hls 文件并以 .movpkg 格式将其保存在本地手机上。我一直在网上寻找是否有任何打包程序(如 Shaka-packager),我可以将我的 hls 文件转换为 .movpkg,然后使用我自己的下载库而不是依赖苹果 AVAssetDownloadURLSession 下载 .movpkg。任何帮助表示赞赏。
谢谢
ios - 下载启用 Fairplay 的视频时获取服务器播放上下文时出错
在实施脱机 FPS 时出现 AVFoundation 错误 -11800 我正在使用 FPS 实施脱机 HLS。
我已经使用 AVAssetDownloadDelegate 现在下载了视频 对于 DRM 内容,我需要获取许可证,因此我已经实现了 AVAssetResourceLoaderDelegate 在 AVAssetResourceLoaderDelegate 中一切正常,我获得了 CKC 或许可证,但是当我执行以下代码时
let persistentContentKeyContext = try loadingRequest.persistentContentKey(fromKeyVendorResponse: responseData, options: nil)
我收到以下错误
Error Domain=AVFoundationErrorDomain Code=-11800“操作无法完成” UserInfo={NSLocalizedFailureReason=发生未知错误(-12158),NSLocalizedDescription=操作无法完成,NSUnderlyingError=0x1c084a6e0 {Error Domain=NSOSStatusErrorDomain Code=-第12158章
谁能告诉我这个错误代码是什么意思以及如何解决这个错误。
http-live-streaming - HLS Fairplay DRM 内容我使用 videojs 和 videojs-contrib-eme 从 DRM 服务器获取许可证密钥时出错
HLS Fairplay DRM 内容 videojs 返回Failed to load resource: Origin https:// is not allowed by Access-Control-Allow-Origin
。在尝试获得 HLS fairplay 的许可证时。
我正在使用 Videojs 版本 @7.5.5 和 videojs-contrib-eme 版本 @3.5.4
streaming - 我们自己设置 DRM 许可证服务器是否可行
我们想在我们的内容中添加 DRM 加密,并想知道拥有自己的 DRM 服务器是否真的可行,还是应该与第三方合作?另外,如果可行的话,我们可以实现所有 3 fairplay、playready、widevine 吗?
java - 如何使用 AES 128 NoPadding 加密或解密 FairPlay 测试内容
根据 Apple 的技术说明,我曾经使用 NoPadding 算法的 AES-128 CBC。我可以使用以下代码加密和解密任何视频。我尝试了 Muxed 加密和 Un-Muxed 加密视频。但我无法正确解密原始测试内容。当我加密原始未加密文件时,它不会在 Safari 上播放。
ios - 有没有一种方法可以在 iOS 上对 Fairplay 加密流进行后处理
在 iOS 13 上,我正在研究如何/是否可以采用公平播放加密的 HEVC Main10 流,并在显示之前对解码的帧进行后处理。我想使用板载 HEVC 硬件解码器。在其他环境(例如 Windows)中,我可以对 MFT 进行代码签名并将其放在 DRM 内容的渲染链中。
我在 iOS 文档中找不到类似的功能,但这可能是我的失败......