Closed slrslr closed 1 month ago
A cdm is needed for decryption. It basically just a private key needed for the creation of a widevine device (you also need a client id, which is always included with the private key). Run the command with the files named accordingly (like shown in the command). Drop the created file into the 'cdm' directory of WidevineFetch.
Public CDMs can be found here: https://forum.videohelp.com/threads/413719-Ready-to-use-CDMs-available-here%21
That is a bit confusing. So for each of the 28 items on that linked page, I have to one by one: extract run mine mentioned pywidevine command copy resulting file to WidevineFetch/cdm/ and here is stop, because https://github.com/DevLARLEY/WidevineFetch#usage does not mention how to use WidevineFetch. When I run: $ python3 ./widevine-fetch.py
Traceback (most recent call last):
File "/dev/shm/WidevineFetch/./widevine-fetch.py", line 126, in <module>
class AsyncProcessor(QRunnable):
File "/dev/shm/WidevineFetch/./widevine-fetch.py", line 132, in AsyncProcessor
pssh: str | None,
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'
(output is the same also without ./)
$ python3 --version Python 3.9.2
On README, I see that You require: Python 3.12
I guess I will not install v.3.12 now https://www.fosslinux.com/122774/your-complete-guide-to-installing-python-on-debian.htm , maybe later. Maybe what I have written can be used to improve the README a bit.
You only need one of the CDMs listed.
And yes, python 3.12 is a requirement for widevinefetch
Hello,
can You please explain the steps understandable by a layman on how to get a CDM (likely "Content Decryption Module")? I am on a Linux Debian and found other issue, where you suggest running:
pywidevine create-device -k device_private_key -c device_client_id_blob -t "ANDROID" -l 3
pywidevine i assume https://github.com/devine-dl/pywidevine
But please how to exactly obtain data needed by that command, I am not on Android? It may be handy to mention in the README these steps so even person with just a GUI experience can get it.