youtube-dl icon indicating copy to clipboard operation
youtube-dl copied to clipboard

AMC broken - cannot download anything.

Open xxtensazenxx opened this issue 2 years ago • 2 comments

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.

xxtensazenxx avatar Jun 04 '22 20:06 xxtensazenxx

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.

dirkf avatar Jun 05 '22 22:06 dirkf

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.

dirkf avatar Jun 05 '22 22:06 dirkf