medvm / widevine_keys

This repo created for bypassing Widevine L3 DRM and obtaining keys.
458 stars 188 forks source link

server reports: {"code":100100,"message":"The request is invalid. Error while parsing: contentId. Parameter null not expected as an array"} #81

Open cmoulliard opened 2 years ago

cmoulliard commented 2 years ago

Issue

When I query the following license server https://rbm-rtbf.live.ott.irdeto.com/licenseServer/widevine/v1/rbm-rtbf/license, I got as response the following error messages

server reports: {"code":100100,"message":"The request is invalid. Error while parsing: contentId. Parameter null not expected as an array"}
server did not issue license, make sure you have correctly pasted all the required headers in the headers.py. Also check json/raw params of POST request.

URL used:

VIDEO URL: https://www.rtbf.be/auvio/detail_cobalt-l-envers-du-reve-electrique?id=2943776&t=649
MPD URL :  https://c9851ec-az-westeurope.fsly.cdn.ebsd.ericsson.net/rtbf/auvio/assets/2943776_6BA97Bb/materials/KaFVNUi0Gg_6BA97Bb/vod-idx-2.ism/.mpd?
License URL:  https://rbm-rtbf.live.ott.irdeto.com/licenseServer/widevine/v1/rbm-rtbf/license?contentId=2943776_6BA97Bb&keyId=7832df7f-bbd8-4082-9fb9-a1552efe6238&ls_session=eyJ0eXAiOiJKV1QiLCJraWQiOiIwOGIzODQwZS0wYThhLTQyYTItODNhNC03ZGM0Mzc0ZDJmYmEiLCJhbGciOiJIUzI1NiJ9.eyJhaWQiOiJyYm0tcnRiZiIsInN1YiI6IjhmZmZmNmYwMDI4ZTQ1ZmE5OTRmYTRlMDRiZTM0ZDJjXzZCQTk3QmIiLCJpYXQiOjE2NjUxNTk4MTksImV4cCI6MTY2NTE2MzQxOSwianRpIjoicE1abzlKd08wa2M4OFJyOFNjOU1vcWVMOUwxc1B3ZzVXS0lxUHVQbjVYVT0iLCJlbnQiOlt7ImVwaWQiOiJkZWZhdWx0IiwiYmlkIjoiYmVsZ2lhbl82QkE5N0JiIn1dLCJpc2UiOnRydWV9.T7NS1LasInS7QHczeOts6IfDpYqb2yFxZFNFo9mz4Ro

PSSH obtained: AAAAXHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADwIARIQeDLff7vYQIKfuaFVLv5iOBoIdXNwLWNlbmMiGGVETGZmN3ZZUUlLZnVhRlZMdjVpT0E9PSoAMgA=

Headers.py file

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Firefox/91.0',
    'Accept': '*/*',
    'Accept-Language': 'en-US,en;q=0.5',
    'Origin': 'https://www.rtbf.be',
    'Connection': 'keep-alive',
    'Referer': 'https://www.rtbf.be/',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'cross-site',
    'Content-Type': 'application/x-www-form-urlencoded',
}

params = {
    'contentId': '2943776_6BA97Bb',
    'keyId': '7832df7f-bbd8-4082-9fb9-a1552efe6238',
    'ls_session': 'eyJ0eXAiOiJKV1QiLCJraWQiOiIwOGIzODQwZS0wYThhLTQyYTItODNhNC03ZGM0Mzc0ZDJmYmEiLCJhbGciOiJIUzI1NiJ9.eyJhaWQiOiJyYm0tcnRiZiIsInN1YiI6IjhmZmZmNmYwMDI4ZTQ1ZmE5OTRmYTRlMDRiZTM0ZDJjXzZCQTk3QmIiLCJpYXQiOjE2NjUxNTk4MTksImV4cCI6MTY2NTE2MzQxOSwianRpIjoicE1abzlKd08wa2M4OFJyOFNjOU1vcWVMOUwxc1B3ZzVXS0lxUHVQbjVYVT0iLCJlbnQiOlt7ImVwaWQiOiJkZWZhdWx0IiwiYmlkIjoiYmVsZ2lhbl82QkE5N0JiIn1dLCJpc2UiOnRydWV9.T7NS1LasInS7QHczeOts6IfDpYqb2yFxZFNFo9mz4Ro',
}

data = '\bé+T\nR\n<\bx2ß»Ø@‚Ÿ¹¡U.þb8\busp-cenc"eDLff7vYQIKfuaFVLv5iOA==*2\0H‡ÉjÌ|ì½:Œ,:ò—ý ¥š08Ô٪B€+\nlicense.widevine.com¹Ì†‹3:/w*ŒÀ(¶5\nJC‡&()ë$Uõhýß´ÈèHÖh\0zoyôÀôTMßØøÖ<šŽ‡“W;qÌ]ý´5L\bʐE«\xA0òÓî\0HÁûnÈo/õ–ˆs何!úÕMÈ ‘JíUÖÑÃktٓ£šcøÀc9i¦¥ëςÀåÆ6ÔÂV’y¬ƒ<jÓRævބ¢À…ëÈÂá[ÑSl\f‚é¬Ý£¦(Ef&þË}æ²éûëëf2Àÿ¼1ž\fR|$*L§*®¡ÌÒá%?比Ó~%n;ám{é]ƒZé–K†òyt\nF€“´°•¼½ûòjgÇ\\»ð§õðìYŠ³;ÿ­Ý@#ì6áÝL½íÁö”}ÐtžÐÚvSK’:ŽMdì{°²/oJ)ó>m冔`páÖoˆaبR«9Ëz)CŒæ°ï‘`p­«QC›¬—“†zÔwmSz§€™|=oýpC@Í.¢ðAicýd6B*áà&ÊL6noEÆÜþNpZŠ‚…ŠƒX.]›¾ÈÚԇzõñÑöl^|ŸØ@õ.ƒ5Ï!¨Ö&ïÕh÷ˆ,T{H¦§jôöiâÀ½†‡^*R_l臟ô„©°uZh—÷AŒ«„óªõ"“zÙSñ‹ôf=E“E\\p‡Îc§\xA0=¯@-Jkmú<KG›\xA0’u…BÕ\'nFüOóÌ÷æ"Ý-Gƒºxìª\f/0©J©Ô”àhM+á$óLäÏ¡»†9ӋUìdJò‹\r\'„Iä?¸Õj“•_Íb§Ðý\\+Yp;÷raÞ7)}qî­D6ÞYüæ[iaØ*¡\'ç?nç.]ט@æQٗjeJÕZÝͅ,QjYÖîœ.khˆéîËtéåGìBôžèâ‰é‡‹êlœš`þ—\\ŸKÐd‡í@{qàÑZÂۗn"©š´7ßïl¥hK鱖,˜pöç´:ÜôègMÀxq.û\'öóxçXQÇÜÿ¯s!§(Ø[†Ûi1ëà‡\0ºAèZû”ƒ=ò òó\\Ô?»Œ¢¤^Dˆ5Rý5\n¥°Bü=ãk\\ìglF²ïÝÔ%ôØV˜àë9AÛ®;‡s×ËÕóæ„ýâÙlá¦IN†ÒMtëí:ÖYšTš\0œ~N^^ßì\xA0ÃïÍÂ%§3>ýR|?w%r`\t¯yà³Ýt¹J9¡?ù{ë°ègþ7\0;âÅ4Uû_exSá¸åâ²ËílÞl{±6Þ\rI´…]Ãߝòƚ<{œÖ”\tÎèÃ÷/IÀkšò¬÷ݨIËü=‚w˜#Q’fv—6¤œ‰§‘ïšñ¾É·¶ãYbþïÝ¢/u•­è§zØÌ`÷Iùê×<ne0ʢꆝ*"†i£*!ÿ«wì›à±R0Ν£\baè25¿F´ÿ€DX†\n‰á(®®×f锔O\f-_Ó5´´auÔÊG^ÆWGqªÁ‘-•ÃŒ¤.UržÁQ:­½1~ómË´"¯o@µ­9¾6x³¹Å¼“Àd|ãRþÕ2ËÄ4Ú­^N=€ýÖꃇó¢ÆßAï¿SŸÖ«–§C\nέÈLRérÿ0OÇwë¹ÌnœÈÖüVÀz…ÍMÆím¯¬CÖ^\'ý»^I‰am;­A¨$\feNâœëfÖϝ¨¢jq£/d¤=äÄC;гcEÉ·y׎›;Õ+œi½rŸÖ¢ÕªDºpø¤R…ŒÅ!þÿŕ)ÖÃ*Ì[¿©R¥‚ÝCØ¿sÕbÈΪº+5ÙpÖ´Øаc—€¾\b€u1Zo΁¢\\0+Á\bÖ´x‘Ê4…d^1Ïù¢¸P‹B¥ÍøÜRN®·¶ÅpýÍǕʾf*pê>M# 6*÷à_î,·¡Ÿ6ê&ðÖ¦ûŸJÁ\'YNøÉÛG-šdMü-}b˜¥¸ôÒ.Q\f+ÿFú˜Jxƺª]ëÅГ‘Ü!R6ÕgŸ;‹Ŝ¼ù/ËÛ[^\tà;yèU"RÖªíh[`#Ëm¤rÔÕa…`Ã؁3¼•÷0+Ÿvfá±mvªü%%íõg‘\\ى˜s@xášÉl¶^25xt„xNÂcf¼ÝÆ´Û]ëø̆hÑJßÞ2t2o:EïX,ÖòÓÛ0~:vuoq¤‘£ÇL8æ€2^ŽAR•*íò(|GUÿÿÇ$íaýÔ«ØJµ}\xA0†\tZ¼B Ä,z÷ââK‡UþNw‚À¯ÄϘ‹MÍ4‚BIñ)¬\0\0*J8¨J¾UT4Ubr,Õ´Ü­"þ/Ôù+&oàä­d€ñ¹Ùñ$˜¢aöùÙ!¡hÙhŠ.Q`18«AcNO\b·¥k$°-<Ã\')À=_$Ùê‰x]™`IÄÔðÉ 1µ\xA0\0’Ó;ž lSCIàÜ«ïKºcjµÏ5Þ4nŒ­—.JzŽazðë5×é¨8W¹Èû›v(Ê)Új)"QÊ»õ­Ëíuhƒ·óí5–c8Þ¡\\¼¥ÙXE\bÝPrŠÑ43iVM1Ì\tq>üHF®õsS‚Ð<V†…˜8;øp¾¤´^W¯­Â\xA0Ñú1¯BÈ6OW½ÂaÌ%B^ÀìÃó˜uúà]¥hx*dRp?^Zb¦V*æÛzN^.\0hhhm\'n/õïŮ艝!—ðì†W³³\0ùdíN!TäLûO½YYï\b¯X*_–ûW<#Žº•>(—Ç®=Õìg¨“k.´Bxª9S”ûéZô7 Ó1&éd5{–„€Î5”|ä[bp\bü´œq"íYŠ@QÏEx£ëæâk>ÀÈ©ýQ,b’Ï`Œ‡ÄOsbÕpojßäsÅRáA܊ø\nm×iÓMç3Û섆«U?ñÁàéXðÉ\r"ƒ±²\f›êd«ÿøVÑâc!D&n+£§8vò´ñ#XțJi ÊÔߦù\b¾ú\b‹ۚ%ô‘€ûg2ž#Ñaåô½®ÊQÍʒ­.§`ªsc\fRâ Dýf–O“}äzdß¾×9ø|F†”«žéÁ\rÍ-Ÿö]\n“Ù\fM©Ÿˆ§ì„¶Ñýê¡Q\0¶«ç¯]š"È~ÿJÇat1øs°¦Õ¾}ºg-}½Êw‰T“´¾õ¾e\txã•Œ!\r§–3í6†aºÂ?P~}© \r %\t«XáCÈŠ>“ë/dùø¦Ð®éÿÞ\\¡3K2Ö¹m×£)ó8ɶøº«Nw¿m\\9ü\n[KŸa¿g’ÖFgLuš¢a“æ9—":£1¯ZGcçÔýB¨^µL\b.$l¹líkG¯Ù–N[[YHEÎBܪË5C±/£ÆAÿù\t½l@­§û@q¹ÏM"\ròQ\0EÍ}6Þe²ˆ,-((‚üDRŽQ㊦ւVJ@\\ßñoÞ[ä)3mf*W±¼N@òª[„«G…ï쿅×zŠ0¢›á7(\'âfãG‡ž\'T”\t\\¡ýú¦±ÉŒï¿:]0e£˜y¶c\t²J¡2ÑuÓûFaNÎÉ.*»€3˜Õt¶ÒKˆš[0á_㣡ÿ^zß¡R4‹Yzß#Ljü´\':GìuÊZA[w÷\bp~ŸN]Ò°ÅVøZjî#5œ¤/Æû<]J°VÉë!2=IÆj7›+¼ŠË—¾íùØ{û°óñÖàwpûòÙ®ì\xA0íÐJ´H¥uЩLÇ?Öù5#â4>ižÝÿ*wy¥Å\r\xA0_à—¬Þ]‡ytÍîd›©9ºEâ—dÞ§wð¶ï°û&D‡W5)b¿à¾\'½©]{0„ûÇ(¯ÛM-Ë@wÿabBv\rÁôÙGµˆt÷ž]?\niÜjÜî8‚‚KÁlæTÇ;žunµ}©>Æÿ~×~ø}õãÖ±SP=/ÿ+n³–¤1óZ@¢Ó>HKX]oä˜\fu`–H²µç©¢íQl¿1p“Ê°ûÒ#ÿ%÷=•§ Ï{CF·Ñ¯Iù"YpÒ#9\0±É¹D@_±ƒ#I‹ZÂ<ÊÆn;®í¯·åŽ[.à÷C\r†º,e¤~ìfjÝ!ہxR-¯:Ú\t¡aèA6B4¬³Ð¹Ï´ԔÉø&ºNYß{«Ív„3]wHl˅@ö==\ts7kRWݞæ(ü<=\n&gms0ç\fÏB\b$–_jC÷fò´Ý|JˆwW–*Çbډ[%Z´?œ¥tvÈA\\ï;†_Ñ[ööù9ÆéOËÔø@ŽâŸñWó@\0¯g3+Y‡(ß °ï¼ë€Íš3áæ‡ù\r0‰3ÂN1ƒ8M\xA0o;-úÎ*胑éu«9?ƒ7€8\r­ÇR“‘…$Ü!óÏ¢¦îHԒ(pTâ]6\\‚¥0 ߆´r%¨xC»Ä¢R\xA0ä݉E“À̇üõ.&$äh§¾h®î\0&{¢«XµE?„û1N?„@ø##ofª5¤\xA0Û«\0è‚Á^m¶ü­pÁ¦.<É{*\xA0ÛðÂÜ\n:ʼn¼¨çkÓ.߇¯\r‘ȝAÿè\0k¶\nøÕtXË1:¹;åìaž‡“öҜPó„_…b¾pŸ÷§}ÜÐ`áÖÁƒ-™+;⦀|&õY–Ô©Ÿ“*g#DØáñJûŽ¦£ô3}™\xA0nûËFeÿÉC½ÏK/!ùZ¤eËZCóWþò\tŒ\bι+k‹ji©1R…¾QÝ$™ðäàòãLCùÖE–SU9Ñ%„+¢â_õÿ^«P6mfփŒ¼ïnl¹Ý6tm;8Xåã+rëZ¼½3sÔóS\tî.!"5ÿé ÂÏ;>ð\n¨w9njï@Î[‡p¿›nÌð^;Iø/ùç+PݔàÅK-NZ¦!Ñ9ô©5_\b©IULýK÷3À¢¸Íÿqš¿MÙS-b‘F¨3 ò£¤˜ìb7fÃûßÃRò5ÐL°Ë\tm›e”uS–±·ŽÁ‡ú–®{ëóõï\n“*,>hžCvk[8•ÒÊ*\'wU:Òkªñ†½)=Y¨²ÿºeUÝx,Ÿ}­‹\b^ƒÈkºÞˆåªiC“J‡c-o*8xÀ»Ð“~93]È\f¦Ôº.t6Üùi¼"ã[ïЕµz‚N„Uü¡ÏÁœVížGÙ1r¡}‡(h‘iœ±îÓ¦Uþ¯c/wbþÄm5–¿Q±èñ\'o9¡¾ÌToÞÝÌñ@Ș1äuר/—#w…_ž·:nA’ÎqDÕ>àc7ã%#žÆ]³´¢‡T6k7_=t–/lë¢ë ajêfhøkp¢dWNçËØN\'‚ï›g­‘^¾ô“\tlàð].Òü<n=Go«ù˜@VjòX\f§ùewVp&òܝ=¬B3³î\\T× ^ÞS†’å\xA0wØ83õ"m‰‹ŽˆÆL,áVGþ–zd@í‹s$õþó›À~\nºšòM\0&¾hk?×òßÇHÄg{N2RÔÈб7O;/Ov:Ó×\fÁ†;¯O¶ k!=Óø\f2­[~#4­<­Î¸†6#”ýþ‘ñüX”ב\r:\0ìr×èr+TT˜k<ߣûªV¸LSxßÈA1»÷¾iR7¹JS¤\bŸ tV‚]YM\rÝÇ.â\bBRžÅ{\t‰ŒáÆ®\'ËÆþyÊCtçð·\r υóàâA\f­‘„à„ØO¤\\6Ã"”?ÃPKEh®Pôú÷BF¤K•*•?ÿü_¥ÚQ Gì—hf“8<˜s<\bXÔ9»À=\\Bٗ&¸¿Áb•NV­0H˟i”„âmsh`€%6ØË))3Þ±lÒ\tÈÀ“‡ÇÅó}“&š›ÕØÑ\0\xA0¤f\b*?xvKñ‹úÎ͛5A8fêÜÿ#ooâ Äö<.R‚&ŸâtðDuÎàpñ¬•H¿xíHTPÏ–™˜A-ŸÑ˜Æ7Ý`β¤ßF»6T‡Ô¤5#þH¥¸«zt8gîD¡?Æ\0î½&ùã5ƒŠª,»NŽ-:ÎåbÕ\b‰V¨Nû\f™P$mNXƒ˜ÚQª½QKøû´¯"ç˜Rð§/…å7Ю½ûVXe䘑ÆlÈҊ”âÚÉà:=ú+øñ•ý›pTóÙ¢Â2dÚK]÷_Û\\§¼QíüCL~,n"v,ûÄbÂuÖì‰ÄÏ=ÅJ&l§tÆ¡þkÇrù衏Z-¹ëk#´aw¹G\\GÄ\\õœ‚hf®GÀ¹Ú׏·•Rs=¤¾í½iúQ<>Ñ&ÕT§Ü\tlæú@ë¸ãýH›^çˆÂ•àl¯úWáÈPÚÿBfg>Öú¨ÿCI7Qõû݇•ÙÛ?´Œ®Pb[ß\b÷o½ÏLþüNí›ßív~ÞÜ¿éQ통žK!ÀíŸE\0ÇåyÂ6/‚nW¶üÔ°…§ƒúXzu\xA0gq,a\\–󦐨;Æ:4ӋÃ2¤Qc¥@\'Óé4é@¦‹­‹RSw›ð\'iV"™aؽj“¼T€($<g\'C-ÁŒEƓ5¬¼ÿ^N¦°·à~õn,ÒnÀûm˜ð{ŒÈëÑÒ¡ÓÙxÍòPÎ`? ™ä1%ïòVÜt×Ø?âKŬ¨öñ&v‘@DàZ×\'ÏÙL¾Îõ~ÜD±ïC³+?Qמ€9Š‡)øzn‘tÖéTh1àS§¨üD*$Àâštèƒ˜û„ÏŽÃÙv\0§\xA0x‰«ðZ&™ÿÿ-¢’:m°ø¶ûs\\ò(ÖÉ/@\fŠ„¬˜¹hLÄتï¶%ÉZ3)GHºMÒ\0:”²\'(¡ºgY˄‹«Ý,}꽔ôã&w²¾æzÛåççÛ}luH"$ñU ©K\r´WqßCý¼*€lÅÞæÚ§³Š“@nèîGƒ…²ÇvÍ:dRA…„‘_Võ¼ßÅ[e‘|–IYíp{d]{%UbE¬â“P:,\r(a˵X^ò‹ŸAúÛG£ì4HGnMµGý#°¹\\Hà~±¼´\fú\xA0éúcZj¬\rWááßórQˆW‡_7C¶í)û3Z,[“Ì¿vûŠåôb: »`ܛèïV¿-=òV–¤9Æ7’ßM"\n÷Éo|rB‚ͳ‘¬ß7ëêk9¦Ò6nÂ@5¸DÖ¥ã<\r”×oIDfí¶Í\0$`Ě:°e©i‘‚ÞAŠð›m".®ß×óÌÚZni®í[Å\f€A¼0-\fÓ\b \0ëc‹FG––Íç"®2tM!ôöÝi¥Q{J¦mÄUÝùrlƋ&\'µ|ºç4^ʘÝ£}#²aÛS[\n*v~X\b÷Œ“7ú™:"3„Ǿw™Œ=9SÛ\n¦P€]ï¼\0”-4\fÇ<d¼­P†38ɖÂ6×NQJ\0\0\0\0\0\0\0\05VJC-ýiS'

response = requests.post('https://rbm-rtbf.live.ott.irdeto.com/licenseServer/widevine/v1/rbm-rtbf/license', params=params, headers=headers, data=data)
# params inserted below will be passed to data-raw 

token = 'PFYtFSqWMYIROJYywBp0rbKvpD3z6N6E6UezNrZmCeKHkcJ5BiH4J8qwO0kfWOmrSsyFJMg9OqKKEwvuQiXL4qdDTa6ZYplNV9IQt6eEuveglDxjVlYd0vAecS5TZKn5mIs01YxcYNlTC7tu3BIk63JhMykMWEMmj1oEqaLa7N3ZrfU2VTlEPaWXBQV6PxnFeD022Yi298GOX/lDik7sXt5u4duT0aKIYbz0HPmjoh8b9Uy8bvzJUa0/SlgRcsW8RNTNjRJHM6N7BESCBGFEZcWoSXeDLEblEfRoBKro2iDGB1neLfRdY1fj7tJX1Rn9lj+OJwRTrBV4XoTQFuSsFwvYCeQfkAoRHXnze9njI5pY7sYgIGxuM4Zh3Wqaps6kxdO53QMm0jJ/L41X6r5CikSGKQ3Rcps8eQccZb9svEuyXMof2nm+eYL+AVPPrfmAf/BrmUHfiuF9CmNsF9pI7PjJfLeASmh3KDI/5gUuC4uJB7rjTzHVWNRz8MSvYjJ37/5V9+FTihpu04+0jFZ1AlGRks2dzk2IGvm5WcwUhsW2l/oQXlh7AgsksIl2DT0wH11WeG+h1/ijymMcG9AZzsxtkC53eLJ8bl55/Aag0TJfX4N6KvV7UhglXxkLifb06bLK/wlcGCfb01b4cnngcjPJEMxh2+Q7sJSnbyrtsfodzNah8JXITmx5kTkFFZkdtga1ha9jAb+Z40VMQfbrCLgh0GEe2G3VczcIt8QHAWAeS91TkzLbMRAugbgLvdbI8yQXtM15uo+TXrV4PNFprug33AnvnQu7IpNxlmgPMZhEn4Qqc/V++OFIpz/JYEMnLFvjYcXE2+sPc4uKnoE0xk33+IgZKtWtDhxRg2SJKyKOYxXucXybUuqPP/d+Nq1VNhD84Of+EfVvBjs1u75pNz/kmu5ms9ppRMkafq0/2311hbYi6VXmp6AeJweGJWkGKEFxw7xADuC8iM7xWnXW5aiNvhbsXBOwuTK8b2ioxjrg6OFhiMck+z9M5FHg+ktY7YB8iY+0V6B/Op2cQGtLaZ2E9lsomlQpxL+LiPI7UWEqmALEGH/Pk5tdLnlFRjEk2PPc8YURw+/nkP9tqJ/AXQwaXc9iwC5yxlYPCsp/Tc4='
provider = 'kakaotv'

releasePid = "_qVpiY31v_oU"
# response = requests.post('https://widevine-proxy.ott.yandex.ru/proxy', headers=headers, cookies=cookies, data=data)

# print(f'{chr(10)}widevine_license: {response.content}')
#NB. Original query string below. It seems impossible to parse and
#reproduce query strings 100% accurately so the one below is given
#in case the reproduced version is not "correct".
# response = requests.options('https://api.ott.kinopoisk.ru/v12/license-affected-content-metadata?contentIds=4b63db58ab27e92b90a457e533b00007&serviceId=25', headers=headers)
# dash-cenc/hdr10_uhd_hevc_ec3.mpd
# https://strm.yandex.ru/vh-ottenc-converted/vod-content/4315082489d87677b21f7c83593fcb73/8614535x1631802676x41611665-4e76-41ac-93a7-5070b77b5f3c/dash-cenc/sdr_uhd_hevc_ec3.mpd

# 'GET /certificate HTTP/1.1'
medvm commented 2 years ago

Well, the error message you received very clearly points to a misconfiguration of the request. Make sure your script generated request has exactly the same fields, datatype, structure, etc. (I suggest using chrome devtools to do so)

cmoulliard commented 2 years ago

I followed exactly the instructions:

  1. Opened Firefox browser and enabling dev tools console
  2. Got the video link https://www.rtbf.be/auvio/detail_cobalt-l-envers-du-reve-electrique?id=2943776&t=649 and starting to play it
  3. Filter the resources under network tab to get the mpd url https://c9851ec-az-westeurope.fsly.cdn.ebsd.ericsson.net/rtbf/auvio/assets/2943776_6BA97Bb/materials/KaFVNUi0Gg_6BA97Bb/vod-idx-2.ism/.mpd?
  4. Filter the resources (see screenshot) to get the Request URL from Headers of the license URL like the curl request
  5. Convert the curl request to Python using curlconverter.com web site
  6. Copy/paste the content within the headers.py before
    token = 'PFYtFSqWMYIROJYywBp0rbKvpD3z6N6E6UezNrZmCeKHkcJ5BiH4J8qwO0kfWOmrSsyFJMg9OqKKEwvuQiXL4qdDTa6ZYplNV9IQt6eEuveglDxjVlYd0vAecS5TZKn5mIs01YxcYNlTC7tu3BIk63JhMykMWEMmj1oEqaLa7N3ZrfU2VTlEPaWXBQV6PxnFeD022Yi298GOX/lDik7sXt5u4duT0aKIYbz0HPmjoh8b9Uy8bvzJUa0/SlgRcsW8RNTNjRJHM6N7BESCBGFEZcWoSXeDLEblEfRoBKro2iDGB1neLfRdY1fj7tJX1Rn9lj+OJwRTrBV4XoTQFuSsFwvYCeQfkAoRHXnze9njI5pY7sYgIGxuM4Zh3Wqaps6kxdO53QMm0jJ/L41X6r5CikSGKQ3Rcps8eQccZb9svEuyXMof2nm+eYL+AVPPrfmAf/BrmUHfiuF9CmNsF9pI7PjJfLeASmh3KDI/5gUuC4uJB7rjTzHVWNRz8MSvYjJ37/5V9+FTihpu04+0jFZ1AlGRks2dzk2IGvm5WcwUhsW2l/oQXlh7AgsksIl2DT0wH11WeG+h1/ijymMcG9AZzsxtkC53eLJ8bl55/Aag0TJfX4N6KvV7UhglXxkLifb06bLK/wlcGCfb01b4cnngcjPJEMxh2+Q7sJSnbyrtsfodzNah8JXITmx5kTkFFZkdtga1ha9jAb+Z40VMQfbrCLgh0GEe2G3VczcIt8QHAWAeS91TkzLbMRAugbgLvdbI8yQXtM15uo+TXrV4PNFprug33AnvnQu7IpNxlmgPMZhEn4Qqc/V++OFIpz/JYEMnLFvjYcXE2+sPc4uKnoE0xk33+IgZKtWtDhxRg2SJKyKOYxXucXybUuqPP/d+Nq1VNhD84Of+EfVvBjs1u75pNz/kmu5ms9ppRMkafq0/2311hbYi6VXmp6AeJweGJWkGKEFxw7xADuC8iM7xWnXW5aiNvhbsXBOwuTK8b2ioxjrg6OFhiMck+z9M5FHg+ktY7YB8iY+0V6B/Op2cQGtLaZ2E9lsomlQpxL+LiPI7UWEqmALEGH/Pk5tdLnlFRjEk2PPc8YURw+/nkP9tqJ/AXQwaXc9iwC5yxlYPCsp/Tc4='
    provider = 'kakaotv'
    releasePid = "_qVpiY31v_oU"
  7. Launch python3 l3.py
  8. Pass the mpd url
  9. Pass the license url

Question: From where the tokenId, provider, releasePid are coming from and why do we need them ?

Screenshot 2022-10-10 at 12 39 13
playerny commented 1 year ago

I followed exactly the instructions:

  1. Opened Firefox browser and enabling dev tools console
  2. Got the video link https://www.rtbf.be/auvio/detail_cobalt-l-envers-du-reve-electrique?id=2943776&t=649 and starting to play it
  3. Filter the resources under network tab to get the mpd url https://c9851ec-az-westeurope.fsly.cdn.ebsd.ericsson.net/rtbf/auvio/assets/2943776_6BA97Bb/materials/KaFVNUi0Gg_6BA97Bb/vod-idx-2.ism/.mpd?
  4. Filter the resources (see screenshot) to get the Request URL from Headers of the license URL like the curl request
  5. Convert the curl request to Python using curlconverter.com web site
  6. Copy/paste the content within the headers.py before
token = 'PFYtFSqWMYIROJYywBp0rbKvpD3z6N6E6UezNrZmCeKHkcJ5BiH4J8qwO0kfWOmrSsyFJMg9OqKKEwvuQiXL4qdDTa6ZYplNV9IQt6eEuveglDxjVlYd0vAecS5TZKn5mIs01YxcYNlTC7tu3BIk63JhMykMWEMmj1oEqaLa7N3ZrfU2VTlEPaWXBQV6PxnFeD022Yi298GOX/lDik7sXt5u4duT0aKIYbz0HPmjoh8b9Uy8bvzJUa0/SlgRcsW8RNTNjRJHM6N7BESCBGFEZcWoSXeDLEblEfRoBKro2iDGB1neLfRdY1fj7tJX1Rn9lj+OJwRTrBV4XoTQFuSsFwvYCeQfkAoRHXnze9njI5pY7sYgIGxuM4Zh3Wqaps6kxdO53QMm0jJ/L41X6r5CikSGKQ3Rcps8eQccZb9svEuyXMof2nm+eYL+AVPPrfmAf/BrmUHfiuF9CmNsF9pI7PjJfLeASmh3KDI/5gUuC4uJB7rjTzHVWNRz8MSvYjJ37/5V9+FTihpu04+0jFZ1AlGRks2dzk2IGvm5WcwUhsW2l/oQXlh7AgsksIl2DT0wH11WeG+h1/ijymMcG9AZzsxtkC53eLJ8bl55/Aag0TJfX4N6KvV7UhglXxkLifb06bLK/wlcGCfb01b4cnngcjPJEMxh2+Q7sJSnbyrtsfodzNah8JXITmx5kTkFFZkdtga1ha9jAb+Z40VMQfbrCLgh0GEe2G3VczcIt8QHAWAeS91TkzLbMRAugbgLvdbI8yQXtM15uo+TXrV4PNFprug33AnvnQu7IpNxlmgPMZhEn4Qqc/V++OFIpz/JYEMnLFvjYcXE2+sPc4uKnoE0xk33+IgZKtWtDhxRg2SJKyKOYxXucXybUuqPP/d+Nq1VNhD84Of+EfVvBjs1u75pNz/kmu5ms9ppRMkafq0/2311hbYi6VXmp6AeJweGJWkGKEFxw7xADuC8iM7xWnXW5aiNvhbsXBOwuTK8b2ioxjrg6OFhiMck+z9M5FHg+ktY7YB8iY+0V6B/Op2cQGtLaZ2E9lsomlQpxL+LiPI7UWEqmALEGH/Pk5tdLnlFRjEk2PPc8YURw+/nkP9tqJ/AXQwaXc9iwC5yxlYPCsp/Tc4='
provider = 'kakaotv'
releasePid = "_qVpiY31v_oU"
  1. Launch python3 l3.py
  2. Pass the mpd url
  3. Pass the license url

Question: From where the tokenId, provider, releasePid are coming from and why do we need them ?

Screenshot 2022-10-10 at 12 39 13

I've a similar issue. Did you find a fix?

cmoulliard commented 1 year ago

Did you find a fix?

Unfortunately no :-(

thejackal2017 commented 1 year ago

Hi , I tried on another link and this message also appeared , to fix this

edit the script add a custom request to the array and try to remove the "params=params" from it and you will get the keys

responses.append(requests.post(url=lic_url, headers=headers.headers, data=raw_request))

don't forget to use fresh headers .

Regards