我遇到了同样的问题,Widevine需要配置请求。
“首选报告配置请求作为第一个许可请求,应用程序将为您发送HTTP POST。然后,您可以在收到配置响应后将真实许可证请求作为未经请求的许可证请求发送”
您的意思是使用SbDrmSessionUpdateRequestFunc向页面发送消息,让页面向配置服务器发送配置请求并获取配置响应吗? youtube页面或qual页面有这个逻辑吗?
Drm流程如下,是吗?如果不对,可以给我详细的过程吗?SbDrmCreateSystem - > SbDrmGenerateSessionUpdateRequest - > SbDrmSessionUpdateRequestFunc(具有有效票证和有效session_id以发送供应请求) - > SbDrmUpdateSession(更新对CDM的配置响应) - > SbDrmSessionUpdatedFunc(如果这个回调需要?) - > SbDrmSessionUpdateRequestFunc(具有无效票证和有效session_id以发送真实许可证请求) - > SbDrmUpdateSession(更新CDM的许可证响应) - > SbDrmSessionUpdatedFunc(通知许可证成功)
但是当我调用SbDrmSessionUpdateRequestFunc将配置URL和消息发布到页面时,该页面不使用我发布到它的URL。它是Eme qual页面页面上的固定值。
页面是 https://yt-media-test.appspot.com/2018.html?test_type=encryptedmedia-test&command=off&disable_log=true×tamp=1517552801994 运行第一个测试用例,许可证服务器是文件页面上的固定值 https://yt-media-test.appspot.com/js/lib/streams/mediaStreams-20180119121527.js
VideoSmallCenc:['//yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/media/oops_cenc-20121114-142.mp4',8017271,242.71,{ 'mimeType':'video / mp4;编解码器= “avc1.4d4015””, 'video_id':'03681262dc412c06', 'playready_signature':'448279561E2755699618BE0A2402189D4A30B03B.0CD6A27286BD2DAF00577FFA21928665DCD320C2', 'widevine_signature':'9C4BE99E6F517B51FED1F0B3B31966D3C5DAB9D6.6A1F30BB35F3A39A4CA814B731450D4CBD198FFD'}], VideoMultiKeyCenc:['//yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/media/tears_h264_main_720p_1500.mp4',105466539,734.17,{ 'mimetype':'video / mp4;编解码器= “avc1.4d401f””, 'pssh':util.createUint8ArrayFromJSArray([0,0,0,68,112,115,115,104, 0,0,0,0,237,239,139,169, 121,214,74,206,163,200,39,220, 213,29,33,237,0,0,0,36, 8,1,11,1,49,26,13,119, 105,100,101,118,105,110,101,95, 116,101,115,116,34,10,50,48, 49,53,95,116,95,49,54,107, 42,2,83,68]), 'license_server':'https://proxy.staging.widevine.com/proxy'}],
答案 0 :(得分:0)
使用SbDrmSessionUpdateRequestFunc
回调来请求配置是合法的,您的流程看起来是正确的。
也就是说,Web应用程序可能会忽略更新请求中提供的URL,并使用自己的逻辑来执行配置。您似乎期望yt-media-test执行它无法执行的配置。要解决此问题,您可以1)使用youtube.com/tv(已知可以正确实施配置流程)在运行EME测试之前配置设备,或2)执行您自己的配置。
有关yt-media-test的问题,请与您的YouTube客户经理联系。