问题标签 [widevine]

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 投票
0 回答
75 浏览

ios - (iOS)项目在归档后崩溃,但在发布版本中工作正常

我正在开发一个使用第三方框架(widevine DRM 框架)的 ios 项目。它在测试时在调试/发布模式下工作正常,但在归档后它会崩溃。为了使框架在调试/发布模式下工作,我必须将“死代码剥离”设置为 NO,将“默认隐藏的符号”设置为 NO。

我是否必须更改构建设置中的某些内容才能在存档后正常运行?在发布模式下运行和归档构建有什么区别?

0 投票
3 回答
2135 浏览

ios - 如何防止 iOS11 内置屏幕录制功能,就像 Amazon Prime 一样用于受保护的 DRM 内容?

WideVine iOS CDM Player 正在播放受 DRM 保护的内容。现在,iOS11 引入了一个新的内置功能,即屏幕录制。使用此功能,用户可以轻松捕获或记录受 DRM 保护的内容。

我使用了 iOS11 Beta 的 isCaptured 和 UIScreenCapturedDidChange 属性并尝试防止记录受 DRM 保护的内容,但是当我第一次启动我的应用程序时,这 isCaptured 和 UIScreenCapturedDidChange 工作正常。现在,当我终止正在运行的应用程序(终止应用程序)并再次启动时,我的应用程序没有收到 isCaptured 和 UIScreenCapturedDidChange 的任何值。

现在我尝试使用 iOS11 屏幕录制功能录制 Netflix 和 Amazon Prime 内容,但它不允许录制并出现黑屏。

我想要在 iOS11 设备上打开屏幕录制时出现类似的黑屏,但我没有解决方案。如果有人有那么请帮忙。

0 投票
0 回答
980 浏览

jwplayer - 使用 JWPlayer 离线播放 DRM 加密的 MPEG-DASH 内容

我正在开发一个 Android 项目,我需要使用 JWPlayer 播放离线 DRM 加密的 MPEG-DASH 内容。使用的 DRM 是 Widevine。从不同的来源我例如这个: https: //support.jwplayer.com/customer/portal/questions/17033158-jwplayer-offline-playback他们说这是不可能的

“如果您可以删除 DRM 作为一项要求,那么这对您来说确实是一个可行的解决方案。”

但是,如果我们可以预加载许可证和永久密钥呢?如果我们可以覆盖 JWPlayer 的方法以向 JWPlayer 提供所需的许可证和密钥,它会起作用吗?

0 投票
1 回答
1292 浏览

drm - 在 chrome 中捕获受 DRM 保护的视频的视频帧

我正在为我的应用程序构建一个视频播放器,它将使用 dash.js 和 video.js 播放受 DRM 保护的视频(Chrome 和 Firefox 上的 WideVine)。作为此应用程序的一部分,我希望能够注释视频并将数据发送回服务器。

注释数据应附加到视频帧而不是时间戳,并且应用程序应将帧和相关注释数据发送到服务器。是否可以在 chrome 或 firefox 中捕获受 Widevine DRM 保护的视频的原始帧,并使用 webGL 将它们发送到服务器。

0 投票
1 回答
3501 浏览

android - 如何在android webview中播放widevine drm内容

我想使用代码在android中播放widevine drm内容。我试了很多都不成功,不支持吗?请提供一种在android 中玩的方法,如果不支持,请告诉我,为什么?webviewhtml5widevinewebviewwidevinewebviewwidevinewidevine

任何帮助和建议将不胜感激。

0 投票
1 回答
3891 浏览

ffmpeg - 如果有人持有解码的初始化数据和/或 Widevine 许可证密钥,他可以解码我的 Widevine Mpeg Dash 流吗?

假设有人下载了我的 Widevine DRM 流的多个片段:

  • Segment01.m4s

  • Segment02.m4s

  • 段...n.m4s

他以某种方式获得了该特定流的解码初始化标头数据,他能用它做什么?他可以用它来解码他下载的片段吗?如果没有,他有什么可能的方法,以及我如何防止这种事情发生。

0 投票
1 回答
231 浏览

cobalt - EME 一致性测试 - WidevineH264MultiMediaKeySession

对于 [2018]EME 一致性测试 - v20171221 WidevineH264MultiMediaKeySession

我发现这个测试进行了 8 次 Initialize 和 8 次 GenerateKeyRequest for Key 所以我可以获得 8 次密钥许可证的配置消息。

但是Test的成功情况如下:

在 emeTest-20171221164539.js

runner.checkGE(video.currentTime, 15, 'currentTime'); runner.checkEq(testEmeHandler.keySessions.length, 8, 'keySessionCount'); runner.checkEq(testEmeHandler.keyCount, 128, 'keyCount');

当前时间超过 15 秒。会话计数是 8 是相同的。但是Keycount=128,我不能通过。只有 8 次 generateRequest。在此测试的一个会话中,我无法为 16 个键获得 128 个键。

我在 emeManager-20171221164539.js 中找到 onKeyStatusesChange() { self.keyCount++; }

所以我假设我需要为 onKeyStatusesChange() 获得 128 AddKey() 但现在我不知道要解决它。

我正在使用钴 RC 11.119147。和 Widevine CDM 3.2.1

  1. 这个版本 RC11 是否支持 multiKeyseeion >
  2. 是否有任何样品来处理 Widevine CDM 流程的测试?
  3. 为什么需要 8 次 Init 和 8 次 GenerateRequest ?为什么不是 1 次 init 和 8 次 GenerateRequest ?Init 需要清理一些东西吗?或者我们需要 8 个 CDM 实例?每个人只有一个会话?
0 投票
0 回答
400 浏览

android - 使用 Azure 媒体服务在 Android 上播放受 DRM 保护的内容

我正在尝试在 Android 上播放受 DRM 保护的内容(使用 Widevine)。我正在使用 Azure 媒体服务来托管内容和分发许可证。内容在大多数设备上无缝播放,但出现错误

无法创建 MediaCodec:video/x-vnd.on2.vp8,isSecure:true java.lang.IllegalArgumentException:无法初始化 OMX.qcom.video.decoder.vp8.secure

在某些设备上,例如 Nexus 5。我尝试进行了很多搜索,但找不到相关的解决方案。

0 投票
1 回答
252 浏览

chromecast - Chromcase - Widevine DRM 上的播放停止

我一直在尝试使用 Chromecast。我遇到了播放问题。

前5-6分钟左右,没关系。都是一堆 PROGRESS、TIME_UPDATE、SEGMENT_DOWNLOADED。

player.html?cache=500:102 aj {type: "PROGRESS", currentMediaTime: 398.742094}

player.html?cache=500:102 jj {类型:“SEGMENT_DOWNLOADED”,下载时间:175,大小:33646}

player.html?cache=500:102 aj {类型:“TIME_UPDATE”,currentMediaTime:398.9985}

[违规] 'setInterval' 处理程序耗时 229 毫秒

player.html?cache=500:102 aj {type: "PROGRESS", currentMediaTime: 401.334166} `

player.html?cache=500:102 aj {类型:“TIME_UPDATE”,currentMediaTime:401.510657}

cast_receiver_framework.js:48 [Violation] 'timeupdate' 处理程序耗时 455 毫秒

[违规] 'setTimeout' 处理程序耗时 1131 毫秒

cast_receiver_framework.js:66 [440.120s] [cast.receiver.MediaManager] 时间漂移:-4588.799999999999

cast_receiver_framework.js:66 [440.800s] [cast.receiver.MediaManager] 发送广播状态消息

cast_receiver_framework.js:66 [440.954s] [cast.receiver.IpcChannel] IPC 消息发送:{"namespace":"urn:x-cast:com.google.cast.media","senderId":" : "," data":"{\"type\":\"MEDIA_STATUS\",\"status\":[{\"mediaSessionId\":1,\"playbackRate\":1,\"playerState\":\"PLAYING \",\"currentTime\":408.382866,\"supportedMediaCommands\":15,\"volume\":{\"level\":1,\"muted\":false},\"activeTrackIds\":[ ],\"currentItemId\":1,\"repeatMode\":\"REPEAT_OFF\"}],\"requestId\":0}"}

[违规] 'setTimeout' 处理程序耗时 1043 毫秒

[违规] 'updateend' 处理程序耗时 177 毫秒

大多数时候,“时间漂移”消息与玩家停止的那一刻相匹配,并且永远无法恢复,所以我猜它与问题有关。

然后,服务器通常会花费越来越多的时间来响应块请求(20-60 秒),并且播放将永远不会恢复。我不确定服务器部分与该问题有何关系。这让我很困惑。

任何有关如何调试的建议将不胜感激。

0 投票
1 回答
2458 浏览

video - 我可以使用自己的 Web 服务器作为 Widevine 许可授权来流式传输 mpeg-dash 视频吗?

我希望 Widevine 服务器对请求用户进行身份验证,并通过身份验证并登录到我的 Web 应用程序。

我可以让我自己的 API 服务器以某种方式提供 DRM 密钥吗?我知道它们是加密的,所以有没有办法创建我自己的 LA 服务器?

还是我必须使用现有的?如果是这样 - 我如何使它验证我的用户以确保他们已登录?(并且也许检查它是可以查看视频的非常特定的用户)。

我想确保被允许观看视频的用户不会有可能获取 mpd 链接并将其放入具有相同 Widevine 服务器的不同播放器中。该过程的哪一部分使其真正安全?