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

Cannot download from CBS #26993

Closed
icebluey opened this issue Nov 16, 2020 · 5 comments
Closed

Cannot download from CBS #26993

icebluey opened this issue Nov 16, 2020 · 5 comments
Labels

Comments

@icebluey
Copy link

# youtube-dl --verbose -F 'https://www.cbs.com/shows/ncis_los_angeles/video/E5K1axpPL3HdytmevkBuLXcA0oukx_KH/ncis-los-angeles-war-crimes/'

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '-F', 'https://www.cbs.com/shows/ncis_los_angeles/video/E5K1axpPL3HdytmevkBuLXcA0oukx_KH/ncis-los-angeles-war-crimes/']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.11.12
[debug] Python version 3.7.8 (CPython) - Linux-5.9.8
[debug] exe versions: ffmpeg, ffprobe
[debug] Proxy map: {}
[CBS] E5K1axpPL3HdytmevkBuLXcA0oukx_KH: Downloading XML
ERROR: Could not find XML element title; 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.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 797, in extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 532, in extract
ie_result = self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/cbs.py", line 112, in _real_extract
return self._extract_video_info(content_id)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/cbs.py", line 62, in _extract_video_info
title = xpath_text(video_data, 'videoTitle', 'title', True)
File "/usr/local/bin/youtube-dl/youtube_dl/utils.py", line 1910, in xpath_text
n = xpath_element(node, xpath, name, fatal=fatal, default=default)
File "/usr/local/bin/youtube-dl/youtube_dl/utils.py", line 1903, in xpath_element
raise ExtractorError('Could not find XML element %s' % name)
youtube_dl.utils.ExtractorError: Could not find XML element title; 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.

@remitamine
Copy link
Collaborator

remitamine commented Nov 16, 2020

youtube-dl https://www.cbs.com/shows/ncis_los_angeles/video/XQmA4fYxYp4fOUlkgAq4YhwlBJLLtJ1a/ncis-los-angeles-the-bear/
[CBS] XQmA4fYxYp4fOUlkgAq4YhwlBJLLtJ1a: Downloading XML
[CBS] XQmA4fYxYp4fOUlkgAq4YhwlBJLLtJ1a: Downloading StreamPack SMIL data
[CBS] XQmA4fYxYp4fOUlkgAq4YhwlBJLLtJ1a: Downloading m3u8 information
[CBS] XQmA4fYxYp4fOUlkgAq4YhwlBJLLtJ1a: Downloading JSON metadata
[download] Destination: NCIS - Los Angeles - The Bear-XQmA4fYxYp4fOUlkgAq4YhwlBJLLtJ1a.mp4
...

@raleeper
Copy link
Contributor

@remitamine The episode you tested with does indeed work, but the example provided by @icebluey does not. CBS appears to be using DRM on some episodes and not others.

"https://www.cbs.com/shows/ncis-new-orleans/video/_2DEJoZKRPsStgPJrekAJ5wMph_qM2jO/ncis-new-orleans-something-in-the-air-part-2/" shows the same errors, but last week's "https://www.cbs.com/shows/ncis-new-orleans/video/yGX8nbL8Db3KBG2nhau03g4i5tqV3_iU/ncis-new-orleans-something-in-the-air-part-i/" works just fine.

@BrundleSeth
Copy link

Same problem here:

$ youtube-dl https://www.cbs.com/shows/the-unicorn/video/ZlEfHIHOKkLTDAOQb5YSz8m_wdiKiCZw/the-unicorn-there-s-something-about-whoever-she-was --verbose

[debug] System config: []
[debug] User config: [u'--restrict-filenames']
[debug] Custom config: []
[debug] Command-line args: [u'https://www.cbs.com/shows/the-unicorn/video/ZlEfHIHOKkLTDAOQb5YSz8m_wdiKiCZw/the-unicorn-there-s-something-about-whoever-she-was', u'--verbose']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.11.17
[debug] Python version 2.7.12 (CPython) - Linux-4.4.0-101-generic-x86_64-with-Ubuntu-16.04-xenial
[debug] exe versions: ffmpeg 2.8.11, ffprobe 2.8.11
[debug] Proxy map: {}
[CBS] ZlEfHIHOKkLTDAOQb5YSz8m_wdiKiCZw: Downloading XML
ERROR: Could not find XML element title; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py", line 797, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 532, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/cbs.py", line 112, in _real_extract
    return self._extract_video_info(content_id)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/cbs.py", line 62, in _extract_video_info
    title = xpath_text(video_data, 'videoTitle', 'title', True)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/utils.py", line 1910, in xpath_text
    n = xpath_element(node, xpath, name, fatal=fatal, default=default)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/utils.py", line 1903, in xpath_element
    raise ExtractorError('Could not find XML element %s' % name)
ExtractorError: Could not find XML element title; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

@remitamine
Copy link
Collaborator

sorry, used the wrong URL, anyway, youtube-dl does not support DRM protected videos.

@keith-leitch
Copy link

What I'm hoping to impress on everyone is that the "Could not find XML Element" error, being reported so often from CBS.com, cannot be a DRM issue. It just makes no sense, for these reasons:

  1. CBS would not add DRM then take it off later. The list below shows links that "didn't work" then "did work" a few days later.

  2. I can't see why CBS would add DRM to OTA videos but not to Subscription videos. The list below shows that the latest episode of "Star Trek: Discovery" works.

  3. If youtube-dl updates solved the problem, then all videos would now work. Some still don't. I am not adding the full bug report for these, because I think the problem's been reported to death. If someone thinks I should, then I will.

  4. The error message does not mention DRM. It says that the downloader "Could not find the XML element.' I'm inclined to take that message at face value, and conclude that the script is sometimes missing the metadata that the downloader needs.

Examples of CBS videos that youtube-dl/c could not download before, but now can. It would be weird in the extreme for CBS to add DRM, then remove it days later.

https://www.cbs.com/shows/the-neighborhood/video/hybfwzvq_TWhJJSE4FXfT_vQB9Ky3Sr_/the-neighborhood-welcome-to-the-movement/
https://cbs.com/shows/seal-team/video/a4Af8ptKlr5gthauHnde5C9JdeJcNnWa/seal-team-god-of-war-forever-war/
https://www.cbs.com/shows/ncis-new-orleans/video/_2DEJoZKRPsStgPJrekAJ5wMph_qM2jO/ncis-new-orleans-something-in-the-air-part-2/

Examples of CBS videos that youtube-dl/c can't download today. These show that the youtube-dl patch mentioned by @october262 has not addressed this issue. Also, youtube-dlc downloads the list above, but not below.

https://www.cbs.com/shows/ncis/video/656bTfET07GnL8vgDviQnyaOwGKdaF2W/ncis-sturgeon-season/
https://www.cbs.com/shows/ncis/video/JJqb_JEapMBMVdn7FYsQMqBamGyQhaTQ/ncis-everything-starts-somewhere/
https://www.cbs.com/shows/ncis/video/HAvQcadOM_QgDzFd6yK8BZm5iTgkZCta/ncis-blood-and-treasure/
https://www.cbs.com/shows/the-unicorn/video/ZlEfHIHOKkLTDAOQb5YSz8m_wdiKiCZw/the-unicorn-there-s-something-about-whoever-she-was/
https://www.cbs.com/shows/the-unicorn/video/UqeHafhusoogPFU_YGNbfDxUYE4wkm6Z/the-unicorn-it-s-complicated/
https://www.cbs.com/shows/the-unicorn/video/72nFb7mACKi28mWkfV09uMsIKqfmkdqT/the-unicorn-it-s-the-thought-that-counts/

Examples of CBS videos that work just fine today. Notice that one of these is subscription-only. It would be weird in the extreme for CBS to add DRM to OTA video, but not subscription. Notice also that this video and the others are newer than the failures above. It would be weird in the extreme for CBS to add DRM to older videos, but not newer.

https://www.cbs.com/shows/bob-hearts-abishola/video/e3Dis09PuIcoec0ADzv7XKJGsEtw9vhw/bob-hearts-abishola-camp-bananas/
https://www.cbs.com/shows/magnum-pi/video/o_eBPsGoVAeXvXg_fozxT88bfunT_HqP/magnum-p-i-easy-money/
https://www.cbs.com/shows/young-sheldon/video/Fmt0hKA3hj05An8XK3hl_ZGmw_xgvKKp/young-sheldon-bible-camp-and-a-chariot-of-love/
https://www.cbs.com/shows/star-trek-discovery/video/73BJ1N0qerkG0WPoUKNuDPcvBdvD6fEX/star-trek-discovery-terra-firma-part-1/

The only logical conclusion is that this is not, in fact, a DRM issue. It seems like stamping a problem "DRM" is always the simplest answer, but it just makes no sense, here. I wish I was better with Python so that I could be more help, but I hope that someone who is can see the logic of my argument.

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

No branches or pull requests

5 participants