Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Downloading BBC America Episode using MSO Authentication Fails #11263

Closed
jdunn0 opened this issue Nov 22, 2016 · 3 comments
Closed

Downloading BBC America Episode using MSO Authentication Fails #11263

jdunn0 opened this issue Nov 22, 2016 · 3 comments

Comments

@jdunn0
Copy link

@jdunn0 jdunn0 commented Nov 22, 2016

Please follow the guide below

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2016.11.18. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

  • I've verified and I assure that I'm running youtube-dl 2016.11.18

Before submitting an issue make sure you have:

  • At least skimmed through README and most notably FAQ and BUGS sections
  • Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

  • Bug report (encountered problems with youtube-dl)
  • Site support request (request for adding support for a new site)
  • Feature request (request for a new functionality)
  • Question
  • Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue


If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:

Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):

$ youtube-dl --ap-mso wavebroadband --ap-username=PRIVATE -v http://www.bbcamerica.com/shows/doctor-who/full-episodes/the-power-of-the-daleks/episode-01-episode-1-color-version
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--ap-mso', u'wavebroadband', u'--ap-username=PRIVATE', u'-v', u'http://www.bbcamerica.com/shows/doctor-who/full-episodes/the-power-of-the-daleks/episode-01-episode-1-color-version']
Type TV provider account password and press [Return]:
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.11.18
[debug] Python version 2.7.10 - Linux-4.4.21-gentoo-x86_64-Intel-R-_Core-TM-_i7-6700K_CPU_@_4.00GHz-with-gentoo-2.2
[debug] exe versions: ffmpeg 2.8.6, ffprobe 2.8.6, rtmpdump 2.4
[debug] Proxy map: {}
[generic] episode-01-episode-1-color-version: Requesting header
WARNING: Falling back on generic information extractor.
[generic] episode-01-episode-1-color-version: Downloading webpage
[generic] episode-01-episode-1-color-version: Extracting information
[download] Downloading playlist: Episode 1 [Color Version] | BBC America
[generic] playlist Episode 1 [Color Version] | BBC America: Collected 1 video ids (downloading 1 of them)
[download] Downloading video 1 of 1
[ThePlatform] b7qARN9NevsZ: Downloading SMIL data
ERROR: This content requires a valid, unexpired auth token.
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/youtube_dl/YoutubeDL.py", line 694, in extract_info
    ie_result = ie.extract(url)
  File "/usr/lib64/python2.7/site-packages/youtube_dl/extractor/common.py", line 357, in extract
    return self._real_extract(url)
  File "/usr/lib64/python2.7/site-packages/youtube_dl/extractor/theplatform.py", line 272, in _real_extract
    formats, subtitles = self._extract_theplatform_smil(smil_url, video_id)
  File "/usr/lib64/python2.7/site-packages/youtube_dl/extractor/theplatform.py", line 40, in _extract_theplatform_smil
    raise ExtractorError(error_element.attrib['abstract'], expected=True)
ExtractorError: This content requires a valid, unexpired auth token.

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):


Description of your issue, suggested solution and other information

Trying to download Doctor Who episode from BBC America with MSO Authentication and doesn't work

BBC America appears to require two forms of authentication to watch an episode in a web browser.
It asks you login to a bbcamerica.com account (free to create) to watch episodes and after logging in, you need to provide the standard MSO Authentication that other sites like truTV, TBS, CBS, etc. have, at which point the video loads and can be watched.

I'm not sure if the actual video file that youtube-dl would download requires a bbcamerica.com account too or just MSO Authentication Information.

I can provide both the MSO Authentication info and bbcamerica.com account info if that will help in debugging this.

@yan12125
Copy link
Collaborator

@yan12125 yan12125 commented Nov 22, 2016

There's a line in youtube_dl/extractor/amcnetworks.py:

    _VALID_URL = r'https?://(?:www\.)?(?:amc|bbcamerica|ifc|wetv)\.com/(?:movies/|shows/[^/]+/(?:full-episodes/)?season-\d+/episode-\d+(?:-(?:[^/]+/)?|/))(?P<id>[^/?#]+)'

Could you change it to:

    _VALID_URL = r'https?://(?:www\.)?(?:amc|bbcamerica|ifc|wetv)\.com/(?:movies/|shows/[^/]+/(?:full-episodes/)?[^/]+/episode-\d+(?:-(?:[^/]+/)?|/))(?P<id>[^/?#]+)'

And try again?

@jdunn0
Copy link
Author

@jdunn0 jdunn0 commented Nov 22, 2016

I changed that line, ran youtube-dl again and youtube-dl successfully downloaded the video.

@yan12125 yan12125 closed this in 1d6ae56 Nov 22, 2016
@yan12125
Copy link
Collaborator

@yan12125 yan12125 commented Nov 22, 2016

The change is landed and will be included in the next version. Thanks for testing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.