Youtube's DRM broke the most recent version of avideo (2017.7.67)
Here are the error logs:
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--verbose', u'https://www.youtube.com/watch?v=Sk9XYQMRiLY']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] avideo version 2017.7.67
[debug] Python version 2.7.12 - Linux-4.4.0-83-generic-i686-with-Trisquel-8.0-flidas
[debug] exe versions: none
[debug] Proxy map: {}
[youtube] Sk9XYQMRiLY: Downloading webpage
[youtube] Sk9XYQMRiLY: Downloading video info webpage
[youtube] Sk9XYQMRiLY: Extracting video information
[youtube] {22} signature length 40.40, html5 player vflC3ZxIh
ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1155, in _decrypt_signature
video_id, player_url, s
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1086, in _extract_signature_function
raise ExtractorError("Youtube's DRM has prevented this software from obtaining the video URL", expected=True)
ExtractorError: Youtube's DRM has prevented this software from obtaining the video URL
(caused by ExtractorError(u"Youtube's DRM has prevented this software from obtaining the video URL",)); please report this issue on https://notabug.org/GPast/avideo/wiki/bug . Make sure you are using the latest version; see https://notabug.org/GPast/avideo/wiki/update on how to update. Be sure to call avideo with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1155, in _decrypt_signature
video_id, player_url, s
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1086, in _extract_signature_function
raise ExtractorError("Youtube's DRM has prevented this software from obtaining the video URL", expected=True)
ExtractorError: Youtube's DRM has prevented this software from obtaining the video URL
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/avideo/YoutubeDL.py", line 781, in extract_info
ie_result = ie.extract(url)
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/common.py", line 452, in extract
ie_result = self._real_extract(url)
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1787, in _real_extract
encrypted_sig, video_id, player_url, age_gate)
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1165, in _decrypt_signature
'Signature extraction failed: ' + tb, cause=e)
ExtractorError: Signature extraction failed: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1155, in _decrypt_signature
video_id, player_url, s
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1086, in _extract_signature_function
raise ExtractorError("Youtube's DRM has prevented this software from obtaining the video URL", expected=True)
ExtractorError: Youtube's DRM has prevented this software from obtaining the video URL
(caused by ExtractorError(u"Youtube's DRM has prevented this software from obtaining the video URL",)); please report this issue on https://notabug.org/GPast/avideo/wiki/bug . Make sure you are using the latest version; see https://notabug.org/GPast/avideo/wiki/update on how to update. Be sure to call avideo with the --verbose flag and include its complete output.
Youtube's DRM broke the most recent version of avideo (2017.7.67)
Here are the error logs:
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--verbose', u'https://www.youtube.com/watch?v=Sk9XYQMRiLY']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] avideo version 2017.7.67
[debug] Python version 2.7.12 - Linux-4.4.0-83-generic-i686-with-Trisquel-8.0-flidas
[debug] exe versions: none
[debug] Proxy map: {}
[youtube] Sk9XYQMRiLY: Downloading webpage
[youtube] Sk9XYQMRiLY: Downloading video info webpage
[youtube] Sk9XYQMRiLY: Extracting video information
[youtube] {22} signature length 40.40, html5 player vflC3ZxIh
ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1155, in _decrypt_signature
video_id, player_url, s
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1086, in _extract_signature_function
raise ExtractorError("Youtube's DRM has prevented this software from obtaining the video URL", expected=True)
ExtractorError: Youtube's DRM has prevented this software from obtaining the video URL
(caused by ExtractorError(u"Youtube's DRM has prevented this software from obtaining the video URL",)); please report this issue on https://notabug.org/GPast/avideo/wiki/bug . Make sure you are using the latest version; see https://notabug.org/GPast/avideo/wiki/update on how to update. Be sure to call avideo with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1155, in _decrypt_signature
video_id, player_url, s
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1086, in _extract_signature_function
raise ExtractorError("Youtube's DRM has prevented this software from obtaining the video URL", expected=True)
ExtractorError: Youtube's DRM has prevented this software from obtaining the video URL
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/avideo/YoutubeDL.py", line 781, in extract_info
ie_result = ie.extract(url)
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/common.py", line 452, in extract
ie_result = self._real_extract(url)
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1787, in _real_extract
encrypted_sig, video_id, player_url, age_gate)
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1165, in _decrypt_signature
'Signature extraction failed: ' + tb, cause=e)
ExtractorError: Signature extraction failed: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1155, in _decrypt_signature
video_id, player_url, s
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1086, in _extract_signature_function
raise ExtractorError("Youtube's DRM has prevented this software from obtaining the video URL", expected=True)
ExtractorError: Youtube's DRM has prevented this software from obtaining the video URL
(caused by ExtractorError(u"Youtube's DRM has prevented this software from obtaining the video URL",)); please report this issue on https://notabug.org/GPast/avideo/wiki/bug . Make sure you are using the latest version; see https://notabug.org/GPast/avideo/wiki/update on how to update. Be sure to call avideo with the --verbose flag and include its complete output.
Unfortunately, this error is intentional (although it shouldn't suggest filing a bug report... I shall fix that). In order to circumvent YouTube's DRM and gain access to the media file's URL, either some JS downloaded from YouTube needs to be executed (which avideo is built to avoid), that JS needs to be reverse-engineered (not currently practical), or YouTube needs to remove its DRM option (which doesn't seem likely in the short term). As a consequence, it's currently impossible to download those videos with DRM using avideo.
I'm extremely sorry about this, and hope it becomes possible to resolve it. If you need access to DRMed videos and are OK with the proprietary JS, YouTube-DL is able to do this.
Thank you for the detailed error report!
Unfortunately, this error is intentional (although it shouldn't suggest filing a bug report... I shall fix that). In order to circumvent YouTube's DRM and gain access to the media file's URL, either some JS downloaded from YouTube needs to be executed (which avideo is built to avoid), that JS needs to be reverse-engineered (not currently practical), or YouTube needs to remove its DRM option (which doesn't seem likely in the short term). As a consequence, it's currently impossible to download those videos with DRM using avideo.
I'm extremely sorry about this, and hope it becomes possible to resolve it. If you need access to DRMed videos and are OK with the proprietary JS, YouTube-DL is able to do this.
Youtube's DRM broke the most recent version of avideo (2017.7.67)
Here are the error logs:
[debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: [u'--verbose', u'https://www.youtube.com/watch?v=Sk9XYQMRiLY'] [debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8 [debug] avideo version 2017.7.67 [debug] Python version 2.7.12 - Linux-4.4.0-83-generic-i686-with-Trisquel-8.0-flidas [debug] exe versions: none [debug] Proxy map: {} [youtube] Sk9XYQMRiLY: Downloading webpage [youtube] Sk9XYQMRiLY: Downloading video info webpage [youtube] Sk9XYQMRiLY: Extracting video information [youtube] {22} signature length 40.40, html5 player vflC3ZxIh ERROR: Signature extraction failed: Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1155, in _decrypt_signature
video_id, player_url, s
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1086, in _extract_signature_function
raise ExtractorError("Youtube's DRM has prevented this software from obtaining the video URL", expected=True)
ExtractorError: Youtube's DRM has prevented this software from obtaining the video URL (caused by ExtractorError(u"Youtube's DRM has prevented this software from obtaining the video URL",)); please report this issue on https://notabug.org/GPast/avideo/wiki/bug . Make sure you are using the latest version; see https://notabug.org/GPast/avideo/wiki/update on how to update. Be sure to call avideo with the --verbose flag and include its complete output. Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1155, in _decrypt_signature
video_id, player_url, s
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1086, in _extract_signature_function
raise ExtractorError("Youtube's DRM has prevented this software from obtaining the video URL", expected=True)
ExtractorError: Youtube's DRM has prevented this software from obtaining the video URL Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/avideo/YoutubeDL.py", line 781, in extract_info
ie_result = ie.extract(url)
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/common.py", line 452, in extract
ie_result = self._real_extract(url)
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1787, in _real_extract
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1165, in _decrypt_signature
'Signature extraction failed: ' + tb, cause=e)
ExtractorError: Signature extraction failed: Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1155, in _decrypt_signature
video_id, player_url, s
File "/usr/local/lib/python2.7/dist-packages/avideo/extractor/youtube.py", line 1086, in _extract_signature_function
raise ExtractorError("Youtube's DRM has prevented this software from obtaining the video URL", expected=True)
ExtractorError: Youtube's DRM has prevented this software from obtaining the video URL (caused by ExtractorError(u"Youtube's DRM has prevented this software from obtaining the video URL",)); please report this issue on https://notabug.org/GPast/avideo/wiki/bug . Make sure you are using the latest version; see https://notabug.org/GPast/avideo/wiki/update on how to update. Be sure to call avideo with the --verbose flag and include its complete output.
Hi, unfortunately this happened to me too, and seems to be very common. I hope it will get fixed.
Thank you for the detailed error report!
Unfortunately, this error is intentional (although it shouldn't suggest filing a bug report... I shall fix that). In order to circumvent YouTube's DRM and gain access to the media file's URL, either some JS downloaded from YouTube needs to be executed (which avideo is built to avoid), that JS needs to be reverse-engineered (not currently practical), or YouTube needs to remove its DRM option (which doesn't seem likely in the short term). As a consequence, it's currently impossible to download those videos with DRM using avideo.
I'm extremely sorry about this, and hope it becomes possible to resolve it. If you need access to DRMed videos and are OK with the proprietary JS, YouTube-DL is able to do this.