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

CBS Episodes Not Downloadable #15814

Closed
ghost opened this issue Mar 10, 2018 · 6 comments
Closed

CBS Episodes Not Downloadable #15814

ghost opened this issue Mar 10, 2018 · 6 comments
Labels

Comments

@ghost
Copy link

@ghost ghost commented Mar 10, 2018

Please follow the guide below

  • You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
  • Put an x into all the boxes [ ] relevant to your issue (like this: [x])
  • Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.03.10. 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 2018.03.10

Before submitting an issue make sure you have:

  • At least skimmed through the README, most notably the FAQ and BUGS sections
  • Searched the bugtracker for similar issues including closed ones
  • Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

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

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--prefer-ffmpeg', u'-o', u'Episode 01.mp4', u'http://www.cbs.com/shows/ncis-new-orleans/video/k1h2PHncp7gfeLweU9z0Mm_feo_1KGSq/ncis-new-orleans-aftershocks/', u'-v']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.03.10
[debug] Python version 2.7.14 (CPython) - Linux-4.13.0-36-generic-x86_64-with-Ubuntu-17.10-artful
[debug] exe versions: avconv 3.3.4-2, avprobe 3.3.4-2, ffmpeg 3.3.4-2, ffprobe 3.3.4-2, rtmpdump 2.4
[debug] Proxy map: {}
[CBS] k1h2PHncp7gfeLweU9z0Mm_feo_1KGSq: Downloading XML
[CBS] k1h2PHncp7gfeLweU9z0Mm_feo_1KGSq: Downloading StreamPack SMIL data
[CBS] k1h2PHncp7gfeLweU9z0Mm_feo_1KGSq: Downloading m3u8 information
[CBS] k1h2PHncp7gfeLweU9z0Mm_feo_1KGSq: Downloading RTMP SMIL data
[CBS] k1h2PHncp7gfeLweU9z0Mm_feo_1KGSq: Downloading HLS_FPS SMIL data
[CBS] k1h2PHncp7gfeLweU9z0Mm_feo_1KGSq: Downloading m3u8 information
[CBS] k1h2PHncp7gfeLweU9z0Mm_feo_1KGSq: Downloading DASH_CENC SMIL data
ERROR: None of the available releases match the specified AssetType, ProtectionScheme, and/or Format preferences
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py", line 785, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 440, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/cbs.py", line 100, in _real_extract
    return self._extract_video_info(content_id)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/cbs.py", line 79, in _extract_video_info
    'Downloading %s SMIL data' % asset_type)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/theplatform.py", line 42, in _extract_theplatform_smil
    raise ExtractorError(error_element.attrib['abstract'], expected=True)
ExtractorError: None of the available releases match the specified AssetType, ProtectionScheme, and/or Format preferences
<end of log>

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):

Note that youtube-dl does not support sites dedicated to copyright infringement. In order for site support request to be accepted all provided example URLs should not violate any copyrights.


Description of your issue, suggested solution and other information

TV show episodes unable to download

Explanation of your issue in arbitrary form goes here. Please make sure the description is worded well enough to be understood. Provide as much context and examples as possible.

Some TV show episodes or complete seasons are unable to be downloaded. It's not every show or even all episodes of every season.

If work on your issue requires account credentials please provide them or explain how one can obtain them.

@dstftw dstftw closed this Mar 10, 2018
@dstftw dstftw added the duplicate label Mar 10, 2018
@ghost
Copy link
Author

@ghost ghost commented Mar 10, 2018

Duplicate of what ticket exactly? I saw no duplicates and I saw none with any solutions.

@ghost
Copy link
Author

@ghost ghost commented Mar 18, 2018

Found another ticket here with code I test and it works to get around issues on CBS.
Changed the block starting at line 77 in /usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/cbs.py from:

tp_formats, tp_subtitles = self._extract_theplatform_smil( update_url_query(tp_release_url, query), content_id, 'Downloading %s SMIL data' % asset_type) formats.extend(tp_formats) subtitles = self._merge_subtitles(subtitles, tp_subtitles) self._sort_formats(formats)

to this:

try: tp_formats, tp_subtitles = self._extract_theplatform_smil( update_url_query(tp_release_url, query), content_id, 'Downloading %s SMIL data' % asset_type) formats.extend(tp_formats) subtitles = self._merge_subtitles(subtitles, tp_subtitles) except: print("ERROR!") self._sort_formats(formats)

This gets around the errors which were preventing downloading. Thanks to a response in #15737

@rcached
Copy link

@rcached rcached commented Mar 18, 2018

@mannweb @dstftw

Is there a comparable solutions under Windows?

I don't believe there is an option to manually edit .py extractors or a way to call a specific external extractor. But please someone correct me if I am wrong there.

@ghost
Copy link
Author

@ghost ghost commented Mar 19, 2018

I would assume that since Windows is using a .exe file, you would need to compile it from source. The problem is that sometimes the program runs into an issue and should simply fail that part of the task. At least that is what I am seeing here. Sometimes a part will hang, even with this fix in place, so I need to cancel that part with a ctrl+c to force it on to the next part.

Simply put, when youtube-dl encounters an error, it should simply state it was an error and try the next resource available for the item you are attempting to download. I see this issue with resources which are either improper (contain errors) or items that wish to take me down the sample-AES route. which is authentication not built into youtube-dl. Not sure if this is accidental on the providers end (CBS in this case) or purposely in place to "prevent" downloading.

Not sure why this simple "fix" has not been rolled into youtube-dl yet. It's basically an error catcher.

@JoshuaSCochrane
Copy link

@JoshuaSCochrane JoshuaSCochrane commented Mar 19, 2018

@rcached you could install python & download the source, make the changes mentioned (careful of whitespace - it matters with Python), and then run python youtube-dl/youtube_dl/__main__.py {all the rest of your args} - a bit of work, but not too bad (literally took me <20 mins, but YMMV), and it worked for me (at least it's currently downloading the one file it refused to before)

@patdavid
Copy link

@patdavid patdavid commented Mar 19, 2018

To clarify on @mannweb's code, the original section:

            tp_formats, tp_subtitles = self._extract_theplatform_smil(
                update_url_query(tp_release_url, query), content_id,
                'Downloading %s SMIL data' % asset_type)

should be replaced with:

            try:
                tp_formats, tp_subtitles = self._extract_theplatform_smil(
                    update_url_query(tp_release_url, query), content_id,
                    'Downloading %s SMIL data' % asset_type)
                formats.extend(tp_formats)
                subtitles = self._merge_subtitles(subtitles, tp_subtitles)
            except:
                print("ERROR!")

Watch your spaces, make sure indents match with source lines being replaced as appropriate.

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
4 participants
You can’t perform that action at this time.