问题标签 [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.
ios - (iOS)项目在归档后崩溃,但在发布版本中工作正常
我正在开发一个使用第三方框架(widevine DRM 框架)的 ios 项目。它在测试时在调试/发布模式下工作正常,但在归档后它会崩溃。为了使框架在调试/发布模式下工作,我必须将“死代码剥离”设置为 NO,将“默认隐藏的符号”设置为 NO。
我是否必须更改构建设置中的某些内容才能在存档后正常运行?在发布模式下运行和归档构建有什么区别?
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 设备上打开屏幕录制时出现类似的黑屏,但我没有解决方案。如果有人有那么请帮忙。
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 提供所需的许可证和密钥,它会起作用吗?
drm - 在 chrome 中捕获受 DRM 保护的视频的视频帧
我正在为我的应用程序构建一个视频播放器,它将使用 dash.js 和 video.js 播放受 DRM 保护的视频(Chrome 和 Firefox 上的 WideVine)。作为此应用程序的一部分,我希望能够注释视频并将数据发送回服务器。
注释数据应附加到视频帧而不是时间戳,并且应用程序应将帧和相关注释数据发送到服务器。是否可以在 chrome 或 firefox 中捕获受 Widevine DRM 保护的视频的原始帧,并使用 webGL 将它们发送到服务器。
android - 如何在android webview中播放widevine drm内容
我想使用代码在android中播放widevine drm
内容。我试了很多都不成功,不支持吗?请提供一种在android 中玩的方法,如果不支持,请告诉我,为什么?webview
html5
widevine
webview
widevine
webview
widevine
widevine
任何帮助和建议将不胜感激。
ffmpeg - 如果有人持有解码的初始化数据和/或 Widevine 许可证密钥,他可以解码我的 Widevine Mpeg Dash 流吗?
假设有人下载了我的 Widevine DRM 流的多个片段:
Segment01.m4s
Segment02.m4s
段...n.m4s
他以某种方式获得了该特定流的解码初始化标头数据,他能用它做什么?他可以用它来解码他下载的片段吗?如果没有,他有什么可能的方法,以及我如何防止这种事情发生。
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
- 这个版本 RC11 是否支持 multiKeyseeion >
- 是否有任何样品来处理 Widevine CDM 流程的测试?
- 为什么需要 8 次 Init 和 8 次 GenerateRequest ?为什么不是 1 次 init 和 8 次 GenerateRequest ?Init 需要清理一些东西吗?或者我们需要 8 个 CDM 实例?每个人只有一个会话?
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。我尝试进行了很多搜索,但找不到相关的解决方案。
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 秒),并且播放将永远不会恢复。我不确定服务器部分与该问题有何关系。这让我很困惑。
任何有关如何调试的建议将不胜感激。
video - 我可以使用自己的 Web 服务器作为 Widevine 许可授权来流式传输 mpeg-dash 视频吗?
我希望 Widevine 服务器对请求用户进行身份验证,并通过身份验证并登录到我的 Web 应用程序。
我可以让我自己的 API 服务器以某种方式提供 DRM 密钥吗?我知道它们是加密的,所以有没有办法创建我自己的 LA 服务器?
还是我必须使用现有的?如果是这样 - 我如何使它验证我的用户以确保他们已登录?(并且也许检查它是可以查看视频的非常特定的用户)。
我想确保被允许观看视频的用户不会有可能获取 mpd 链接并将其放入具有相同 Widevine 服务器的不同播放器中。该过程的哪一部分使其真正安全?