anijackich / kinescope-dl

Command-line program to download videos from Kinescope.io
The Unlicense
125 stars 15 forks source link

Not working, no downloading #11

Closed SergeyCr closed 12 months ago

SergeyCr commented 1 year ago

Tool stopped working about a week ago. Here is the output:

= OPTIONS ============================
[*] 1080p is selected
======================================
= DOWNLOADING =================
Traceback (most recent call last):
  File "kinescope-dl.py", line 73, in <module>
    main()
  File "click\core.py", line 1157, in __call__
  File "click\core.py", line 1078, in main
  File "click\core.py", line 1434, in invoke
  File "click\core.py", line 783, in invoke
  File "kinescope-dl.py", line 64, in main
    downloader.download(
  File "kinescope\downloader.py", line 144, in download
  File "kinescope\downloader.py", line 70, in _get_license_key
KeyError: 'keys'
[24604] Failed to execute script 'kinescope-dl' due to unhandled exception!
SergeyCr commented 1 year ago

Looks like the URL to clear_key section have changed. Before it was like

        "drm": {
          "clearkey": {
            "licenseUrl": "https://license.kinescope.io/v1/vod/*UID*/acquire/clearkey?token="
          },
          "sampleAes": true
        }

and now it is like

        "drm": {
          "auth": null,
          "clearkey": null,
          "fairplay": {
            "certificateUrl": "https://license.kinescope.io/v1/vod/*UID*/certificate/fairplay?token=",
            "licenseUrl": "https://license.kinescope.io/v1/vod/*UID*/acquire/fairplay?token="
          },
          "widevine": {
            "licenseUrl": "https://license.kinescope.io/v1/vod/*UID*/acquire/widevine?token="
          },
          "sampleAes": false
        }

Tried to change "clearkey" to "widevine" or "fairplay" in const.py but still no luck

anijackich commented 1 year ago

Can you share a link to the video you are trying to download?

anijackich commented 12 months ago

Looks like this video appears to be using encryption other than ClearKey. Unfortunately, so far the script supports only this type of encryption, which is found in almost all Kinescope videos. Perhaps others will be added in future versions.