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
131.31k stars 9.95k forks source link

[YouTube] Unable to extract uploader id #31530

Open Shituation opened 1 year ago

Shituation commented 1 year ago

This issue is solved: read the Description below If you still want to comment after reading that, think again: first read this post below to avoid your comment being deleted or marked as spam.

Checklist

Verbose log

[YouTube] Unable to extract uploader id ``` yt-dlp.exe" -x -4 --download-archive "C:\Youtube-dlp\download_history.txt" --external-downloader aria2c --restrict-filenames --match-filter "description*='ESTRENO'" --audio-format mp3 -o "E:\FOLDER\RENAME\%%(title)s.%%(ext)s" "https://www.youtube.com/watch?v=lcusH7ksCNw&list=PLuXU-g7mjkKPvWSFq7xI_N4Xj7A3iSOU3&index=67" -v [debug] Command-line config: ['-x', '-4', '--download-archive', 'C:\\Youtube-dlp\\download_history.txt', '--external-downloader', 'aria2c', '--restrict-filenames', '--match-filter', "description*='ESTRENO'", '--audio-format', 'mp3', '-o', 'E:\\A.PROCESAR\\RENAME\\%%(title)s.%%(ext)s', 'https://www.youtube.com/watch?v=lcusH7ksCNw&list=PLuXU-g7mjkKPvWSFq7xI_N4Xj7A3iSOU3&index=67', '-v'] [debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8 [debug] yt-dlp version 2023.01.06 [6becd25] (win_exe) [debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.19044-SP0 (OpenSSL 1.1.1k 25 Mar 2021) [debug] exe versions: ffmpeg N-109541-g94aa70d757-20230109 (setts), ffprobe N-109541-g94aa70d757-20230109, phantomjs 2.1.1 [debug] Optional libraries: Cryptodome-3.16.0, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4 [debug] Proxy map: {} [debug] Loaded 1760 extractors [debug] Loading archive file 'C:\\Youtube-dlp\\ download_history.txt' [youtube:tab] Extracting URL: https://www.youtube.com/watch?v=lcusH7ksCNw&list=PLuXU-g7mjkKPvWSFq7xI_N4Xj7A3iSOU3&index=67 [youtube:tab] Downloading playlist PLuXU-g7mjkKPvWSFq7xI_N4Xj7A3iSOU3 - add --no-playlist to download just the video lcusH7ksCNw [youtube:tab] PLuXU-g7mjkKPvWSFq7xI_N4Xj7A3iSOU3: Downloading webpage [youtube:tab] Extracting URL: https://www.youtube.com/playlist?list=PLuXU-g7mjkKPvWSFq7xI_N4Xj7A3iSOU3 [youtube:tab] PLuXU-g7mjkKPvWSFq7xI_N4Xj7A3iSOU3: Downloading webpage [youtube:tab] PLuXU-g7mjkKPvWSFq7xI_N4Xj7A3iSOU3: Redownloading playlist API JSON with unavailable videos [download] Downloading playlist: LA VENGANZA SERÁ TERRIBLE (Programas) [youtube:tab] Playlist LA VENGANZA SERÁ TERRIBLE (Programas): Downloading 67 items of 67 [download] Downloading item 1 of 67 [youtube] Extracting URL: https://www.youtube.com/watch?v=3h5-QPbKoVg [youtube] 3h5-QPbKoVg: Downloading webpage [youtube] 3h5-QPbKoVg: Downloading android player API JSON [debug] Loading youtube-nsig.1cbba2b4 from cache WARNING: [youtube] 3h5-QPbKoVg: Native nsig extraction failed: Trying with PhantomJS n = GDZ_5inyZ3r6QSP ; player = https://www.youtube.com/s/player/1cbba2b4/player_ias.vflset/en_US/base.js [debug] [youtube] Signature function returned an exception; please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U [youtube] 3h5-QPbKoVg: Executing signature code [debug] [youtube] PhantomJS command line: phantomjs "--ssl-protocol=any" "C:\Users\USER\AppData\Local\Temp\tmp88untizd" [debug] [youtube] Decrypted nsig GDZ_5inyZ3r6QSP => ECvndyupC0ex4A ERROR: [youtube] 3h5-QPbKoVg: Unable to extract uploader id; please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U File "yt_dlp\extractor\common.py", line 680, in extract File "yt_dlp\extractor\youtube.py", line 4049, in _real_extract File "yt_dlp\extractor\common.py", line 1228, in _search_regex ```

Description

[Revised by @dirkf] OP actually reported the bug for yt-dlp.

The problem, which was revealed by a change in the metadata served by YouTube, applied to both youtube-dl and yt-dlp and has been fixed in both programs.

There is a release of yt-dlp that includes the fix. See #31535 for discussion of whether this would be a good choice for you.

See below for ways to update to a fixed version of youtube-dl. Using -U doesn't (yet) work. A new release may be created, including the final fix, some time later than now. However, there is now a nightly build from the latest code here.

There's no point posting your log that shows the error now: feel free to thumb-up this post. Also, be aware that the initial patch still flagged the original issue as a WARNING; the fully fixed yt-dl doesn't. Consider raising a separate issue if your fixed yt-dl shows a different error.

jmazzitelli commented 1 year ago

@nPHYN1T3 I feel your pain. I just got here due to this error and was at a loss just like you. Reading the dev instructions and trying it, I got it to work. This is how:

  1. Clone this repo: git clone https://github.com/ytdl-org/youtube-dl.git
  2. Go into the youtube-dl directory of the new git repo you just cloned:cd youtube-dl/ (note the "dash" - in youtube-dl)
  3. Run python passing in the -m option and the YT URL: python -m youtube_dl <YT URL> (note the underscore _ in youtube_dl)

You'll get a warning still about the "unable to extract uploader_id" but it will keep going.

nPHYN1T3 commented 1 year ago

I don't use git so I didn't clone, I just grabbed the master zipped. I suspect there is some difference in directory structure. When I ran python -m youtube_dl it just died, don't remember the error but it died. i.e. it didn't do anything but kick out the error. So I opened the py to see what it was doing. Was only a few lines basically importing the youtube-dl folder in the same directory so it seemed it should have worked. I'm adapting things for the yt-dlp. I had never looked at it but seems like a dead drop in replacement. From what I gleaned on some other posts it was just a different program but looks like a fork with some give and take on features but a lot more up to date. I tested it and it works so I'm switching though I'm not sure it will 100% work with my stuff yet. I mean it works but not sure all the same options and args are there yet...just checking things out now and it's bed time so I'm a tad frazzled.

dirkf commented 1 year ago

...[didn't really understand #31535]...

Crikey, that was all described in the posts of the linked issue by bashonly and myself. Also, USE PIP to install from the repo if you have a working Python, and get one if you don't.

CimimUxMaio commented 1 year ago

For those using the python Iibrary, You can install the master branch using: pip install git+https://github.com/ytdl-org/youtube-dl.git@master#egg=youtube_dl

I think it is simpler.

Vangelis66 commented 1 year ago

Running from updated master branch source, for Windows users, with CPython installed and already in your %PATH% - the yt-dlp way 😜 ...

Navigate in your browser to: https://github.com/ytdl-org/youtube-dl

Locate and expand the green <> Code button

Download the git source via the Download ZIP button (actual link: https://api.github.com/repos/ytdl-org/youtube-dl/zipball/master)

Once on disk, extract "here" (natively via Windows Explorer or via your preferred extractor - I use 7-zip) - the archive should be extracted onto a disk location where your Windows account has write privileges...

Open the extracted folder (named ytdl-org-youtube-dl-2dd6c6e); inside it, create a youtube-dl.cmd file with below content:

@py -bb -Werror -Xdev "%~dp0youtube_dl\__main__.py" %*
The lot should look like below: ![yt-dl](https://user-images.githubusercontent.com/9669492/219827481-757380b8-d7b4-4c60-9502-52e428c613fc.png)

Open your Windows Command Prompt, then cd to the inside of the extracted folder.

You can then run `youtube-dl` by invoking the newly created `.cmd` (aka `.bat`) file: ```shell D:\Python3716-32\ytdl-org-youtube-dl-2dd6c6e>youtube-dl -vF "p7FCgw_GlWc" [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['-vF', 'p7FCgw_GlWc'] [debug] Encodings: locale cp1253, fs utf-8, out utf-8, pref cp1253 [debug] youtube-dl version 2023.02.17 [debug] Python version 3.7.16 (CPython) - Windows-Vista-6.0.6003-SP2 [debug] exe versions: none [debug] Proxy map: {} [youtube] p7FCgw_GlWc: Downloading webpage [youtube] Confirming age [youtube] p7FCgw_GlWc: Downloading API JSON [debug] [youtube] Decrypted nsig a_OjXN0Ftn_LILMF => JZ8oiE-DX4INFQ [debug] [youtube] Decrypted nsig xCl4hvTncz9D4J2b => fwrKBQxXzwmYhA WARNING: unable to extract uploader id; 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. [info] Available formats for p7FCgw_GlWc: format code extension resolution note 249-0 webm audio only tiny 51k , webm_dash container, opus @ 51k(48000Hz), 3.89MiB 249-1 webm audio only tiny 51k , webm_dash container, opus @ 51k(48000Hz), 3.89MiB 250-0 webm audio only tiny 66k , webm_dash container, opus @ 66k(48000Hz), 5.04MiB 250-1 webm audio only tiny 66k , webm_dash container, opus @ 66k(48000Hz), 5.05MiB 251-0 webm audio only tiny 127k , webm_dash container, opus @127k(48000Hz), 9.65MiB 251-1 webm audio only tiny 127k , webm_dash container, opus @127k(48000Hz), 9.70MiB 140-0 m4a audio only tiny 129k , m4a_dash container, mp4a.40.2@129k (44100Hz), 9.83MiB 140-1 m4a audio only tiny 129k , m4a_dash container, mp4a.40.2@129k (44100Hz), 9.83MiB 160 mp4 256x144 144p 33k , mp4_dash container, avc1.4d400c@ 33k, 30fps, video only, 2.53MiB 278 webm 256x144 144p 80k , webm_dash container, vp9@ 80k,30fps, video only, 6.12MiB 394 mp4 256x144 144p 84k , mp4_dash container, av01.0.00M.08@ 84k, 30fps, video only, 6.40MiB 133 mp4 426x240 240p 55k , mp4_dash container, avc1.4d4015@ 55k, 30fps, video only, 4.23MiB 242 webm 426x240 240p 68k , webm_dash container, vp9@ 68k,30fps, video only, 5.17MiB 395 mp4 426x240 240p 189k , mp4_dash container, av01.0.00M.08@ 189k, 30fps, video only, 14.41MiB 134 mp4 640x360 360p 114k , mp4_dash container, avc1.4d401e@ 114k, 30fps, video only, 8.67MiB 243 webm 640x360 360p 130k , webm_dash container, vp9@ 130k,30fps, video only, 9.90MiB 396 mp4 640x360 360p 301k , mp4_dash container, av01.0.01M.08@ 301k, 30fps, video only, 22.87MiB 135 mp4 854x480 480p 193k , mp4_dash container, avc1.4d401f@ 193k, 30fps, video only, 14.71MiB 244 webm 854x480 480p 208k , webm_dash container, vp9@ 208k,30fps, video only, 15.81MiB 397 mp4 854x480 480p 547k , mp4_dash container, av01.0.04M.08@ 547k, 30fps, video only, 41.59MiB 247 webm 1280x720 720p 402k , webm_dash container, vp9@ 402k,30fps, video only, 30.57MiB 136 mp4 1280x720 720p 452k , mp4_dash container, avc1.4d401f@ 452k, 30fps, video only, 34.36MiB 398 mp4 1280x720 720p 1112k , mp4_dash container, av01.0.05M.08@1112k, 30fps, video only, 84.46MiB 248 webm 1920x1080 1080p 1618k , webm_dash container, vp9@1618k, 30fps, video only, 122.86MiB 399 mp4 1920x1080 1080p 1759k , mp4_dash container, av01.0.08M.08@1759k, 30fps, video only, 133.61MiB 137 mp4 1920x1080 1080p 2850k , mp4_dash container, avc1.640028@2850k, 30fps, video only, 216.45MiB 18 mp4 640x360 360p 162k , avc1.42001E, 30fps, mp4a.40.2 (22050Hz) (best) D:\Python3716-32\ytdl-org-youtube-dl-2dd6c6e> ```
Pigeonwang08 commented 1 year ago

I met the same problme today 2/18 So how can I solve this problem on Linux ? I‘m a fresh user that have no idea plz this is really important for me

dirkf commented 1 year ago

How was your yt-dl installed?

dirkf commented 1 year ago

For those using the python library, you can install the master branch using: pip install git+https://github.com/ytdl-org/youtube-dl.git@master#egg=youtube_dl

I think it is simpler.

Indeed. What is the effect of #egg=youtube_dl?

You may need to add --force-reinstall since pip can't tell that this is a new version. For instance, @paulrougieux recommends this:

pip install --upgrade --force-reinstall "git+https://github.com/ytdl-org/youtube-dl.git"

To avoid requiring git, use the zip download offered from the "<> Code>Download ZIP" pull-down on the main page, but changing the extension to .tar.gz; or use the .tar.gz source download from the nightly release page.

Some package managers eliminate pip from the Python installation itself. Eg, with apt, you also have to install python-pip (2.7) or python3-pip.

In any pip commands it's recommended to use python -m pip instead of just pip, where python is the name of the Python that you want or expect to run yt-dl, say python3.9. Be sure to use the same Python that is running when yt-dl runs.

See also https://adamj.eu/tech/2019/03/11/pip-install-from-a-git-repository/.

joyspce commented 1 year ago
Python version 3.8.10 (CPython) - Linux-4.19.0-23-amd64-x86_64-with-glibc2.29 ``` [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['--ignore-config', '-v', '-F', '3h5-QPbKoVg'] [debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8 [debug] youtube-dl version 2021.12.17 [debug] Python version 3.8.10 (CPython) - Linux-4.19.0-23-amd64-x86_64-with-glibc2.29 [debug] exe versions: ffmpeg 4.2.7, ffprobe 4.2.7 [debug] Proxy map: {} [youtube] 3h5-QPbKoVg: Downloading webpage ERROR: Unable to extract uploader id; 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 815, in wrapper return func(self, *args, **kwargs) File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info ie_result = ie.extract(url) File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract ie_result = self._real_extract(url) File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1794, in _real_extract 'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None, File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1012, in _search_regex raise RegexNotFoundError('Unable to extract %s' % _name) youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; 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. ```
VinnieThePooh commented 1 year ago

Problem confirmed on Arch Linux (installed via pacman)

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--no-playlist', '-r', '10M', '--verbose', '<video_url>']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.10.9 (CPython) - Linux-6.1.11-arch1-1-x86_64-with-glibc2.37
[debug] exe versions: ffmpeg 5.1.2, ffprobe 5.1.2
[debug] Proxy map: {}
[youtube] Op_IcE9PVps: Downloading webpage
[youtube] Downloading just video <short_url> because of --no-playlist
ERROR: Unable to extract uploader id; 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/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python3.10/site-packages/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1794, in _real_extract
    'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None,
  File "/usr/lib/python3.10/site-packages/youtube_dl/extractor/common.py", line 1012, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug 

So, is it about markup change?

camopants commented 1 year ago

UK based. Similar to all above. Consistent behaviour across multiple candidate videos.

Python version 2.7.17 (CPython) - Linux-4.15.0-204-generic-x86_64-with-Ubuntu-18.04-bionic

$ youtube-dl "https://www.youtube.com/watch?v=grCTXGW3sxQ&list=PL5wBMT6Z03J6mzp6UD2TNtWpYo3Bh5ULA"

$ youtube-dl "https://www.youtube.com/watch?v=grCTXGW3sxQ"

$ youtube-dl -i PL5wBMT6Z03J6mzp6UD2TNtWpYo3Bh5ULA

All the same result.

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--verbose', u'https://www.youtube.com/watch?v=grCTXGW3sxQ&list=PL5wBMT6Z03J6mzp6UD2TNtWpYo3Bh5ULA']
[debug] Encodings: locale UTF-8, fs UTF-8, out None, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 2.7.17 (CPython) - Linux-4.15.0-204-generic-x86_64-with-Ubuntu-18.04-bionic
[debug] exe versions: ffmpeg 3.4.11, ffprobe 3.4.11
[debug] Proxy map: {}
[youtube:tab] Downloading playlist PL5wBMT6Z03J6mzp6UD2TNtWpYo3Bh5ULA - add --no-playlist to just download video grCTXGW3sxQ
[youtube:tab] PL5wBMT6Z03J6mzp6UD2TNtWpYo3Bh5ULA: Downloading webpage
[youtube:tab] PL5wBMT6Z03J6mzp6UD2TNtWpYo3Bh5ULA: Downloading webpage
[download] Downloading playlist: The Guild: Season 1
[youtube:tab] playlist The Guild: Season 1: Downloading 10 videos
[download] Downloading video 1 of 10
[youtube] grCTXGW3sxQ: Downloading webpage
ERROR: Unable to extract uploader id; 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 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1794, in _real_extract
    'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None,
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1012, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract uploader id; 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.
comicsansgreenki commented 1 year ago

Installed via pip3 on Fedora 37 - version 2021.12.17. Error log matches above.

buhtz commented 1 year ago

Please let me also add my output

Python version 3.9.2 (CPython) - Linux-5.10.0-21-amd64-x86_64-with-glibc2.31 ``` [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['--verbose', '-f', 'best', '--format', 'mp4', 'https://youtu.be/QPiI6DTX0uk'] [debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8 [debug] youtube-dl version 2021.12.17 [debug] Python version 3.9.2 (CPython) - Linux-5.10.0-21-amd64-x86_64-with-glibc2.31 [debug] exe versions: ffmpeg 4.3.5-0, ffprobe 4.3.5-0 [debug] Proxy map: {} [youtube] QPiI6DTX0uk: Downloading webpage [youtube] QPiI6DTX0uk: Downloading MPD manifest ERROR: Unable to extract uploader id; 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 "/home/admin/.local/lib/python3.9/site-packages/youtube_dl/YoutubeDL.py", line 815, in wrapper return func(self, *args, **kwargs) File "/home/admin/.local/lib/python3.9/site-packages/youtube_dl/YoutubeDL.py", line 836, in __extract_info ie_result = ie.extract(url) File "/home/admin/.local/lib/python3.9/site-packages/youtube_dl/extractor/common.py", line 534, in extract ie_result = self._real_extract(url) File "/home/admin/.local/lib/python3.9/site-packages/youtube_dl/extractor/youtube.py", line 1794, in _real_extract 'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None, File "/home/admin/.local/lib/python3.9/site-packages/youtube_dl/extractor/common.py", line 1012, in _search_regex raise RegexNotFoundError('Unable to extract %s' % _name) youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; 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. ```
pimsdsigd commented 1 year ago

Hello I run on Windows without Python and the solution described above does not apply to this configuration, will there be a new build that is working or should we just move on to another project ?

dirkk0 commented 1 year ago

For Linux:

nicolaasjan commented 1 year ago

Hello I run on Windows without Python and the solution described above does not apply to this configuration, will there be a new build that is working or should we just move on to another project ?

You could use the daily build from here. Or move to yt-dlp.

nachanon commented 1 year ago

I have this problem with "latest" 2021.12.17 (i.e. 1+ year old) release too; the problem cropped up just today. But unlike many people who reported here: I actually use YouTube-DL from a very old (GNU/Linux) system, so YouTuble-DLP is not an option for me...

$ youtube-dl --version
2021.12.17
$ youtube-dl -f 18 https://www.youtube.com/watch?v=57US7TpC38w
[youtube] 57US7TpC38w: Downloading webpage
[youtube] 57US7TpC38w: Downloading player 11e3a4ec
ERROR: Unable to extract uploader id; 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.
$ youtube-dl -f 18 --verbose https://www.youtube.com/watch?v=57US7TpC38w
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-f', u'18', u'--verbose', u'https://www.youtube.com/watch?v=57US7TpC38w']
[debug] Encodings: locale TIS-620, fs TIS-620, out TIS-620, pref TIS-620
[debug] youtube-dl version 2021.12.17
[debug] Python version 2.7.3 (CPython) - Linux-3.2.0-4-686-pae-i686-with-debian-7.0
[debug] exe versions: avconv 0.8.18-6, avprobe 0.8.18-6, ffmpeg 0.8.10-6, ffprobe 0.8.18-6, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] 57US7TpC38w: Downloading webpage
ERROR: Unable to extract uploader id; 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 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1794, in _real_extract
    'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None,
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1012, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract uploader id; 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.

$ 

Regarding a use of current Git version, I do know how to use Git, but there is also more complication: I have found that current master commit of YouTube-DL at the time of this writing (2dd6c6e) also failed to run on my configuration, for a different reason (very likely a regression)...

$ git checkout master
Switched to branch 'master'
$ git checkout -q 2dd6c6e
$ git clean -qxdf ; git checkout -f
$ make
mkdir -p zip
for d in youtube_dl youtube_dl/downloader youtube_dl/extractor youtube_dl/postprocessor ; do \
      mkdir -p zip/$d ;\
      cp -pPR $d/*.py zip/$d/ ;\
    done
touch -t 200001010101 zip/youtube_dl/*.py zip/youtube_dl/*/*.py
mv zip/youtube_dl/__main__.py zip/
cd zip ; zip -q ../youtube-dl youtube_dl/*.py youtube_dl/*/*.py __main__.py
rm -rf zip
echo '#!/usr/bin/env python' > youtube-dl
cat youtube-dl.zip >> youtube-dl
rm youtube-dl.zip
chmod a+x youtube-dl
COLUMNS=80 /usr/bin/env python youtube_dl/__main__.py --help | /usr/bin/env python devscripts/make_readme.py
/usr/bin/env python devscripts/make_contributing.py README.md CONTRIBUTING.md
/bin/sh: 1: pandoc: not found
/bin/sh: 1: [: =: unexpected operator
pandoc -f markdown -t plain README.md -o README.txt
make: pandoc: Command not found
make: *** [README.txt] Error 127
$ ./youtube-dl -f 18 https://www.youtube.com/watch?v=57US7TpC38w
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "./youtube-dl/__main__.py", line 19, in <module>
  File "./youtube-dl/youtube_dl/__init__.py", line 475, in main

  File "./youtube-dl/youtube_dl/__init__.py", line 465, in _real_main

  File "./youtube-dl/youtube_dl/YoutubeDL.py", line 2081, in download
  File "./youtube-dl/youtube_dl/YoutubeDL.py", line 801, in extract_info
  File "./youtube-dl/youtube_dl/extractor/common.py", line 415, in suitable
  File "/usr/lib/python2.7/re.py", line 190, in compile
    return _compile(pattern, flags)
  File "/usr/lib/python2.7/re.py", line 242, in _compile
    raise error, v # invalid expression
sre_constants.error: nothing to repeat
$ 

Out of curiosity, I decided to do git bisect test (2021.12.17 a.k.a. 5014bd6 good, 2dd6c6e bad) to see what caused this regression, and I found that:

e19ec5232216fd801ded88728df5b50bfb05c1cc is the first bad commit
commit e19ec5232216fd801ded88728df5b50bfb05c1cc
Author: dirkf <fieldhouse@gmx.net>
Date:   Sat Feb 11 03:25:14 2023 +0000

    [Vimeo] Support /user{video_id}/{slug} URL format

:040000 040000 295c3c4303d73aa07a4d79f13a3acc31aa67a624 b1578ac329c110ea3096b31c38a4bfee4fd92f1b M  youtube_dl

So I went back to current master (2dd6c6e) and backed this offending commit out using git show e19ec52 | patch -p1 -R, then tried again... and voila!

$ git checkout -qf 2dd6c6e ; git clean -qxdf
$ git show e19ec52 | patch -p1 -R
patching file youtube_dl/extractor/vimeo.py
$ make
mkdir -p zip
for d in youtube_dl youtube_dl/downloader youtube_dl/extractor youtube_dl/postprocessor ; do \
      mkdir -p zip/$d ;\
      cp -pPR $d/*.py zip/$d/ ;\
    done
touch -t 200001010101 zip/youtube_dl/*.py zip/youtube_dl/*/*.py
mv zip/youtube_dl/__main__.py zip/
cd zip ; zip -q ../youtube-dl youtube_dl/*.py youtube_dl/*/*.py __main__.py
rm -rf zip
echo '#!/usr/bin/env python' > youtube-dl
cat youtube-dl.zip >> youtube-dl
rm youtube-dl.zip
chmod a+x youtube-dl
COLUMNS=80 /usr/bin/env python youtube_dl/__main__.py --help | /usr/bin/env python devscripts/make_readme.py
/usr/bin/env python devscripts/make_contributing.py README.md CONTRIBUTING.md
/bin/sh: 1: pandoc: not found
/bin/sh: 1: [: =: unexpected operator
pandoc -f markdown -t plain README.md -o README.txt
make: pandoc: Command not found
make: *** [README.txt] Error 127
$ ./youtube-dl -f 18 https://www.youtube.com/watch?v=57US7TpC38w
[youtube] 57US7TpC38w: Downloading webpage
WARNING: unable to extract uploader id; 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.
[download] Destination: Jefferz Koi () -English Cover- (Gen Hoshino)-57US7TpC38w.mp4
[download] 100% of 13.21MiB in 27:01
$ 

And once I installed Pandoc on the system and re-run Make, it completed and I could finally install the patched YouTube-DL on my system:

$ make
pandoc -f markdown -t plain README.md -o README.txt
/usr/bin/env python devscripts/prepare_manpage.py youtube-dl.1.temp.md
pandoc -s -f markdown -t man youtube-dl.1.temp.md -o youtube-dl.1
rm -f youtube-dl.1.temp.md
/usr/bin/env python devscripts/bash-completion.py
/usr/bin/env python devscripts/zsh-completion.py
/usr/bin/env python devscripts/fish-completion.py
/usr/bin/env python devscripts/make_supportedsites.py docs/supportedsites.md
$ su
Password: 
# make install
install -d /usr/local/bin
install -m 755 youtube-dl /usr/local/bin
install -d /usr/local/man/man1
install -m 644 youtube-dl.1 /usr/local/man/man1
install -d /etc/bash_completion.d
install -m 644 youtube-dl.bash-completion /etc/bash_completion.d/youtube-dl
install -d /usr/local/share/zsh/site-functions
install -m 644 youtube-dl.zsh /usr/local/share/zsh/site-functions/_youtube-dl
install -d /etc/fish/completions
install -m 644 youtube-dl.fish /etc/fish/completions/youtube-dl.fish
# 

^ So this is the current "workaround" procedure for people who are using (and/or care about) older systems. I'll probably report the regression later as a separate bug once I have time to.


YouTube-DL (original version tried): 2021.12.17 (source) YouTube-DL (new, failed to compile): 2021.12.17-185-g2dd6c6e (Git 17-Feb-2023) YouTube-DL (new, working): 2021.12.17-185-g2dd6c6e (Git 17-Feb-2023) with e19ec52 backed out Python: 2.7.3 (Debian) Git: 1.7.10.4 (Debian) System: Debian GNU/Linux 7.0 "Wheezy" i386

bagasme commented 1 year ago

I'm chiming in...

On current master (commit 2dd6c6edd8e0fc5e45865b8e6d865e35147de772), listing available formats (-F) for Eat Bulaga Ending as test video, the error is downgraded to warning and the operation successed:

$ python -m youtube_dl --verbose -F https://www.youtube.com/watch?v=A9LEbObHj4Q
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '-F', 'https://www.youtube.com/watch?v=A9LEbObHj4Q']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Git HEAD: 2dd6c6edd8
[debug] Python version 3.9.2 (CPython) - Linux-5.15.94-local-x86_64-with-glibc2.31
[debug] exe versions: ffmpeg 4.3.5-0, ffprobe 4.3.5-0
[debug] Proxy map: {}
[youtube] A9LEbObHj4Q: Downloading webpage
[debug] [youtube] Decrypted nsig yxdppYjbtnVbZgzk => oo8-RwB1XhDfkQ
[debug] [youtube] Decrypted nsig wVL_yTGRKUoYhvNy => 2WZ00dc808wTlg
WARNING: unable to extract uploader id; 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.
[info] Available formats for A9LEbObHj4Q:
format code  extension  resolution note
249          webm       audio only tiny   40k , webm_dash container, opus @ 40k (48000Hz), 428.06KiB
250          webm       audio only tiny   50k , webm_dash container, opus @ 50k (48000Hz), 528.82KiB
251          webm       audio only tiny   92k , webm_dash container, opus @ 92k (48000Hz), 964.77KiB
140          m4a        audio only tiny  129k , m4a_dash container, mp4a.40.2@129k (44100Hz), 1.32MiB
278          webm       256x144    144p   97k , webm_dash container, vp9@  97k, 30fps, video only, 1020.93KiB
160          mp4        256x144    144p  111k , mp4_dash container, avc1.4d400c@ 111k, 30fps, video only, 1.14MiB
242          webm       426x240    240p  213k , webm_dash container, vp9@ 213k, 30fps, video only, 2.18MiB
133          mp4        426x240    240p  233k , mp4_dash container, avc1.4d4015@ 233k, 30fps, video only, 2.38MiB
243          webm       640x360    360p  369k , webm_dash container, vp9@ 369k, 30fps, video only, 3.77MiB
134          mp4        640x360    360p  526k , mp4_dash container, avc1.4d401e@ 526k, 30fps, video only, 5.37MiB
244          webm       854x480    480p  704k , webm_dash container, vp9@ 704k, 30fps, video only, 7.19MiB
135          mp4        854x480    480p  962k , mp4_dash container, avc1.4d401f@ 962k, 30fps, video only, 9.83MiB
247          webm       1280x720   720p 1456k , webm_dash container, vp9@1456k, 30fps, video only, 14.86MiB
136          mp4        1280x720   720p 1824k , mp4_dash container, avc1.64001f@1824k, 30fps, video only, 18.62MiB
18           mp4        640x360    360p  626k , avc1.42001E, 30fps, mp4a.40.2 (44100Hz), 6.40MiB
22           mp4        1280x720   720p 1952k , avc1.64001F, 30fps, mp4a.40.2 (44100Hz) (best)

you-get still works as before.

pukkandan commented 1 year ago

@dirkf, you are going to have a terrible time playing whack-a-mole with duplicates. I suggest you should pin this, along with update instructions (pip / https://github.com/ytdl-patched/youtube-dl) to hopefully reduce the number of dups being opened

dirkf commented 1 year ago

"are going to"?!

dirkf commented 1 year ago

@nachanon, you're trying too hard. Just install the checked-out master in place of your previous installation ... at least once #31597 is fixed. Thanks.

Your Python probably doesn't have a pip that can do that directly from the repo, or perhaps not even from a local archive, but you can just copy the checked-out youtube_dl directory in place of the one in your installation (after backing up, obvs).

Also, @camopants, @s1sw4nto (but #31600).

jmazzitelli commented 1 year ago

FWIW: suggesting that fork of yt-dlp does not help some people, particularly those who cannot upgrade (for whatever reason) to Python 3.7. I fit in with that camp. yt-dlp is not an option for me as I am pinned on py 3.6 and cannot upgrade.

That said, running from master worked for me. See: https://github.com/ytdl-org/youtube-dl/issues/31530#issuecomment-1435447033

bagasme commented 1 year ago

@dirkf, you are going to have a terrible time playing whack-a-mole with duplicates. I suggest you should pin this, along with update instructions (pip / https://github.com/ytdl-patched/youtube-dl) to hopefully reduce the number of dups being opened

I think so.

FYI, I came to this issue when browsing this repo. The topmost commit was 2dd6c6edd8e0fc5e45865b8e6d865e35147de772, which mentioned this issue (and it is related).

I guess that when this issue has been closed and fixed, a new release should be made and inform users to immediately upgrade.

dirkf commented 1 year ago

@jmazzitelli, like @nPHYN1T3, just use pip with your relatively up-to-date Python.

Also @dirkk0, @buhtz, @comicsansgreenki, @huzzam, @jamiedaniel, @joyspce, @VinnieThePooh, @LaTaupeEspagnole.

nPHYN1T3 commented 1 year ago

Pass...pip, pypy, composer, npm, yada yada malware bloat installers.

jmazzitelli commented 1 year ago

Thanks. I'm a python noob - I have no idea if installing stuff via pip will screw up my 3.6 environment (its very important I do not impact my py 3.6) .. so I avoided it.

And, actually, I was able to grab a patched version from here, and that worked good, too. Just replaced my old youtube-dl with that and all worked well.

So, there are at least 2 ways people can fix this problem without worrying about that yt-dlp fork.

Either run from master or get that patched youtube-dl.

dirkf commented 1 year ago

... I have no idea if installing stuff via pip will screw up my 3.6 environment (its very important I do not impact my py 3.6) .. so I avoided it.

No, pip is a core feature of your Python installation, so use it.

The ability to install directly from a git repo, in particular from GitHub, is fairly recent. v20.3.4 is the last version that works in 2.7, 3.5 and later. For other versions check the pip changelog: eg, 3.2 needs 7.1.2, 3.4 needs 19.1.1 (thanks @Vangelis66).

i-am-dan commented 1 year ago

Thanks. I'm a python noob - I have no idea if installing stuff via pip will screw up my 3.6 environment (its very important I do not impact my py 3.6) .. so I avoided it.

And, actually, I was able to grab a patched version from here, and that worked good, too. Just replaced my old youtube-dl with that and all worked well.

So, there are at least 2 ways people can fix this problem without worrying about that yt-dlp fork.

Either run from master or get that patched youtube-dl.

I was able to pip install the source package and can confirm the fix. I'm a novice-intermediate with python and I don't believe this install will affect your environment since it's just a pip install.

gspears333 commented 1 year ago

This issue also hit me today, 1st time ever I've had a youtube-dl bug. I have verified my installation is current via the youtube-dl -U switch. It occurred when trying to download youtube vid ( https://www.youtube.com/watch?v=Jnc77gMihPo ) on my Windows 10 OS HP laptop. Verbose log for you -- thanks and kind regards:

Python version 3.4.4 (CPython) - Windows-10-10.0.19041 ``` F:\SETUP\Programs\HP_6570b>youtube-dl --verbose https://www.youtube.com/watch?v=Jnc77gMihPo [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['--verbose', 'https://www.youtube.com/watch?v=Jnc77gMihPo'] [debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252 [debug] youtube-dl version 2021.12.17 [debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041 [debug] exe versions: none [debug] Proxy map: {} [youtube] Jnc77gMihPo: Downloading webpage ERROR: Unable to extract uploader id; 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 "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 815, in wrapper File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 836, in __extract_info File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 534, in extract File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1794, in _real_extract File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 1012, in _search_regex youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; 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. F:\SETUP\Programs\HP_6570b> ```
dirkf commented 1 year ago

@gspears333, see https://github.com/ytdl-org/youtube-dl/issues/31530#issuecomment-1435304041, https://github.com/ytdl-org/youtube-dl/issues/31530#issuecomment-1435615065, and #31535.

jmazzitelli commented 1 year ago

@gspears333 and also see https://github.com/ytdl-org/youtube-dl/issues/31530#issuecomment-1435687661

gspears333 commented 1 year ago

@gspears333, see #31530 (comment), #31530 (comment), and #31535.

Dude -- you the bomb! Thanks and the patch (the .exe version) has been successful on my yt download. Thanks again,....

Tyrewt commented 1 year ago

Error remains after running youtube-dl -U: youtube-dl is up-to-date (2021.12.17) - Has this issue been fixed or am I misunderstanding?

dirkf commented 1 year ago

To acquire the fix review the thread above, depending on your installation type. See also #31535.

dirkf commented 1 year ago

After the issue showed up in the UK last night, I looked at problem video 3h5-QPbKoVg:

'uploader': 'Audio Visual Clips',
'uploader_id': 'NA',
'channel': 'Audio Visual Clips',
'channel_id': 'UC9AY3VP-VqMJh_Uj_1BbSPA',
'channel_url': 'https://www.youtube.com/channel/UC9AY3VP-VqMJh_Uj_1BbSPA',

In this page the @... value appears here:

<span itemprop="author" itemscope itemtype="http://schema.org/Person">
  <link itemprop="url" href="http://www.youtube.com/@Audio-Visual-Clips">
  <link itemprop="name" content="Audio Visual Clips">
</span>

And here, but this is just a navigation link:

<script type="application/ld+json" nonce="cgNt_K7hab_AuFX-K8HbPA">
{
  '@context': 'http://schema.org',
  '@type': 'BreadcrumbList',
  'itemListElement': [
    {
      '@type': 'ListItem',
      'position': 1,
      'item': {
        '@id': 'http://www.youtube.com/@Audio-Visual-Clips',
        'name': 'Audio Visual Clips'
      }
    }
  ]
}
</script>

And in the ytInitialPlayerResponse:

"ownerProfileUrl":"http://www.youtube.com/@Audio-Visual-Clips"

And in the ytInitialData, hidden in metadata attached to videoSecondaryInfoRenderer.owner, and also in the secondary video channel list and play-next items that come from the same uploader/channel.

While UC9AY3VP-VqMJh_Uj_1BbSPA appears in

<meta itemprop="channelId" content="UC9AY3VP-VqMJh_Uj_1BbSPA">

And in the ytInitialPlayerResponse

"channelId":"UC9AY3VP-VqMJh_Uj_1BbSPA"
...
"externalChannelId":"UC9AY3VP-VqMJh_Uj_1BbSPA"

To summarise:

value\location HTML videoDetails microformat twoColumnWatchNextResults
Audio Visual Clips author>name author ownerChannelName owner...title
/user/Audio... -none- -none- -none- -none-
/@Audio-Visual-Clips author>url ownerProfileUrl -none- owner...canonicalBaseUrl
UC9AY3VP-VqMJh_Uj_1BbSPA channelId channelId externalChannelId owner...browseId

In the final column I skipped some excessively deeply nested equivalents.

Now look at the yt-dl test video BaW_jenozKc, where these values are expected:

                'uploader': 'Philipp Hagemeister',
                'uploader_id': 'phihag',
                'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/phihag',
                'channel': 'Philipp Hagemeister',
                'channel_id': 'UCLqxVugv74EIW3VWh2NOa3Q',
                'channel_url': r're:https?://(?:www\.)?youtube\.com/channel/UCLqxVugv74EIW3VWh2NOa3Q',

In the page that is now being served:

value\location HTML videoDetails microformat twoColumnWatchNextResults
Philipp Hagemeister author>name author ownerChannelName owner...title
phihag -none- -none- -none -none
/user/phihag -none- -none- -none- -none
/@PhilippHagemeister author>url ownerProfileUrl -none- owner...canonicalBaseUrl
UCLqxVugv74EIW3VWh2NOa3Q channelId channelId externalChannelId owner...browseId

So this supports the theory that YT is migrating to channel URLs like /@{channel} instead of /channel/{channel_id}, though not (yet) redirecting from the latter. And the existing test-cases can't be saved, which is a pain considering how many there are.

Proposed final resolution:

coletdjnz commented 1 year ago

https://github.com/ytdl-org/youtube-dl/issues/31530#issuecomment-1435734719: Proposed final resolution:

  • uploader is the author text value
  • channel is the same
  • uploader_id becomes the @... value
  • channel_id is channelId
  • uploader_url is the author URL with /@...
  • channel_url is /channel/{channel_id} at least while that is valid.

In yt-dlp we're looking at changing it to something similar:

dwpoint commented 1 year ago

@nicolaasjan Thanks, your answer helped. Why doesn't the library itself correct this error? I have the latest version.

udippel commented 1 year ago

Instead of messing up my install with #31535 or likewise: when could we expect an update through youtube-dl -U, please?

Sudo-null7 commented 1 year ago

Similar issue youtube changed there @ user stuff that youtube-dl hasn't implemented a fix for? due to this being a new thing


User@home:~$ youtube-dl "ytsearch:test"
[download] Downloading playlist: test
[youtube:search] query "test": Downloading page 1
[youtube:search] playlist test: Downloading 1 videos
[download] Downloading video 1 of 1
[youtube] 0l17q0EplGs: Downloading webpage
ERROR: Unable to extract uploader id; 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.

also happens with a URL

Cheeseless commented 1 year ago

Similar issue maybe youtube did something that youtube-dl hasn't implemented a fix for?

The issue has been fixed already, there's just no release made for it for some reason so everyone's getting pointed at a manual update process in #31535. I can't imagine what that reason might be, though.

dirkf commented 1 year ago

when could we expect an update through youtube-dl -U, please?

Not soon enough to avoid the update methods already documented, which is why they were.

HalfDemon commented 1 year ago
Python version 3.4.4 (CPython) - Windows-10-10.0.22000 ``` PS C:\Users\monic> youtube-dl.exe https://www.youtube.com/watch?v=7DBVWouX_Qg --verbose [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['https://www.youtube.com/watch?v=7DBVWouX_Qg', '--verbose'] [debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252 [debug] youtube-dl version 2021.12.17 [debug] Python version 3.4.4 (CPython) - Windows-10-10.0.22000 [debug] exe versions: ffmpeg 2022-03-21-git-505a7d39cd-full_build-www.gyan.dev, ffprobe 2022-03-21-git-505a7d39cd-full_build-www.gyan.dev [debug] Proxy map: {} [youtube] 7DBVWouX_Qg: Downloading webpage [youtube] 7DBVWouX_Qg: Downloading m3u8 information [youtube] 7DBVWouX_Qg: Downloading MPD manifest ERROR: Unable to extract uploader id; 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 "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 815, in wrapper File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 836, in __extract_info File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 534, in extract File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1794, in _real_extract File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 1012, in _search_regex youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; 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. ```
Vangelis66 commented 1 year ago

The ability to install directly from a git repo, in particular from GitHub, is fairly recent. (pip) v20.3.4 is the last version that works in py2.7 and later (except py3.2, needs pip v7.1.2).

In py3.4, the last compatible pip version is 19.1.1 :wink: ; this is important to Windows XP diehards not on py2.7.18, because py3.4.x is the highest py3 version compatible with that OS... After 19.1.1, came 19.2, which dropped support for any py3 version < 3.5 (but did keep support for py2.7 - and that support, like you said, was kept until (& including) pip v20.3.4) ...

acche commented 1 year ago

ERROR: Unable to extract uploader id; How to resolve it?

sunneo commented 1 year ago
Python version 3.4.4 (CPython) - Windows-10-10.0.19041 ``` [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['https://www.youtube.com/watch?v=n0Y1ezAu2pg', '--verbose'] [debug] Encodings: locale cp950, fs mbcs, out cp950, pref cp950 [debug] youtube-dl version 2021.12.17 [debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041 [debug] exe versions: ffmpeg N-92752-g16ec62bbf4, ffprobe N-92752-g16ec62bbf4 [debug] Proxy map: {} [youtube] n0Y1ezAu2pg: Downloading webpage ERROR: Unable to extract uploader id; 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 "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 815, in wrapper File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 836, in __extract_info File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 534, in extract File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1794, in _real_extract File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 1012, in _search_regex youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; 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. ```
mercer commented 1 year ago

Similar behavior as with other reports in this thread.

Python version 3.10.9 (CPython) - macOS-13.1-arm64-arm-64bit ``` ➜ youtube-dl --verbose https://www.youtube.com/playlist\?list\=PLCeA6DzL9P4vhMbHjDUmL2hlEPMssyL1i [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['--verbose', 'https://www.youtube.com/playlist?list=PLCeA6DzL9P4vhMbHjDUmL2hlEPMssyL1i'] [debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8 [debug] youtube-dl version 2021.12.17 [debug] Git HEAD: 17c872fb5 [debug] Python version 3.10.9 (CPython) - macOS-13.1-arm64-arm-64bit [debug] exe versions: ffmpeg 5.1.2, ffprobe 5.1.2, rtmpdump 2.4 [debug] Proxy map: {} [youtube:tab] PLCeA6DzL9P4vhMbHjDUmL2hlEPMssyL1i: Downloading webpage [download] Downloading playlist: Biochar Workshop: What, Why and How? [youtube:tab] playlist Biochar Workshop: What, Why and How?: Downloading 6 videos [download] Downloading video 1 of 6 [youtube] svNg5w7WY0k: Downloading webpage ERROR: Unable to extract uploader id; 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 "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 815, in wrapper return func(self, *args, **kwargs) File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 836, in __extract_info ie_result = ie.extract(url) File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/extractor/common.py", line 534, in extract ie_result = self._real_extract(url) File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1794, in _real_extract 'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None, File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/extractor/common.py", line 1012, in _search_regex raise RegexNotFoundError('Unable to extract %s' % _name) youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; 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. ```
JohnTRL commented 1 year ago

Y'all, go /youtube_dl/extractor/common.py. Line 983, change: fatal=True to fatal=False

s1sw4nto commented 1 year ago

Please update binary releases for Linux, compatible with python 2.6 or 2.7

nachanon commented 1 year ago

@dirkf,

@nachanon, you're trying too hard. Just install the checked-out master in place of your previous installation.

You misread my comment: I explicitly said that I had to revert some non-related commit for current Git-master YouTube-DL (2dd6c6e) to even start issuing the first request from my system-- which runs Python 2.7.3.

For that reason (now known as bug #31597), "Just install the checked-out master" will simply not work on my setup; and since the comment contains an exact procedure to make it work, hiding my comment is a disservice to other users who are fumbling in the dark to make it run from systems of similar age, a bearing similar range of Python version honestly.

YouTube-DL: 2021.12.17-185-g2dd6c6e (Git 17-Feb-2023) with e19ec52 backed out Python: 2.7.3 (Debian) System: Debian GNU/Linux 7.0 "Wheezy" i386

udippel commented 1 year ago

Not soon enough to avoid the update methods already documented, which is why they were.

Okay, so I should follow #31535, I guess. Went there, but was unclear what do do, what I need. Don't want to mess up my system. *buntu 22.04, python3.

If youtube-dl -U is not to be expected very soon, it might be good to write a comprehensive 'Manual Update' for the most common OSes, and maybe python*.