Closed Dis90 closed 3 years ago
Interesting. They seem to do something different on USA. What are headers for https://content-discovery.uplynk.com/wv? Is there preauthorization header? That is where drmtoken is put on EU.
No special headers for /wv and I don't think there are any preauth headers. When playing through browser it hits /wv 6 times, these are the headers
Request URL: https://content-discovery.uplynk.com/wv
Request Method: POST
Status Code: 200
Remote Address: 52.3.215.10:443
Referrer Policy: strict-origin-when-cross-origin
access-control-allow-origin: *
content-length: 716
content-type: text/html
date: Sun, 12 Dec 2021 18:39:47 GMT
referrer-policy: no-referrer-when-downgrade
server: nginx
strict-transport-security: max-age=31536000; includeSubDomains
x-content-type-options: nosniff
x-services: dd1914ad6ebc4d389cc3e7185971e3f0
x-xss-protection: 1; mode=block
:authority: content-discovery.uplynk.com
:method: POST
:path: /wv
:scheme: https
accept: */*
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9
content-length: 2
origin: https://www.discoveryplus.com
referer: https://www.discoveryplus.com/
sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
sec-fetch-dest: empty
sec-fetch-mode: cors
sec-fetch-site: cross-site
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36
Payload for first 3 show up as
and they all have the same response
�����3:/w*�����"�0�
���[;2}�^$�ö*���R
ռ�7P>E��v��@QA��㭱��NrZ^J��)XX@#��8�y90ao���~!����w��W��_F&=��X�`z��O��W�7��|��3p]�:!�N�J�GI�~�]C�ݺ���3��=o�dB�1�@���ĺL� ����`�����[��d���l��\s�����Y��$pp�h
og��,J��D��N�7�K/Y�(C�X/k�]��^n�d���q�P��Z :license.widevine.com��4s��5)'��{��Rw�I�<���0�39Q�̽��D�'�!4n������~n�v�8F
P;��+����Ŀ�
���K�ќ���t̬(ѴAl�ވ0��4���� xB:d.Ta=�ϖ�J�I�U�+:p>�vj��mk�+�k��O�Yҫ�v��BG�\C��"f��6��C��˽���U�U�Ǽ�U�doX*��p��y�g�:+�6,[���U�[ʩœÃ�Wԝ��~@����I���5�X�]x����s�
�����o�$>?=�� ��_��:&?�� ; ��&37:)����4,��T<��/|_�3����[%6v^�Z���/��a��M�u�����&����w��2�ڼjk��
IӊE뇥�
The last 3 have different payloads and responses Payload:
±
24bb5791f66d472a830feaa1f3e25f2evdms"U4ef89646fc3b48b3a9da14e73abb2c13_ause1-ur-discovery1_00c8acf8ffe3434aae8987c8bd14c674®§6väo^øÁ¿üþSY|ü ôÙ08¢µó
B
license.widevine.com¹Ì3:/w*ÀIÎcîAo${ øËÓwÙ¿áØÏ&ÐÜ2X9YhÑÐN¶¤ú*Y.}*ÝW q:§!ÚB÷Eq©ã?LÆÇÇË1N¶G
ÃçáNÏöC·5è«ur<h®a¼<¥ØNÖ»(&=f6û`Uå쳩èþÓuipVÜêÌ®oÜÕQC}:~Cªp¯µ6wG¼×E\!ûðk
3N8
6LnÝ
ÿ_þa]³óE×nêu¾¾ðáVµ=æÖêÎël®pº!ÿëè(.§Ûë%*¤ÝJ÷ÃLã_Þ÷v÷=Ì÷ØÃм¶M¨ì´·ýíÛLã¯ø\ãFfNÛ-ïjC
`F5k#7:JÒ]Öe
jñÓ1_¡qXJq¶Å¤°CàIMÙØTÞo[Ìn{Õ*Ò:ç³ÞüWWç7»æmòg£Uú©Gsñé>l0êâù\´HyßM¯hªzxHDmÕê©ö>=+¸
l`dæFå<&<N,WIéæ}(ÆÉÙåÝóKÛmUÑQí ÉÎvã\¦Y[m?¨Sv[óÀ/x<ÉÌ¿»£#Çwù_Ôà³Ø;
þûmú~K19ª>ùÏ«Id#LkÁþËG.aúÙ¦h¸LK{SþÍǵ9ùçm×Óæ,ëÑß@Ïâ.îùËfÔ©ó+n6u?}køëRe-'lÒÊ[±j-ì±³ugöØÂýS~yù÷[ö·eì*js~ý¬©Vþ3F9NÍÐ]O©xè&<g4&qñ¢á«¾±@taL4¯*è½Ô¤½4uñjèìÙµR½¨÷²=Êûeihñçz[RʲXäìûzÖO
£+EsÒ;mv|ÔIQR
,Ee-0bázT÷p¶%R8p}Efΰ_}\¾{¾Îµ?¤èZ®Ts!ubF°ïÙ/ÄZÅZ>Ü¿¯ÅZD
ÿ¿(kî.'J TyAý^se|ó~³¶ÀGjQÀïú8}ríå9êG0¥.á,ïni³<Ð4§³Âym»\f^P3bÆÅr^¡£.VÕ¸HqÏgò§
'.:;5ô}rÍïÂâ1R¿±¸ù£[ÿR9BéH¾´à³Ðà6ÍÔ§ËÝzÑãâî¨Hkaä<f?XZ}Ý8ÔÁm>øìݽ ¯.ÕÀIkcù5IBr%÷Åõçm/d@oîKÙ@·¯ª.ó ±!Þ]I¶µè;|ÇU ÚØ\ïq¥tA8ë¡(Ç(r©Nþöm¦DEr¦F¢2D½k=¦G±2nârÍmd³Ô¥u¨£uâ+üìg¢©#çÔ¦¬¤@¡Sûm_]ë4:,kÙÖåÁõ
þÓSP`ìewzt;eúÑÎMîѹ0µâø0ý?i÷æÕmÜ«aLño¢&£¨4hîC®¦óDéë¬Ó©
¸î8~ÚIä)ÏJÉ3õÊî]ý£lêe
Az¬ôV¢yï8Âp^ÝWÊobsûÍæ®lEhwTå*Ck@º_ÿWÿÿÀª
FÚÔ=Ák¡2Õ EeÝiê|ð¡ßå\«4õ?\`»(¤î´ÆåSÄ2¡tÄEÁ,19£Èå3Æ!(W&P¿0Îs<}+#UfrIXmÉÆåÿ·¿ ±´C((VO° Æle]¤A|Á
-a: ¿[à%<CzÅyYÆ_Ú(I¥ =²^Ä*gHéû5¹b¢P«ê£dë\W¼zJ¾l>»äy;
Ïó1wý¡±T95§/
lÜÝ¢sá ûó½õ>ê5í&U^øñyS^ÃÆYp50Æ:ÃjÅx
p
J*t¹¾¹ÆRÔA©Ôég5þ½ì;ýäQiü'[\»uý`8¡Ó¦,·rô
Ï®rCÅQPÔ6óiÒå ÈLsUháàùJ°Ø ì)pqùM<.ñâPB«YWWhnô« Iѧq9S={Ã-!zå
%dömÉ3Uuç¡ê×=^sX¦¹4SÃÞÌÈ`ϵÞÕêfÿ§i¢Gø)=í9Ðâ&Ðñm'
µÆU"~.x'Rì=k®¤@"ÖÅÖÊs#=ïH<hʶÎh7÷Îåbg¿UyµÜ]Õ%å1xÀ%Ö¶@is.ªnäËïß¡ñ¥V屶ÒrþB]C$íyK´-{ôoNV¢Ò×±'?èÓý+URdãÈ.ÐR3t忪ã©QÒÆ\Èëã?ò»¸ßÛäiÎó(ÒqxN}¥_eÇô7Ó=äxôäñ¿4ºñ=&SìÇÉL«M16tì}Ú~e}÷4t_çâ"9qÆIç©Ö±5èÌb»M#[`ÑnTÎm¸ó9öb"ºë,Ëb>«?¡~>gÉ^ôÅ·6Ì^¤;ojSÒ¹&¯ïì+Û7xy0@Úh>Nï5ÞÎ÷bMüJÙçêj,µïª§TC7låmXój3äwÎ<%6òC`Ñ|ÃÉ1nÜ¢£w´ãÅL?/uÔÌõO5Y¦wKANå«ÀñÕv¹ºW¦[8zBþÑÖm;P²zZâ²
A
jj
¥ÿ$ªê³9~ÄÆc
ôk>K¤ÉÒ9« U O]óÛhÙüÂ÷on6×óÿüÛó1$ã¥
²Q
H/ä4Í«Úöê^bÉÀ/âþ4¹0'O+É·Üúíµçb4=´§Û$t¹íø°Û~¶AOÁ)z~];Ͳ¿^YNqÃi¢DØ"FȾ¯ÊêV'«ºûÂvE¤Çvþ[
&bSë9*0å¸ÞéÊ7 ¶ü½á5GÊÉ¿s©þýX²só^Zo¤åªÈÎcß;9x)Ï1`MJV¦µÔÓo^»<Y=ÌYÖÉÍð)®`8ßêâØ(=ÔI¹»¬Á8?háÎ.¦R¹S2ä*¡M´ô¹ötËÛ&Líôÿ°3º©ßúáÿG³°K:¸ÜPmÛ/%{h´2`¤ºyYUI¹;Ï3DÙEe ö;x&.n^äàÐWveTò%í°éÅåas®
¼àÏi>{8âé÷SÂäÍqÜÕCNX)§¸b9r0vRÒ3!Î1º°âdµ#nyr®z+¼+YÙT6×À5IôìæFÓÃBâÙ&wJ2^¦iëØdè`9/\¯=ºP ùTâéyt¬q»½pT`½g^`Ú±Ô1¥Z}jË#ByOÈV7ßÅ9ó§êñU¬õlxKªo¿®oäåï³à"Wþ ê±,ÌÒLírµquB\0W÷¿P§ÅtxYrxòâ±j²ÇOGÓòíÝYñt繡Ô=g.dFPG¾äÒö§T´xÂÑMzúYOE¡j½V)j"m!U
ò·s£xò0b·ÇÉÌo¹µ'G¾âïnöäѾ»ÓVÝDÛ4úŪ^ÞÎJºY´ã·=I¡Êæ /åÂîì^ë CèÆäû=§úÀÍqêùÛ×åqS©Éüä÷¾ë¼Eb¨[ca%EdTÌGù9ú´ekç!|xȺ¼ò>ºb,k¾u$%Nqá_ÍwB½^²°·ÝåÏá~a²è±XVÌkÕ¶õ· Nø7"øAS¯6-ÈÑÊ!Ú(¸îÔÖ hïàå0òIÊÏ[jÀÅjÿÉñ×çqe+,µp2®UíSüØj
b¤j¥þÀ1ð±åÙ"Ã!òñµçdK þáÓÛjºn/¼ÀÝb" ÿD"ýÊ0JAfK3%
]¢RW¼Î&¨û 3Ü¢1¼3IEw] OA]w=eS<`NßÐLÍ3psó®ë[âßNmQð` ïRAóϯÑt¸ËasVjÍÿ²ÕÞ?çÏR}»9Jù³UtA?\(ýðwòÒ@åóþ*ÚMÄY*;l3Íÿ_CCØÖÊP û7®Ê;ÑäÉ)X=àÊsÍÚÞ#îõ6E~f\¨Ã*ð¡CX¤HoÛúøôiÇÖ-1ðÙÇî£w
µWíGgÜøæVøÇØZþÕÒârlØt¥,Û^$±`",øá7Oø·(rB1XÉBF«ÅMá*fóúÍVõ½Ve#
úåæ6°\ìÅs1z=<zÞ©@ûöû½ )b§OPªÔqïÆ|Lì6üz3«k·oºsy+DIßV"%Úä
f°ùÓÞ*>-¹±áIÀ-Ö·kléûÕðl£w®°Høn·Yö¾²'¾¶Ð
HfBxpLçåx£?f,·ÑîøÅCiË,T<ç. HôwC
pè²ôó毡Oä
iÄaQoÜíø»$ª0ã±7'ô>¯RÃL°ÎX»¡ZõzA¡1Öt÷1L:~;½¼#dûÔW» ôÖ3so¦èä¤Ï; ~:qSqòR"»Ã¢¸ÞÂÀóÐz¾Üñ I(hú
ÎU:ÀX
£·¢v,gù×JíØ©8Dupü£D$nÖivû}mþkf0¸gÛÅB8?f½ÎÄE.ÀO¸'zlØkÞ?¦.g(¢?ηZ!éCÛÕ,)P3{>æÆòäøø²õÕP|1)F¤%}½5BüEó=í=áW»Ì&²¬¶¢îS-5Z¡üJÞmA¢/B¨`
Response:
�
D
��6v�o^�����SY|� 00c8acf8ffe3434aae8987c8bd14c674 (8@H�ٍ ��(��0��8HPX`f_B�-Qh�Q5X���qhP��(=%r�k�?)4�=.�+��Q��m>
���
�w�H�E���G�Z�9ЌL*8#j1�Q�����4+��1��Q���L�v� l
$�W��mG*����_.�\|�8|t�
�0P �C�&l�Ȅ;н��??��R������a�: (2* B
kc16Q��mA��bSD �ٍ8P �Qlѯ'9kvc �x�^U!Hh'?*e��x"���[�B֛4z�H/m���i'Al�ڙ�?�)� `.���+b��Mt��s�����H�=���P�gn��ɼ���ʕ�D!�pK{��XJ�$s�C�6�^�-J�E�r!Aw)��gdv��I����Q:2
016.5.0 Built on Nov 3 2021 21:41:01 (1636000836)@J���mA�/B�`hzPQ�Q����&�za�G��2B�Y�3t��ii�6�D;j-�,X
That's one example, the other 2 are similar in size but different
I don't see drmtoken anywhere in any of them
And this is the payload when the browsers access the mpd file
cid: 4ef89646fc3b48b3a9da14e73abb2c13
ct: a
drm_policy_name: Prod_5April2021
exp: 1639334686
rays: cdefghiba
rmt: wv
rn: 15433491967631800173
tc: 1
sig: e935d73e99aed9154579fb88acff85a489a638b27f4362493c323512617ed3ec
Yeah it looks like there's no special headers. Test with current master.
Works good now, only time I ran into an issue is if I have the experimental UHD enabled and try to watch something that is UHD, the Kodi locks up. If I set drmSupported to false it plays fine.
I'm going to have to try and work more with the ISA devs to get the UHD working. If I input the m3u8 file that is given for UHD into ffmpeg, it downloads the video fine (without using DRM/widevine) and it plays properly. Not sure what ISA is doing different that causes issues.
Good :)
How about framerate? Is that still issue when using mpd?
So UHD works but only for non drm HLS and ffmpeg? Maybe add some sort of workaround for it in dplay.py (drmSupported false) and kodihelper.py change if useIsa:
to if self.get_setting('us_uhd') is False
. Then Inputstream Adaptive is not used for UHD.
Framerate is good with mpd, no need for proxy anymore.
Correct, UHD works with non drm hls and not using ISA. Unless you try and skip forward or back, then it glitches. I think for now keep it as is labeled as experimental and I'll see if I can work with ISA devs a bit more.
Okay. I will remove proxy completely and add drmSupported true/false to if self.us_uhd:
in dplay.py
Or what you think do you want to keep UHD streams .mpd?
Thanks for help :)
Does subtitles work or is there any in d+ US?
Subtitles do not work through the plugin but they do work on the website
Was looking into the subtitle again, if DRM is disabled so that you get the m3u8 file, as long as in Kodi settings->Player Settings->Language and under Subtitles the "Enable parsing for closed captions" is enabled, subtitles work. Using DRM and getting the MPD file, they don't work. There is a ISA issue https://github.com/xbmc/inputstream.adaptive/issues/782 that mentions CEA-608 support and that's what D+ is using with MPD. So once that gets figured out, they should work.
Thanks for testing. D+ seem to use many different subtitle formats. I opened this issue of non working mpd subtitles https://github.com/xbmc/inputstream.adaptive/issues/855
But at least we now know that in most cases disabling DRM fixes subtitles.
Currently broken because of many differences. What I found so far is that unlike other countries US needs headers for requests. Because of geoblock and US version needing account, support for US version is probably not going to happen anytime soon.
api url: https://us1-prod-direct.discoveryplus.com realm: go headers: x-disco-params=realm=go,siteLookupKey=dplus_us