# \`yt-dlp\` not downloading YouTube videos -- temporary fix

**URL:** <https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375>\
**Category:** Applications\
**Created:** [February 16, 2023, 8:17pm UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375 "2023-02-16T20:17:30Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kresimir](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/kresimir/32/73739_2.png) [@Kresimir](https://forum.endeavouros.com/u/Kresimir)\
**Post date:** [February 16, 2023, 8:17pm UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/1 "2023-02-16T20:17:30Z")

</div>

Just a quick PSA for people who, like me, are using `yt-dlp` to download and watch YouTube videos. You have probably noticed that YouTube made some changes on their end and now `yt-dlp` just prints `ERROR: Unable to extract uploader id;` and exits.

This will be fixed in the next release of `yt-dlp`, which will probably get updated in the Arch repos in a few days. In the meantime, it’s fairly easy to apply the following temporary fix:

In the file `/usr/lib/python3.10/site-packages/yt_dlp/extractor/youtube.py` change the following line (line 4049) (or comment it out by adding an octothorpe `#` in front of it):

```python
'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None,

```

to this:

```python
'uploader_id': self._search_regex(r'/(?:channel/|user/|@)([^/?&#]+)', owner_profile_url, 'uploader id', default=None),

```

The usual warning: do not run a GUI text editor with `sudo` to edit root owned files. Either use an editor that has polkit support, or a terminal text editor with `sudo`. Backup any files you’re editing in case you mess up.

Source:

> <https://github.com/yt-dlp/yt-dlp/issues/6247#issuecomment-1433096554>
>
> \### DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE
> 
> \- \[X\] I understand that I will be …\*\*blocked\*\* if I remove or skip any mandatory\\\* field
> 
> \### Checklist
> 
> \- \[X\] I'm reporting a bug unrelated to a specific site
> \- \[X\] I've verified that I'm running yt-dlp version \*\*2023.01.06\*\* (\[update instructions\](https://github.com/yt-dlp/yt-dlp#update)) or later (specify commit)
> \- \[X\] I've checked that all provided URLs are playable in a browser with the same IP and same login details
> \- \[X\] I've checked that all URLs and arguments with special characters are \[properly quoted or escaped\](https://github.com/yt-dlp/yt-dlp/wiki/FAQ#video-url-contains-an-ampersand--and-im-getting-some-strange-output-1-2839-or-v-is-not-recognized-as-an-internal-or-external-command)
> \- \[X\] I've searched the \[bugtracker\](https://github.com/yt-dlp/yt-dlp/issues?q=) for similar issues \*\*including closed ones\*\*. DO NOT post duplicates
> \- \[X\] I've read the \[guidelines for opening an issue\](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#opening-an-issue)
> 
> \### Provide a description that is worded well enough to be understood
> 
> This error started appearing to me yesterday and almost every video gave this error, but I could download the video after about 3 attempts. But today, all youtube videos are giving this error no matter how many times I try to download it. Can anyone help me?
> 
> \### Provide verbose output that clearly demonstrates the problem
> 
> \- \[X\] Run \*\*your\*\* yt-dlp command with \*\*-vU\*\* flag added (\`yt-dlp -vU \<your command line\>\`)
> \- \[X\] Copy the WHOLE output (starting with \`\[debug\] Command-line config\`) and insert it below
> 
> \### Complete Verbose Output
> 
> \`\`\`shell
> \[debug\] Command-line config: \['-vU', 'https://www.youtube.com/watch?v=aqz-KE-bpKQ'\]
> \[debug\] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
> \[debug\] yt-dlp version 2023.01.06 \[6becd25\] (zip)
> \[debug\] Python 3.9.4 (CPython x86\_64 64bit) - Linux-5.15.10-tinycore64-x86\_64-with-glibc2.34 (OpenSSL 1.1.1j 16 Feb 2021, glibc 2.34)
> \[debug\] exe versions: ffmpeg 4.4 (setts), ffprobe 4.4, phantomjs 2.1.1
> \[debug\] Optional libraries: mutagen-1.46.0, sqlite3-2.6.0
> \[debug\] Proxy map: {}
> \[debug\] Loaded 1760 extractors
> \[debug\] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
> Latest version: 2023.01.06, Current version: 2023.01.06
> yt-dlp is up to date (2023.01.06)
> \[youtube\] Extracting URL: https://www.youtube.com/watch?v=aqz-KE-bpKQ
> \[youtube\] aqz-KE-bpKQ: Downloading webpage
> \[youtube\] aqz-KE-bpKQ: Downloading android player API JSON
> \[debug\] Loading youtube-nsig.1cbba2b4 from cache
> WARNING: \[youtube\] aqz-KE-bpKQ: Native nsig extraction failed: Trying with PhantomJS
> n = \_\_Fxna8S9BSt6Xk ; 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\] aqz-KE-bpKQ: Executing signature code
> \[debug\] \[youtube\] PhantomJS command line: phantomjs --ssl-protocol=any /tmp/tmpbp71rh8v
> \[debug\] \[youtube\] Decrypted nsig \_\_Fxna8S9BSt6Xk =\> kUALy39FPpkyJw
> ERROR: \[youtube\] aqz-KE-bpKQ: 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 "/usr/local/bin/yt-dlp/yt\_dlp/extractor/common.py", line 680, in extract
> ie\_result = self.\_real\_extract(url)
> File "/usr/local/bin/yt-dlp/yt\_dlp/extractor/youtube.py", line 4049, 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/yt-dlp/yt\_dlp/extractor/common.py", line 1228, in \_search\_regex
> raise RegexNotFoundError('Unable to extract %s' % \_name)
> \`\`\`

---

<div class="post-metadata">

**Author:** ![keybreak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/keybreak/32/9257_2.png) [@keybreak](https://forum.endeavouros.com/u/keybreak)\
**Post date:** [February 16, 2023, 8:20pm UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/2 "2023-02-16T20:20:48Z")

</div>

It’s because YouTube now uses cringe `@` to denote channel names?

![honka_memes-128px-50](https://forum.endeavouros.com/uploads/default/original/3X/2/4/24cd033dc4a112faebbf8e0ac23b7f95c2607229.gif)

---

<div class="post-metadata">

**Author:** ![Kresimir](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/kresimir/32/73739_2.png) [@Kresimir](https://forum.endeavouros.com/u/Kresimir)\
**Post date:** [February 16, 2023, 8:21pm UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/3 "2023-02-16T20:21:42Z")

</div>

Yeah, exactly… So now the regular expression that looks for uploader\_id fails. 🙄

---

<div class="post-metadata">

**Author:** ![Kresimir](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/kresimir/32/73739_2.png) [@Kresimir](https://forum.endeavouros.com/u/Kresimir)\
**Post date:** [February 18, 2023, 9:39pm UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/4 "2023-02-18T21:39:12Z")

</div>

Today `yt-dlp` updated to version 2023.02.17, so this temporary fix is no longer necessary, just update.

Maybe this thread should be closed now.

---

<div class="post-metadata">

**Author:** ![muckc](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/m/ba8739/32.png) [@muckc](https://forum.endeavouros.com/u/muckc)\
**Post date:** [February 19, 2023, 2:12am UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/5 "2023-02-19T02:12:20Z")

</div>

I still haven’t got the update yet, does EOS hold back the package compare to Arch?

---

<div class="post-metadata">

**Author:** ![Amadeus666](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/amadeus666/32/76721_2.png) [@Amadeus666](https://forum.endeavouros.com/u/Amadeus666)\
**Post date:** [February 19, 2023, 2:35am UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/6 "2023-02-19T02:35:41Z")

</div>

> Does EOS hold back the package compare to Arch?

I wouldn’t think so. As far as I understand, EOS (unlike Manjaro) uses the Arch repos directly, except for a few packages exclusive to EOS, which are in the `endeavouros` repo.

Anyway, the update is there now. But maybe for packages like `yt-dlp` (i.e. `python` packages available on `pip`) it might be a better idea to install them from `pip`, or even better, `pipx`.

---

<div class="post-metadata">

**Author:** ![andrewb](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/a/85e7bf/32.png) [@andrewb](https://forum.endeavouros.com/u/andrewb)\
**Post date:** [February 19, 2023, 4:37am UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/7 "2023-02-19T04:37:36Z")

</div>

The mirror you hit for Arch Community may be behind or not syncing as quick as others mirrors.

If you use a tool like pacfinder and explore the EOS repos, there are only about 100 packages and it’s most of the themes and apps from the team, save for yad and a yay-bin package and perhaps a few others. IOW, it’s very small.

---

<div class="post-metadata">

**Author:** ![Kresimir](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/kresimir/32/73739_2.png) [@Kresimir](https://forum.endeavouros.com/u/Kresimir)\
**Post date:** [February 19, 2023, 7:03am UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/8 "2023-02-19T07:03:46Z")

</div>

> [@Amadeus666](#):
>
> But maybe for packages like `yt-dlp` (i.e. `python` packages available on `pip`) it might be a better idea to install them from `pip`, or even better, `pipx`.

Most certainly not. Especially not globally, that is, with `sudo`. You should never run `sudo pip` on Arch. If you do, you’re just creating problems for yourself when you update.

---

<div class="post-metadata">

**Author:** ![Kresimir](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/kresimir/32/73739_2.png) [@Kresimir](https://forum.endeavouros.com/u/Kresimir)\
**Post date:** [February 19, 2023, 7:05am UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/9 "2023-02-19T07:05:10Z")

</div>

> [@muckc](#):
>
> I still haven’t got the update yet, does EOS hold back the package compare to Arch?

It’s there:

```plaintext
~🐸 pacman -Si yt-dlp
Repository : community
Name : yt-dlp
Version : 2023.02.17-1
Description : A youtube-dl fork with additional features and fixes
Architecture : any
URL : https://github.com/yt-dlp/yt-dlp
Licenses : Unlicense
Groups : None
Provides : None
Depends On : python-certifi
Optional Deps : ffmpeg: for video post-processing
                  rtmpdump: for rtmp streams support
                  atomicparsley: for embedding thumbnails into m4a files
                  aria2: for using aria2 as external downloader
                  python-mutagen: For embedding thumbnail in certain formats
                  python-pycryptodomex: For decrypting AES-128 HLS streams and various other data
                  python-websockets: For downloading over websocket
Conflicts With : None
Replaces : None
Download Size : 3.45 MiB
Installed Size : 21.89 MiB
Packager : Antonio Rojas <arojas@archlinux.org>
Build Date : Fri 17 Feb 2023 15:10:09 CET
Validated By : MD5 Sum SHA-256 Sum Signature

```

---

<div class="post-metadata">

**Author:** ![Amadeus666](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/amadeus666/32/76721_2.png) [@Amadeus666](https://forum.endeavouros.com/u/Amadeus666)\
**Post date:** [February 19, 2023, 7:21am UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/10 "2023-02-19T07:21:47Z")

</div>

> [@Kresimir](#):
>
> Most certainly not.

Why not, really?

> [@Kresimir](#):
>
> You should never run `sudo pip` on Arch.

I think that’s just common knowledge that you shouldn’t use `sudo pip` unless you’re sure that’s what you want. I even mentioned using `pipx`, which is a fantastic way of managing dependencies as `pip` is very bad at that.

---

<div class="post-metadata">

**Author:** ![Kresimir](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/kresimir/32/73739_2.png) [@Kresimir](https://forum.endeavouros.com/u/Kresimir)\
**Post date:** [February 19, 2023, 7:28am UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/11 "2023-02-19T07:28:22Z")

</div>

> [@Amadeus666](#):
>
> I think that’s just common knowledge that you shouldn’t use `sudo pip` unless you’re sure that’s what you want.

On Arch, that is _never_ what you want.

> [@Amadeus666](#):
>
> Why not, really?

Because you have a package manager, `pacman`, to install packages and worry about dependencies. Everything you install using other means is invisible to `pacman`. So when you use `pacman` you’re going to get conflicts. The forum is full of posts by people who can’t update because they’ve installed Python packages with `pip` and now `pacman` is reporting file conflicts.

The same is true for `npm`, `cargo`, `gem` and other third-party package managers.

---

<div class="post-metadata">

**Author:** ![Amadeus666](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/amadeus666/32/76721_2.png) [@Amadeus666](https://forum.endeavouros.com/u/Amadeus666)\
**Post date:** [February 19, 2023, 7:59am UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/12 "2023-02-19T07:59:08Z")

</div>

> [@Kresimir](#):
>
> The forum is full of posts by people who can’t update because they’ve installed python packages with `pip` and now `pacman` is reporting file conflicts.

I’ve never faced anything like that. But then I use `pipx` to install user-level python packages. It sandboxes each package with its own dependencies. But if this is something others face, I guess they should stick to `pacman` whenever possible.

---

<div class="post-metadata">

**Author:** ![Kresimir](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/kresimir/32/73739_2.png) [@Kresimir](https://forum.endeavouros.com/u/Kresimir)\
**Post date:** [February 19, 2023, 8:06am UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/13 "2023-02-19T08:06:22Z")

</div>

I’m talking about `pip`, I’ve never heard of `pipx` and I’m not really interested in it, every Python package I need is in the repos. You’ve brought up `pipx` in the same post you advise people to use `pip`.

It’s a terrible idea to use `pip` to globally install Python packages on Arch, for reasons I’ve already mentioned. Your post contains this suggestion:

> [@Amadeus666](#):
>
> But maybe for packages like `yt-dlp` (i.e. `python` packages available on `pip`) it might be a better idea to install them from `pip`

…and it’s a dangerous suggestion, since it’s basically telling people to break their systems. That’s the only reason why I replied to it: to warn anyone who doesn’t know better. The reason wasn’t because I wanted to discuss with you the merits of `pipx`. I have no interest in that.

This thread ought to be closed now, since the update to `yt-dlp` makes the fix in the OP obsolete now.

---

<div class="post-metadata">

**Author:** ![Amadeus666](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/amadeus666/32/76721_2.png) [@Amadeus666](https://forum.endeavouros.com/u/Amadeus666)\
**Post date:** [February 19, 2023, 8:30am UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/14 "2023-02-19T08:30:12Z")

</div>

Sure man. I kinda agree with your point. But you’re being unnecessarily aggressive about it. Which, I must say, is off brand for this forum. I never asked anyone to use `sudo pip`, but it’s still great that you pointed out that it’s a bad idea. I agree with you. After you explained why you think people should stick to `pacman`, I agreed with you there as well. I simply mentioned `pipx` because that’s what I personally use. You don’t need to be interested in it.

---

<div class="post-metadata">

**Author:** ![keybreak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/keybreak/32/9257_2.png) [@keybreak](https://forum.endeavouros.com/u/keybreak)\
**Post date:** [February 19, 2023, 8:32am UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/15 "2023-02-19T08:32:18Z")

</div>

[![](https://img.youtube.com/vi/eY52Zsg-KVI/hqdefault.jpg "No need to be upset 10 HOURS LONG!!") ](https://www.youtube.com/watch?v=eY52Zsg-KVI)

---

<div class="post-metadata">

**Author:** ![Kresimir](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/kresimir/32/73739_2.png) [@Kresimir](https://forum.endeavouros.com/u/Kresimir)\
**Post date:** [February 19, 2023, 8:33am UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/16 "2023-02-19T08:33:54Z")

</div>

Oh great, again this… I’ll be back in 10 hours, I guess… 🙄

---

<div class="post-metadata">

**Author:** ![Bryanpwo](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/bryanpwo/32/130600_2.png) [@Bryanpwo](https://forum.endeavouros.com/u/Bryanpwo)\
**Post date:** [February 19, 2023, 8:58am UTC](https://forum.endeavouros.com/t/yt-dlp-not-downloading-youtube-videos-temporary-fix/37375/17 "2023-02-19T08:58:30Z")

</div>


