Prividen / kinescope-downloader

Script to download video from Kinescope
GNU General Public License v2.0
43 stars 15 forks source link

How to actually get video-id? #1

Closed Lafixin closed 2 years ago

Lafixin commented 2 years ago

So I see that this script works fine with video, which id is commented in .py file at the beginning as example, but I can't find it on browser network console. It should be on "Headers" tab? Can I actually find it for protected (I guess DRM) content?

Prividen commented 2 years ago

Well, I don't know if the universal way is exist.

I just open browser network console, filter URLs by "master.mpd" (which is XML video description), load page with video and click to play it a bit.

Then you can found URL (in the network console) like: https://kinescope.io/200812345/master.mpd Here "200812345" it the video ID.

Also you can filter URLs for "kinescope" and try to look this ID in another URLs, or Referer header.

Lafixin commented 2 years ago

I found it filtering "master.mpd" and yeah, seems like it doesn't work for me, because the content is protected:

Get video description... Traceback (most recent call last):
  File "/home/main/Downloads/kinescope-downloader.py", line 109, in <module>
    mpd_raw = urllib.request.urlopen(f"{baseurl}/{video_id}/master.mpd").read()
  File "/usr/lib/python3.10/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

I guess there's no way to download the video, only first fragment manually, which is about 15mins in my case.

Prividen commented 2 years ago

Should be fixed with commit bb02b4a

Lafixin commented 2 years ago

Thank you very much, it works!