问题标签 [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.
avfoundation - 是什么导致 AVAssetCache 报告完全下载的资产无法离线播放?
我正在开发一个 iOS 应用程序,它通过 HLS 播放 FairPlay 加密的音频,并支持下载和流式传输。而且在飞行模式下我无法播放下载的内容。AVURLAsset
如果我在下载完成时从本地 URL创建一个,asset.assetCache.isPlayableOffline
返回NO
,当我尝试以飞行模式播放时,它仍然会尝试请求 .m3u8 播放列表文件之一。
我的主播放列表如下所示:
流播放列表如下所示:
下载资产:
在代表的URLSession:assetDownloadTask:didFinishDownloadingToURL:
:
在代表的URLSession:task:didCompleteWithError:
:
除了资产缓存报告无法离线播放外,下载不会出错。但是,如果您切换到飞行模式并尝试播放下载的资产,它会正确地向资源加载器委托请求一个密钥(我使用的是持久密钥,因此离线工作正常),然后尝试发出请求media-1/stream.m3u8
.
有什么我没有在这里处理的问题吗?播放列表文件应该以某种方式有所不同吗?我缺少的任务或资产是否有一些财产?
audio - 如何在装有 watchOS 5 的 AppleWatch 上播放 FairPlay 加密的音频?
watchOS 5 支持新的背景音频模式,以便音频应用程序(Audible、Overcast 等)可以直接从手表播放。我正在为我的应用程序开发音频功能,但我必须使用 FairPlay DRM。我已经用 .m3u8 播放列表对 aac 音频文件进行了分段,我正在使用 AVAssetDownloadTask 下载它们,并在 iPhone 上使用AVAssetResourceLoaderDelegate执行FairPlay关键内容。而且我想添加一个手表应用程序来播放我的内容而无需手机。
但我在手表 API 上没有看到类似的东西。AVAssetResourceLoaderDelegate 和AVContentKeySession在 watchOS 上不可用,并且AVAudioPlayer不采用 AVAsset 或看似任何其他方式来执行 FairPlay 密钥内容(我在手机上使用AVPlayer )。
在WWDC 2018 的为 watchOS 会话创建音频应用程序中,演示者说:
而在 AVAudioEngine 的情况下,您实际上可以结合 AVAudioPlayer 节点播放一些 DRM 内容。因此,您现在可以播放自己的 DRM 内容,自己解密,然后为您的用户播放。
但我还没有找到任何关于AVAudioEngine和 FairPlay 音频的信息。
我查看了AVAudioExportSession以尝试将我的 FairPlay 内容转码为 MP3 或 AAC 或 M4A 或我可以传输到手表的东西,但它认为任何格式都不兼容:
所以,我的问题是:如何在 watchOS 5 应用上播放 FairPlay 加密的音频?
sdk - 下载 FairPlay 流媒体服务器 SDK
我正在尝试在我的应用程序中包含 DRM,并希望从https://developer.apple.com/streaming/fps/下载 SDK
我在 Apple Developer Enterprise Program 中以 Team Agent 身份登录,但收到错误“403 Forbidden”。我查看了最新的许可协议;它被接受了。
以前有人遇到过这个错误吗?很高兴任何提示。
ios - 如何在 iOS 中下载加密的 m3u8。即使能够下载我也无法在离线模式下播放加密视频
在我的早期情况下,我在离线模式下播放了非加密的 .m3u8 视频
我已经下载了一个未加密的.m3u8 扩展视频文件,并且我已经播放了该视频。
该视频以.movpkg 扩展名格式下载。
我已经使用AVAsset 下载会话下载了这个视频
但在加密视频的情况下
我可以下载 .m3u8 扩展视频,这个视频保存在 .movpkg 的扩展中
当保存的视频在没有任何互联网连接的情况下播放时,问题就会出现我知道这是因为解密密钥不可用。这样视频就可以自己解密并在播放器级别播放
有没有可能在不使用互联网的情况下播放保存的视频文件(离线)
播放 m3u8 视频是否需要使用 Apple Fair Play 概念?如果是这样,如何在服务器端实现它?
有人用过苹果公平竞争的概念吗?
如何在 FFmpeg 转换器中实现公平竞争的概念?
是否有任何方法可以覆盖 AVPlayer 中的密钥传递模式?
ios - Swift:如何使用 FairPlay 流媒体?
我刚刚发现苹果中有一项名为 FairPlay 的服务与播放加密的视频文件有关。
我的问题:
如果我在 ios 设备上加密了视频:
我应该如何使用 FairPlay(我应该为服务付费,我是单个开发者而不是团队)?
我不知道如何使用该服务,请帮助我解决这个问题。
更新:
我有付费的视频,我制作了视频。但我不希望用户在他们的设备上下载这些内容时分享这些内容。所以我来到了 FairPlay,不知道从哪里开始。如何使用它?
swift - 无法使用 Fairplay HLS 从 AVPlayer 获取视频缩略图
我正在尝试为 tvOS 中的视频播放器应用程序构建自定义进度条,并希望在用户扫描视频时显示视频的缩略图。
我正在使用AVPlayer
Fairplay HLS 来播放远程视频文件。我尝试使用 2 种方法来做到这一点。一个带有AVAssetImageGenerator
's copyCGImage
,另一个带有AVPlayerItemVideoOutput
'copyPixelBuffer
方法。两者都返回零。
当我尝试使用本地视频文件时,第一种方法有效。
方法一:
方法二:
有什么想法我做错了什么还是有其他方法?
谢谢!
ios - 存储 AVURLAsset 的 ckc 关键数据而不播放视频
我想以编程方式调用
来自AVURLAsset
, 的代表AVPlayer
,AVAssetResourceLoaderDelegate
这样我就可以兑现 ckc 数据,以便我可以离线播放解密的内容。
我按照https://developer.apple.com/videos/play/wwdc2016/504/的步骤
如果我播放AVURLAsset
现金 ckc 密钥数据然后关闭互联网并AVURLAsset
再次播放它可以正常工作,我可以离线观看视频。
但我需要调用该resourseLoader
函数而不播放视频。
我无法执行这些步骤的原因是因为要获取 ckc 数据,我需要loadingRequest
来自委托函数的对象resourceLoader
。
有没有办法在我存储密钥时不调用 play 方法并丢弃播放器来实现这一点?
avfoundation - HEVC Fairplay 流
我正在尝试创建一个 HEVC Fairplay 流。我尝试过使用 Shaka Packager、Bento4 和 Zencoder。但没有运气。
有人创建了 HEVC Fairplay 流吗?如果是,那么如何?
swift - streamingContentKeyRequestData 返回错误 Domain=NSOSStatusErrorDomain 代码=-12158
我正在尝试按照 Apple 示例代码设置 Fairplay + HLS。但是,当我调用 streamingContentKeyRequestData 时,我看到了错误
它总是会抛出错误
我检查了 applicationCertificate 不是 nil,assetIDData 不是 nil。不知道我还需要做什么才能使其工作。这是我的证书的问题还是我如何从文件创建数据。
ios - WKWebView 可以播放受公平播放/drm 保护的视频吗?
我想播放 fairplay 视频/受 DRM 保护的视频,WKWebView
但除了AVPlayer
在SFSafariViewControler
. 有没有办法这样做,或者如果没有,Apple 是否有任何确认WKWebView
无法播放这些视频?