Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Video playback dont works on Windows, MacOS, Android limited to SD #1627

Open
CastagnaIT opened this issue Sep 20, 2023 · 2 comments
Open

Video playback dont works on Windows, MacOS, Android limited to SD #1627

CastagnaIT opened this issue Sep 20, 2023 · 2 comments
Labels
Help needed We need the help of other volunteer developers Triage: Confirmed Issue has been reproduced by the add-on maintainers

Comments

@CastagnaIT
Copy link
Owner

CastagnaIT commented Sep 20, 2023

[ INFO THREAD ]

PLEASE KEEP THE THREAD CLEAN, COMMENT ONLY TO PROVIDE HELP FOR A POSSIBLE SOLUTION TO THE PROBLEM
IF YOU WANT TO DISCUSS OPENLY USE THIS THREAD: #1678
THANK YOU

From some month this add-on is not able to play videos on Windows and MacOS systems and Android.
This problem causes only the first 2 minutes of the video to be playable,
on Android its possible mitigate the problem by playing SD resolutions (~540p) only.

this is due to website changes that seem to have introduced some custom Widevine DRM implementation or maybe a new VMP protection, i dont know exactly.

Some details in to the investigations done can be read from this comment link
#1585 (comment)
and following the discussion on subsequent comments.

In short the problem is about the Widevine DRM license request and at moment from my part i have no idea how find a solution,
that is the reason why the videos can be played only for the first 2 minutes, because without license you cannot decrypt videos,
only unencrypted videos like trailers can be played.

One workaround that could be done in future, but only for Windows systems, is to use PlayReady DRM instead of Widevine DRM. But this require to be first implemented in to InputStreamAdaptive add-on, then in future try to implement this support to this add-on. It is not an easy thing and also will take a long time (more months not days).

If anything changes on the website in the meantime, the addon still allows you to try test to play the videos also if dont works.

UPDATE 16/04/2024:

According to the old discussion reachable from the comment 1585 above linked
i leave here my last vague remarks from my latest attempts to debug the website
in the hope that in the future someone will be able to help me or propose a complete solution
because with my knowledge alone i will never be able to deal with this problem

As said above the problem is in the license request
DRM license can be obtained in two ways:

  1. From licensedManifest request, this is already implemented, (see msl_handler.py _build_manifest_v2 method), so by including drmSessionId/challengeBase64 the manifest response will include the license, and this dont happens anymore due to not accepted challenge data
  2. "Manually" requesting the license, (see msl_handler.py get_license method), always required the drmSessionId/challengeBase64 and the response will have the license

both drmSessionId/challengeBase64 are obtained by DRM session initialization done by InputStream Adaptive,
now in the website seem happens more or less in the same way of the addon
but on the website when the drmSessionId/challengeBase64 are provided by DRM somewhat happens like a middle step between the browser DRM and the website where the DRM challenge data seem to be wrapped or modified by using some kind of "certificate"!? at least seem to contains some parts of this data

this "certificate" can be found in the cadmium-playcore.js of website, at today is this:

CAUSwwUKvQIIAxIQ5US6QAvBDzfTtjb4tU/7QxiH8c+TBSKOAjCCAQoCggEBAObzvlu2hZRsapAPx4Aa4GUZj4/GjxgXUtBH4THSkM40x63wQeyVxlEEo1D/T1FkVM/S+tiKbJiIGaT0Yb5LTAHcJEhODB40TXlwPfcxBjJLfOkF3jP6wIlqbb6OPVkDi6KMTZ3EYL6BEFGfD1ag/LDsPxG6EZIn3k4S3ODcej6YSzG4TnGD0szj5m6uj/2azPZsWAlSNBRUejmP6Tiota7g5u6AWZz0MsgCiEvnxRHmTRee+LO6U4dswzF3Odr2XBPD/hIAtp0RX8JlcGazBS0GABMMo2qNfCiSiGdyl2xZJq4fq99LoVfCLNChkn1N2NIYLrStQHa35pgObvhwi7ECAwEAAToQdGVzdC5uZXRmbGl4LmNvbRKAA4TTLzJbDZaKfozb9vDv5qpW5A/DNL9gbnJJi/AIZB3QOW2veGmKT3xaKNQ4NSvo/EyfVlhc4ujd4QPrFgYztGLNrxeyRF0J8XzGOPsvv9Mc9uLHKfiZQuy21KZYWF7HNedJ4qpAe6gqZ6uq7Se7f2JbelzENX8rsTpppKvkgPRIKLspFwv0EJQLPWD1zjew2PjoGEwJYlKbSbHVcUNygplaGmPkUCBThDh7p/5Lx5ff2d/oPpIlFvhqntmfOfumt4i+ZL3fFaObvkjpQFVAajqmfipY0KAtiUYYJAJSbm2DnrqP7+DmO9hmRMm9uJkXC2MxbmeNtJHAHdbgKsqjLHDiqwk1JplFMoC9KNMp2pUNdX9TkcrtJoEDqIn3zX9p+itdt3a9mVFc7/ZL4xpraYdQvOwP5LmXj9galK3s+eQJ7bkX6cCi+2X+iBmCMx4R0XJ3/1gxiM5LiStibCnfInub1nNgJDojxFA3jH/IuUcblEf/5Y0s1SzokBnR8V0KbA==

but i have no idea on how the DRM challenge and data above are "combined"
and this in my opinion is what is missing to solve all the playback problems in the various systems (probably also android)

@Letalis82
Copy link

Any new info/progress on this issue?

My household misses this plugin every day :)

@CastagnaIT
Copy link
Owner Author

CastagnaIT commented Apr 15, 2024

EDIT: updated first post

@CastagnaIT CastagnaIT changed the title Video playback dont works on Windows and MacOS Video playback dont works on Windows, MacOS, Android limited to SD Apr 16, 2024
@CastagnaIT CastagnaIT added Help needed We need the help of other volunteer developers Triage: Confirmed Issue has been reproduced by the add-on maintainers labels Apr 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Help needed We need the help of other volunteer developers Triage: Confirmed Issue has been reproduced by the add-on maintainers
Projects
None yet
Development

No branches or pull requests

2 participants