ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
132.42k stars 10.04k forks source link

ERROR: no suitable InfoExtractor for URL with newest version #18735

Open gleb09 opened 5 years ago

gleb09 commented 5 years ago

Please follow the guide below


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

Before submitting an issue make sure you have:

What is the purpose of your issue?


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] Command-line args: [u'-v', u'http://www.youtube.com/watch?v=BaW_jenozKcj']
[debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
[debug] youtube-dl version 2019.01.02
[debug] Python version 2.7.11 - Windows-2003Server-5.2.3790-SP2
[debug] exe versions: ffmpeg N-75573-g1d0487f, ffprobe N-75573-g1d0487f, rtmpdump 2.4
[debug] Proxy map: {}
...
<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

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. If work on your issue requires account credentials please provide them or explain how one can obtain them.

I successfully downloaded an audiobook episode from BBC by using:

youtube-dl https://www.bbc.co.uk/sounds/play/m0001t93

However, I found I had done that using the 2018-11-23 version. So I updated youtube-dl to the newest version with:

youtube-dl --update

and now trying to download the same thing again I get:

youtube-dl https://www.bbc.co.uk/sounds/play/m0001t93
[bbc] m0001t93: Downloading webpage
ERROR: no suitable InfoExtractor for URL https://www.bbc.co.uk/programmes/None

I can't seem to find any documentation on InfoExtractor or other users who have had this error.

gleb09 commented 5 years ago

After having a look at the YoutubeDL.py code that error only appears in one place. Line 826-827:

    else:
        self.report_error('no suitable InfoExtractor for URL %s' % url)

This only happens if the list of ies is empty but the bbc InfoExtractor didn't change from the 2018-11-23 veriosn so I don't know what's going on here.

bhrgunatha commented 5 years ago

I have the same issue with another BBC URL:

youtube-dl https://www.bbc.co.uk/sounds/play/m0001xqk  

The BBC has most likely changed their site layout or delivery mechanism and the Info Extractor can't find the correct URL instead it gets https://www.bbc.co.uk/programmes/None

gleb09 commented 5 years ago

But why would a previous version of ytdl work?

JonasCz commented 5 years ago

I get what seems to be the same issue on this link: https://www.bbc.com/weather/features/49780950

[jonas@Laptop Desktop]$ youtube-dl --verbose https://www.bbc.com/weather/features/49780950
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.bbc.com/weather/features/49780950']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.10.22
[debug] Python version 3.7.4 (CPython) - Linux-4.9.196-1-MANJARO-x86_64-with-arch-Manjaro-Linux
[debug] exe versions: ffmpeg 4.2.1, ffprobe 4.2.1, rtmpdump 2.4
[debug] Proxy map: {}
[bbc] 49780950: Downloading webpage
ERROR: no suitable InfoExtractor for URL https://www.bbc.co.uk/programmes/None
  File "/usr/bin/youtube-dl", line 11, in <module>
    load_entry_point('youtube-dl==2019.10.22', 'console_scripts', 'youtube-dl')()
  File "/usr/lib/python3.7/site-packages/youtube_dl/__init__.py", line 474, in main
    _real_main(argv)
  File "/usr/lib/python3.7/site-packages/youtube_dl/__init__.py", line 464, in _real_main
    retcode = ydl.download(all_urls)
  File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line 2018, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line 807, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line 869, in process_ie_result
    extra_info=extra_info)
  File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line 830, in extract_info
    self.report_error('no suitable InfoExtractor for URL %s' % url)
  File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line 624, in report_error
    self.trouble(error_message, tb)
  File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line 586, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())
bhrgunatha commented 2 years ago

I have a workaround for BBC urls containing /sounds/play/

Replacing /sounds/play/ with /programmes/ seems to work
e.g.

https://www.bbc.co.uk/sounds/play/m0011l16 - FAILS with the InfoExtractor error
https://www.bbc.co.uk/programmes/m0011l16 - SUCCEEDS.

This doesn't work for other urls like @JonasCz 's report : e.g. https://www.bbc.com/weather/features/49780950

I think the BBC InfoExtractor needs work to find the correct URL.

Vangelis66 commented 2 years ago

@bhrgunatha claimed:

https://www.bbc.co.uk/sounds/play/m0011l16 - FAILS with the InfoExtractor error

Not true; latest official release 2021.06.06 WORKS AS EXPECTED with Sounds URIs:

youtube-dl -F "https://www.bbc.co.uk/sounds/play/m0011l16" -v =>

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-F', 'https://www.bbc.co.uk/sounds/play/m0011l16','-v']
[debug] Encodings: locale cp1253, fs mbcs, out cp737, pref cp1253
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.4.4 (CPython) - Windows-Vista-6.0.6003-SP2
[debug] exe versions: none
[debug] Proxy map: {}
[bbc.co.uk] m0011l16: Downloading video page
[bbc.co.uk] m0011l16: Downloading playlist JSON
[bbc.co.uk] m0011l15: Downloading media selection JSON
[bbc.co.uk] m0011l15: Downloading MPD manifest
[bbc.co.uk] m0011l15: Downloading m3u8 information
[bbc.co.uk] m0011l15: Downloading MPD manifest
[bbc.co.uk] m0011l15: Downloading m3u8 information
[info] Available formats for m0011l15:
format code                                   extension  resolution note
af_akamai_nonuk_dash-audio_eng_1=48000        m4a        audio only [en] DASH audio   48k , m4a_dash container, mp4a.40.5 (48000Hz)
af_akamai_nonuk_dash_https-audio_eng_1=48000  m4a        audio only [en] DASH audio   48k , m4a_dash container, mp4a.40.5 (48000Hz)
af_akamai_nonuk_hls-51                        mp4        audio only   51k , mp4a.40.5@ 48k
af_akamai_nonuk_hls_https-51                  mp4        audio only   51k , mp4a.40.5@ 48k
af_akamai_nonuk_dash-audio_eng_1=96000        m4a        audio only [en] DASH audio   96k , m4a_dash container, mp4a.40.5 (48000Hz)
af_akamai_nonuk_dash_https-audio_eng_1=96000  m4a        audio only [en] DASH audio   96k , m4a_dash container, mp4a.40.5 (48000Hz) (best)

NB: The above is from an overseas IP, UK IPs are offered additional higher qualities (128k+320k).