youtube-dl
youtube-dl copied to clipboard
AMC broken - cannot download anything.
Checklist
- [X] I'm reporting a broken site support
- [X] I've verified that I'm running youtube-dl version 2021.12.17
- [X] I've checked that all provided URLs are alive and playable in a browser
- [X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
- [X] I've searched the bugtracker for similar issues including closed ones
Verbose log
youtube-dl -v --ap-mso Verizon --ap-username CENSORED--ap-password CENSORED https://www.amc.com/shows/61st-street/episodes/season-1-man-on-fire--1053948
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'--ap-mso', u'Verizon', u'--ap-username', u'PRIVATE', u'--ap-password', u'PRIVATE', u'https://www.amc.com/shows/61st-street/episodes/season-1-man-on-fire--1053948']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 2.7.18 (CPython) - Linux-5.4.0-90-generic-x86_64-with-Ubuntu-20.04-focal
[debug] exe versions: none
[debug] Proxy map: {}
[AMCNetworks] shows/61st-street/episodes/season-1-man-on-fire--1053948: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 404: Not Found (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 634, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2288, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/usr/lib/python2.7/urllib2.py", line 435, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 548, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 473, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 556, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
Description
Cannot download any videos from AMC's website even with MSO login. Tried multiple videos, none on the website work.
Same error from UK with no MSO login.
This was returned with the 404 response to the API URL https://content-delivery-gw.svc.ds.amcn.com/api/v2/content/amcn/AMC/url/shows/61st-street/episodes/season-1-man-on-fire--1053948 :
{
"error": {
"isRedirect": false,
"parameters": {
"network": "AMC",
"tenant": "amcn",
"mocks": false,
"device": "web",
"headers": {
"amcn-user-state": "{\"entitlements\":[\"amc_unauth\"],\"device\":\"\",\"mvpd\":\"\"}"
}
},
"url": "/shows/61st-street/episodes/season-1-man-on-fire--1053948",
"msg": "This ID returned a 204"
},
"status": 404,
"success": false
}
It would be useful to see what the API URL returns if you paste it into the address bar of your browser when playing the show.
Fetching the API URL is the first thing the extractor does. It doesn't have any code for extracting the Authorization
token, which from the look of the site JS might be returned from the MSO login as the access_token
in a response cookie. It seems to have become a bit OAuth2-ish. This is potentially addressed by the AdobePassIE
class that is an indirect superclass of the AMCNetworksIE
extractor, but I don't think the necessary code is ever called.
Has this ever worked recently? I think we have the issue from #30182:
- video host changed from ThePlatform to BrightCove
- content is DRM-protected (WideVine ?).
Obviously the second point limits the utility of addressing the first. However Fairplay DRM was used with ThePlatform before and the links could be modified to access unencrypted content.