Packages

  • Status Closed
  • Percent Complete
    100%
  • Task Type Bug Report
  • Category Stable
  • Assigned To
    Jesús E.
  • Operating System Hyperbola GNU/Linux-libre
  • Severity Critical
  • Priority Very Low
  • Reported Version Any
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Packages
Opened by fablamar - 05/12/2018
Last edited by André Silva - 09/12/2018

FS#1283 - [hypervideo] YouTube's DRM has prevented this software from obtaining the video URL

With the recent update to hypervideo, my workflow is broken as I can’t archive several youtube channels with hypervideo, the error is always the following :

WARNING: unable to extract html5 player; please report this issue on https://issues.hyperbola.info/ . Make sure you are using the latest version; type 'pacman -Sy hypervideo' as root. Be sure to call hypervideo with the --verbose flag and include its complete output.
[youtube] {22} signature length 44.40, html5 player None
ERROR: Signature extraction failed: Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/hypervideo/extractor/youtube.py", line 1194, in _decrypt_signature
    video_id, player_url, s
  File "/usr/lib/python3.6/site-packages/hypervideo/extractor/youtube.py", line 1127, in _extract_signature_function
    raise ExtractorError("YouTube's DRM has prevented this software from obtaining the video URL", expected=True)
hypervideo.utils.ExtractorError: YouTube's DRM has prevented this software from obtaining the video URL
 (caused by ExtractorError("YouTube's DRM has prevented this software from obtaining the video URL",)); please report this issue on https://issues.hyperbola.info/ . Make sure you are using the latest version; type 'pacman -Sy hypervideo' as root. Be sure to call hypervideo with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/hypervideo/extractor/youtube.py", line 1194, in _decrypt_signature
    video_id, player_url, s
  File "/usr/lib/python3.6/site-packages/hypervideo/extractor/youtube.py", line 1127, in _extract_signature_function
    raise ExtractorError("YouTube's DRM has prevented this software from obtaining the video URL", expected=True)
hypervideo.utils.ExtractorError: YouTube's DRM has prevented this software from obtaining the video URL
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/hypervideo/extractor/youtube.py", line 1194, in _decrypt_signature
    video_id, player_url, s
  File "/usr/lib/python3.6/site-packages/hypervideo/extractor/youtube.py", line 1127, in _extract_signature_function
    raise ExtractorError("YouTube's DRM has prevented this software from obtaining the video URL", expected=True)
hypervideo.utils.ExtractorError: YouTube's DRM has prevented this software from obtaining the video URL

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/hypervideo/YoutubeDL.py", line 792, in extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python3.6/site-packages/hypervideo/extractor/common.py", line 508, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python3.6/site-packages/hypervideo/extractor/youtube.py", line 1806, in _real_extract
    encrypted_sig, video_id, player_url, age_gate)
  File "/usr/lib/python3.6/site-packages/hypervideo/extractor/youtube.py", line 1204, in _decrypt_signature
    'Signature extraction failed: ' + tb, cause=e)
hypervideo.utils.ExtractorError: Signature extraction failed: Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/hypervideo/extractor/youtube.py", line 1194, in _decrypt_signature
    video_id, player_url, s
  File "/usr/lib/python3.6/site-packages/hypervideo/extractor/youtube.py", line 1127, in _extract_signature_function
    raise ExtractorError("YouTube's DRM has prevented this software from obtaining the video URL", expected=True)
hypervideo.utils.ExtractorError: YouTube's DRM has prevented this software from obtaining the video URL
 (caused by ExtractorError("YouTube's DRM has prevented this software from obtaining the video URL",)); please report this issue on https://issues.hyperbola.info/ . Make sure you are using the latest version; type 'pacman -Sy hypervideo' as root. Be sure to call hypervideo with the --verbose flag and include its complete output.
Closed by  André Silva
09.12.2018 18:55
Reason for closing:  Won't fix
Additional comments about closing:  

It's a feature to protect freedom by avoiding DRM and nonfree bytecode parsing, not a bug.

Jesús E. commented on 05.12.2018 16:57

What list of videos does this error come up with? Can you give us more information?

Remember you can not download videos with DRM

https://dpaste.de/spfe/raw ← test list of video without DRM

Jesús E. commented on 05.12.2018 18:52
fablamar commented on 05.12.2018 19:14

This is not a commercial channel, I don't understand, please see the log for an example, the issue is not present with youtube-dl :

https://dpaste.de/7ZQ3/raw

Admin
André Silva commented on 05.12.2018 19:41
This is not a commercial channel, I don't understand, please see the log for an example, the issue is not present with youtube-dl

It's in fact, there are non-VEVO videos which are DRM ones too, some of them made by "youtubers" that don't care freedom. The issue isn't present with youtube-dl because it parses and runs nonfree bytecode required by all YouTube DRM videos. You can see here for reference:

https://git.hyperbola.info:50100/software/hypervideo.git/commit/?id=e4cffeb28069f07f9ad2ebba938df7599cec7ca3

fablamar commented on 05.12.2018 19:41

I tried with your playlist Jesús E. and it works fine but not with the channel I shared above.

fablamar commented on 05.12.2018 19:45

Thanks for the explanation but how can I download the channel then ? Is there an alternative ? For now I reinstalled youtube-dl, compiled for arch pkgbuild but it is not practical as I have to deal with mpv, mps-youtube etc.. as well.

Admin
André Silva commented on 05.12.2018 20:56
Thanks for the explanation but how can I download the channel then?

Seems those channels require nonfree bytecode to download.

Is there an alternative?

The best way is rejecting nonfree stuff to protect your freedom. It isn't alternative, is a choice. [0] :)

fablamar commented on 05.12.2018 21:32

I know André. I already made huge compromises to achieve a 100% free system (including hardware)
It is always painful to find out non-free stuff is hidden everywhere nowadays.

Admin
André Silva commented on 05.12.2018 22:30
It is always painful to find out non-free stuff is hidden everywhere nowadays.

Unfortunately, some people and companies support DRM to mistreat the user. For that reason we as activists should join forces to end it.

winter commented on 06.12.2018 04:16

I can attest to hypervideo working. :) It does work still.

IT is more about individual drm then google drm ... what the OP's problem is about. Google does usually license parts of youtube as free software. Pushover licenses, but at least its possible.

Never thought that google wouldn't be the bigger issue in such issues. They are usually though all the time.

Between google, facebook, netflix, microsft, apple and other proprietary vendors all of whom should have their money ripped out of their hands... its good there are some people and even organizations trying to fight them with their hearts.

fablamar commented on 06.12.2018 09:07

Thanks for the detailed explanation winter.
I didn't know about individual drm for videos.. Well I've thought it was concerning the usual suspects (VEVO, music channels and such..)
Good to know.
So, I don't know.. should we close this "bug" report ? As the "bug" is not from hypervideo.
Or do you see a workaround ?
Sorry for the bug report, at least I learned something.

winter commented on 08.12.2018 20:14

Just to clarify, I consider the usual suspects with the exception of google to be individual drm.
But yeah, this bug has no purpose to my knowledge at this time.

Date User Effort (H:M)

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing