2023.07.06 YouTube: ERROR: unable to download video data: HTTP Error 403: Forbidden

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[x] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I'm running yt-dlp version 2023.07.06 (update instructions) 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
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and I'm willing to share it if required

Provide a description that is worded well enough to be understood
$ yt-dlp https://www.youtube.com/watch?v=nJ6A6GC_ki4
[youtube] Extracting URL: https://www.youtube.com/watch?v=nJ6A6GC_ki4
[youtube] nJ6A6GC_ki4: Downloading webpage
[youtube] nJ6A6GC_ki4: Downloading ios player API JSON
[youtube] nJ6A6GC_ki4: Downloading android player API JSON
[youtube] nJ6A6GC_ki4: Downloading m3u8 information
[info] nJ6A6GC_ki4: Downloading 1 format(s): 244+251
ERROR: unable to download video data: HTTP Error 403: Forbidden

Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
$ yt-dlp -vU https://www.youtube.com/watch?v=nJ6A6GC_ki4
[debug] Command-line config: ['-vU', 'https://www.youtube.com/watch?v=nJ6A6GC_ki4']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[b532a3481]
[debug] Lazy loading extractors is disabled
[debug] Python 3.10.12 (CPython x86_64 64bit) - Linux-5.15.0-73-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.2 15 Mar 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2
[debug] Optional libraries: Cryptodome-3.18.0, brotli-1.0.9, certifi-2023.05.07, mutagen-1.46.0, secretstorage-3.3.1, sqlite3-2.6.0, websockets-11.0.3
[debug] Proxy map: {}
[debug] Loaded 1863 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>yt-dlp is up to date<EMAIL_ADDRESS>[youtube] Extracting URL: https://www.youtube.com/watch?v=nJ6A6GC_ki4
[youtube] nJ6A6GC_ki4: Downloading webpage
[youtube] nJ6A6GC_ki4: Downloading ios player API JSON
[youtube] nJ6A6GC_ki4: Downloading android player API JSON
[youtube] nJ6A6GC_ki4: Downloading m3u8 information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] nJ6A6GC_ki4: Downloading 1 format(s): 244+251
[debug] Invoking http downloader on "https://rr2---sn-5hne6n6e.googlevideo.com/videoplayback?expire=1692195317&ei=lYXcZNyWCpuK6dsPiJGg-AI&ip=<IP_ADDRESS>&id=o-AECIz8FuVZ__W_EfhNGd0Ur8IEVQtwyI7kypC6j4Tr7O&itag=244&source=youtube&requiressl=yes&mh=MH&mm=31%2C26&mn=sn-5hne6n6e%2Csn-4g5edn6r&ms=au%2Conr&mv=u&mvi=2&pl=24&gcr=nl&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=12357755&dur=246.346&lmt=1575098546134993&mt=1692172857&fvip=2&keepalive=yes&fexp=24007246%2C24363392&c=IOS&txp=5531432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgO-WT4WtR7GwGTUM9uiMGZbPK9XOvrUr1wGYyy0bBvIoCIFwxrI0FPp9Fag6KGjJZQMnC66QMC0qUYMHWWznZTmKv&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl&lsig=AG3C_xAwRQIhAKMiNOfsIDWyn-cD4aUaPHX_6iGLhIK4Wqidhh4bUtgZAiB_pHuBsf3atSGZKKBmcsjKNN4hrCwYMEIakqlMB-PtUQ%3D%3D"
ERROR: unable to download video data: HTTP Error 403: Forbidden
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/networking/_urllib.py", line 438, in _send
    res = opener.open(urllib_req, timeout=float(request.extensions.get('timeout') or self.timeout))
  File "/usr/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 4059, in urlopen
    return self._request_director.send(req)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/networking/common.py", line 114, in send
    response = handler.send(request)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/networking/_helper.py", line 203, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/networking/common.py", line 325, in send
    return self._send(request)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/networking/_urllib.py", line 443, in _send
    raise HTTPError(UrllibResponseAdapter(e.fp), redirect_loop='redirect error' in str(e)) from e
yt_dlp.networking.exceptions.HTTPError: HTTP Error 403: Forbidden

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 3377, in process_info
    partial_success, real_download = self.dl(fname, new_info)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 3116, in dl
    return fd.download(name, new_info, subtitle)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/common.py", line 455, in download
    ret = self.real_download(filename, info_dict)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/http.py", line 364, in real_download
    establish_connection()
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/http.py", line 120, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 4078, in urlopen
    raise _CompatHTTPError(e) from e
yt_dlp.networking.exceptions._CompatHTTPError: HTTP Error 403: Forbidden

Can you run with --check-formats and post log pls?

Same here. Test video: https://youtu.be/cVxpsUiq_a4
E:\Scripts>yt-dlp https://youtu.be/cVxpsUiq_a4  --check-formats [youtube] Extracting URL: https://youtu.be/cVxpsUiq_a4 [youtube] cVxpsUiq_a4: Downloading webpage [youtube] cVxpsUiq_a4: Downloading android player API JSON [info] Testing format 248 [info] Testing format 251 [info] cVxpsUiq_a4: Downloading 1 format(s): 248+251 [download] Resuming download at byte 10044612 ERROR: unable to download video data: HTTP Error 403: Forbidden

Same here. Test video: https://youtu.be/cVxpsUiq_a4

E:\Scripts>yt-dlp https://youtu.be/cVxpsUiq_a4  --check-formats
[youtube] Extracting URL: https://youtu.be/cVxpsUiq_a4
[youtube] cVxpsUiq_a4: Downloading webpage
[youtube] cVxpsUiq_a4: Downloading android player API JSON
[info] Testing format 248
[info] Testing format 251
[info] cVxpsUiq_a4: Downloading 1 format(s): 248+251
[download] Resuming download at byte 10044612
ERROR: unable to download video data: HTTP Error 403: Forbidden

That's a different issue. You need to update.

I have the same issue. And it started yesterday. Even for videos that was already downloaded earlier I have this error:
ERROR: unable to download video data: HTTP Error 403: Forbidden
So, looking for solution/patch..

Reminder that this issue is for version 2023.07.06+.
If you are on anything older, please update - you are running into a different issue that was already fixed in the previous release.
If someone can reproduce this issue on 2023.07.06+, please post a verbose log with --check-formats so we can confirm the type of issue this is.

Same here. Test video: https://youtu.be/cVxpsUiq_a4

E:\Scripts>yt-dlp https://youtu.be/cVxpsUiq_a4  --check-formats
[youtube] Extracting URL: https://youtu.be/cVxpsUiq_a4
[youtube] cVxpsUiq_a4: Downloading webpage
[youtube] cVxpsUiq_a4: Downloading android player API JSON
[info] Testing format 248
[info] Testing format 251
[info] cVxpsUiq_a4: Downloading 1 format(s): 248+251
[download] Resuming download at byte 10044612
ERROR: unable to download video data: HTTP Error 403: Forbidden

That's a different issue. You need to update.

Thank you, all fixed after upgrading.

Reminder that this issue is for version 2023.07.06+.
If you are on anything older, please update - you are running into a different issue that was already fixed in the previous release ahead of YouTube rolling out a change.
If someone can reproduce this issue on 2023.07.06+, please post a verbose log with --check-formats so we can confirm the type of issue this is.

root@vm3312288:~# yt-dlp -vU https://www.youtube.com/watch?v=nJ6A6GC_ki4 --check-formats
[debug] Command-line config: ['-vU', 'https://www.youtube.com/watch?v=nJ6A6GC_ki4', '--check-formats']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[b532a3481]
[debug] Lazy loading extractors is disabled
[debug] Python 3.10.12 (CPython x86_64 64bit) - Linux-5.15.0-73-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.2 15 Mar 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2
[debug] Optional libraries: Cryptodome-3.18.0, brotli-1.0.9, certifi-2023.05.07, mutagen-1.46.0, secretstorage-3.3.1, sqlite3-2.6.0, websockets-11.0.3
[debug] Proxy map: {}
[debug] Loaded 1863 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>yt-dlp is up to date<EMAIL_ADDRESS>[youtube] Extracting URL: https://www.youtube.com/watch?v=nJ6A6GC_ki4
[youtube] nJ6A6GC_ki4: Downloading webpage
[youtube] nJ6A6GC_ki4: Downloading ios player API JSON
[youtube] nJ6A6GC_ki4: Downloading android player API JSON
[youtube] nJ6A6GC_ki4: Downloading m3u8 information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] Testing format 244
[info] Unable to download format 244. Skipping...
[info] Testing format 606
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 48
[download] Destination: /tmp/tmp7thl7cci.tmp
[download] Got error: HTTP Error 403: Forbidden
  File "/usr/local/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/__init__.py", line 1008, in main
    _exit(*variadic(_real_main(argv)))
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/__init__.py", line 998, in _real_main
    return ydl.download(all_urls)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 3518, in download
    self.__download_wrapper(self.extract_info)(
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 3493, in wrapper
    res = func(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1564, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1575, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1731, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1790, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2878, in process_video_result
    formats_to_download = list(format_selector({
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2360, in selector_function
    yield from f(ctx)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2459, in final_selector
    return selector_function(ctx_copy)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2371, in selector_function
    picked_formats = list(f(ctx))
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2380, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2449, in selector_function
    yield matches[format_idx - 1]
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/utils/_utils.py", line 2177, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2341, in _check_formats
    yield from self._check_formats(formats)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2115, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 3116, in dl
    return fd.download(name, new_info, subtitle)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/common.py", line 455, in download
    ret = self.real_download(filename, info_dict)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/hls.py", line 375, in real_download
    return self.download_and_append_fragments(ctx, fragments, info_dict)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/fragment.py", line 524, in download_and_append_fragments
    download_fragment(fragment, ctx)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/fragment.py", line 469, in download_fragment
    for retry in RetryManager(self.params.get('fragment_retries'), error_callback):
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/utils/_utils.py", line 5092, in __iter__
    self.error_callback(self.error, self.attempt, self.retries)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/fragment.py", line 466, in error_callback
    self.report_retry(err, count, retries, frag_index, fatal)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/common.py", line 401, in report_retry
    RetryManager.report_retry(
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/utils/_utils.py", line 5099, in report_retry
    return error(f'{e}. Giving up after {count - 1} retries') if count > 1 else error(str(e))
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/common.py", line 404, in <lambda>
    error=IDENTITY if not fatal else lambda e: self.report_error(f'\r[download] Got error: {e}'),
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1053, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 981, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

ERROR: fragment 1 not found, unable to continue
  File "/usr/local/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/__init__.py", line 1008, in main
    _exit(*variadic(_real_main(argv)))
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/__init__.py", line 998, in _real_main
    return ydl.download(all_urls)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 3518, in download
    self.__download_wrapper(self.extract_info)(
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 3493, in wrapper
    res = func(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1564, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1575, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1731, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1790, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2878, in process_video_result
    formats_to_download = list(format_selector({
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2360, in selector_function
    yield from f(ctx)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2459, in final_selector
    return selector_function(ctx_copy)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2371, in selector_function
    picked_formats = list(f(ctx))
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2380, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2449, in selector_function
    yield matches[format_idx - 1]
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/utils/_utils.py", line 2177, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2341, in _check_formats
    yield from self._check_formats(formats)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2115, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 3116, in dl
    return fd.download(name, new_info, subtitle)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/common.py", line 455, in download
    ret = self.real_download(filename, info_dict)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/hls.py", line 375, in real_download
    return self.download_and_append_fragments(ctx, fragments, info_dict)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/fragment.py", line 525, in download_and_append_fragments
    result = append_fragment(
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/fragment.py", line 489, in append_fragment
    self.report_error(f'fragment {frag_index} not found, unable to continue')
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1053, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 981, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

[info] Unable to download format 606. Skipping...
[info] Testing format 135
[info] Unable to download format 135. Skipping...
[info] Testing format 231
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 48
[download] Destination: /tmp/tmpr31nefhu.tmp
[download] Got error: HTTP Error 403: Forbidden
  File "/usr/local/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/__init__.py", line 1008, in main
    _exit(*variadic(_real_main(argv)))
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/__init__.py", line 998, in _real_main
    return ydl.download(all_urls)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 3518, in download
    self.__download_wrapper(self.extract_info)(
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 3493, in wrapper
    res = func(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1564, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1575, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1731, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1790, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2878, in process_video_result
    formats_to_download = list(format_selector({
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2360, in selector_function
    yield from f(ctx)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2459, in final_selector
    return selector_function(ctx_copy)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2371, in selector_function
    picked_formats = list(f(ctx))
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2380, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2449, in selector_function
    yield matches[format_idx - 1]
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/utils/_utils.py", line 2177, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2341, in _check_formats
    yield from self._check_formats(formats)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 2115, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 3116, in dl
    return fd.download(name, new_info, subtitle)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/common.py", line 455, in download
    ret = self.real_download(filename, info_dict)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/hls.py", line 375, in real_download
    return self.download_and_append_fragments(ctx, fragments, info_dict)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/fragment.py", line 524, in download_and_append_fragments
    download_fragment(fragment, ctx)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/fragment.py", line 469, in download_fragment
    for retry in RetryManager(self.params.get('fragment_retries'), error_callback):
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/utils/_utils.py", line 5092, in __iter__
    self.error_callback(self.error, self.attempt, self.retries)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/fragment.py", line 466, in error_callback
    self.report_retry(err, count, retries, frag_index, fatal)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/common.py", line 401, in report_retry
    RetryManager.report_retry(
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/utils/_utils.py", line 5099, in report_retry
    return error(f'{e}. Giving up after {count - 1} retries') if count > 1 else error(str(e))
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/downloader/common.py", line 404, in <lambda>
    error=IDENTITY if not fatal else lambda e: self.report_error(f'\r[download] Got error: {e}'),
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 1053, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/yt_dlp/YoutubeDL.py", line 981, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

ERROR: fragment 1 not found, unable to continue

after updating to 2023.07.06 it worked for me again. had the problem with 2<IP_ADDRESS>900

Not seen for me with yt-dlp 2023.06.22 (but SOCS issue), nor with yt-dl master WIP with SOCS fix, using --test.

Not seen for me either on nightly:
yt-dlp -vU --ignore-config --check-formats https://www.youtube.com/watch?v=nJ6A6GC_ki4
[debug] Command-line config: ['-vU', '--ignore-config', '--check-formats', 'https://www.youtube.com/watch?v=nJ6A6GC_ki4']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[876b70c8e] (zip)
[debug] Python 3.8.10 (CPython x86_64 64bit) - Linux-5.4.0-156-generic-x86_64-with-glibc2.29 (OpenSSL 1.1.1f  31 Mar 2020, glibc 2.31)
[debug] exe versions: ffmpeg N-111711-gd295b6b693-Nico-20230808 (fdk,setts), ffprobe N-111711-gd295b6b693-Nico-20230808, phantomjs 2.1.1, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.18.0, brotli-1.0.9, certifi-2023.07.22, mutagen-1.46.0, secretstorage-3.3.3, sqlite3-2.6.0, websockets-11.0.3, xattr-0.9.6
[debug] Proxy map: {}
[debug] Loaded 1863 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-nightly-builds/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: d66b5383fd468d11b0400e423e6db8704cc0f5fcfd3db28e06d0e821ceb3a546
yt-dlp is up to date<EMAIL_ADDRESS>[youtube] Extracting URL: https://www.youtube.com/watch?v=nJ6A6GC_ki4
[youtube] nJ6A6GC_ki4: Downloading webpage
[youtube] nJ6A6GC_ki4: Downloading ios player API JSON
[youtube] nJ6A6GC_ki4: Downloading android player API JSON
[youtube] nJ6A6GC_ki4: Downloading m3u8 information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] Testing format 244
[download] Destination: /tmp/tmpl8r18f26.tmp
[download] 100% of   10.00KiB in 00:00:00 at 214.98KiB/s
[info] Testing format 251
[download] Destination: /tmp/tmp5_q4a7bk.tmp
[download] 100% of   10.00KiB in 00:00:00 at 207.07KiB/s
[info] nJ6A6GC_ki4: Downloading 1 format(s): 244+251
[debug] Invoking http downloader on "https://rr2---sn-5hne6n6e.googlevideo.com/videoplayback?expire=1692213787&ei=u83cZPnbLsKP6dsP0LivmAI&ip=<REDACTED>&id=o-AJwEITjJcZCvHOSDzwG2286DqQthhdKgP0Odizcq3FrG&itag=244&source=youtube&requiressl=yes&mh=MH&mm=31%2C29&mn=sn-5hne6n6e%2Csn-5hneknee&ms=au%2Crdu&mv=m&mvi=2&pl=14&gcr=nl&initcwndbps=2331250&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=12357755&dur=246.346&lmt=1575098546134993&mt=1692191865&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5531432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAP4_L7tTKC1GtmTyouAanx8PfvkNtnlLsGfISqcLDwglAiBk4OsBHwkT2KCyr6tQy0PZAx8ZmO8vQ-9s7DcQjdBbxg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRgIhAMi-5D00hEQe6ywcV4MkEJLgx60F4tmlDkk-rtJjDUFmAiEAi2d_7I4Saiy9_zS3kdsJMJQB10mrrUAPx9dVPIbvW30%3D"
[download] Destination: ASIAN KUNG-FU GENERATION - Haruka Kanata [nJ6A6GC_ki4].f244.webm
[download] 100% of   11.79MiB in 00:00:01 at 10.37MiB/s
[debug] Invoking http downloader on "https://rr1---sn-5hneknee.googlevideo.com/videoplayback?expire=1692213787&ei=u83cZJTdNryx6dsP3bWnsAo&ip=<REDACTED>&id=o-AJeRG_ZbutvvWk9hFz8BjB7OnJe3vHK5WyCJJZNzeRVi&itag=251&source=youtube&requiressl=yes&mh=MH&mm=31%2C26&mn=sn-5hneknee%2Csn-4g5edn6r&ms=au%2Conr&mv=m&mvi=1&pl=14&gcr=nl&initcwndbps=2428750&spc=UWF9f7a2kMCg73ZgWI4Vk2LMkmaopKQ&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=3915179&dur=246.361&lmt=1575097462677934&mt=1692191865&fvip=2&keepalive=yes&fexp=24007246&beids=24350018&c=ANDROID&txp=5531432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRgIhAM841goM-7-WlvHQN1CA9I14efHP8-5mA35FZE8AdvmEAiEAyPCn3bUiOAAxxpwc-9RuPTckIboR6hAbIn4f50pfb3M%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgc-8eCV0Pm5en8JMDNq7hajx4EuoPx72LRD43NZOfk5cCIH7kEzuZYuELvboLa3Ryc_fJRA1OHSuKY3RWlEuOJMsy"
[download] Destination: ASIAN KUNG-FU GENERATION - Haruka Kanata [nJ6A6GC_ki4].f251.webm
[download] 100% of    3.73MiB in 00:00:00 at 10.03MiB/s
[Merger] Merging formats into "ASIAN KUNG-FU GENERATION - Haruka Kanata [nJ6A6GC_ki4].webm"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:ASIAN KUNG-FU GENERATION - Haruka Kanata [nJ6A6GC_ki4].f244.webm' -i 'file:ASIAN KUNG-FU GENERATION - Haruka Kanata [nJ6A6GC_ki4].f251.webm' -c copy -map 0:v:0 -map 1:a:0 -movflags +faststart 'file:ASIAN KUNG-FU GENERATION - Haruka Kanata [nJ6A6GC_ki4].temp.webm'
Deleting original file ASIAN KUNG-FU GENERATION - Haruka Kanata [nJ6A6GC_ki4].f244.webm (pass -k to keep)
Deleting original file ASIAN KUNG-FU GENERATION - Haruka Kanata [nJ6A6GC_ki4].f251.webm (pass -k to keep)

@Kuchizu Does it work in a browser? If yes, can you please test yt-dlp again, so we know it's not just a random issue?

@gamer191 I have the same issue:

Full log here (it's big!)
youtube "https://www.youtube.com/watch?v=REDACTED" -vU --check-formats
[debug] Command-line config: ['https://www.youtube.com/watch?v=REDACTED', '-vU', '--check-formats']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[392389b7d] (pip)
[debug] Python 3.10.12 (CPython arm64 64bit) - macOS-13.4.1-arm64-arm-64bit (OpenSSL 3.1.2 1 Aug 2023)
[debug] exe versions: ffmpeg 5.0.1 (setts), ffprobe 5.0.1, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.09.24, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1786 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>[debug] Downloading _update_spec from https://github.com/yt-dlp/yt-dlp/releases/latest/download/_update_spec
ERROR: You installed yt-dlp with pip or using the wheel from PyPi; Use that to update
[youtube] Extracting URL: https://www.youtube.com/watch?v=REDACTED
[youtube] REDACTED: Downloading webpage
[youtube] REDACTED: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] Testing format 313
[dashsegments] Total fragments: 1
[download] Destination: /var/folders/dj/m6vp0jsx1r76hcjg4w3p_gq40000gq/T/tmpie0l9tof.tmp
[download] 100% of   10.00MiB in 00:00:00 at 10.16MiB/s
[info] Testing format 251
[dashsegments] Total fragments: 1
[download] Destination: /var/folders/dj/m6vp0jsx1r76hcjg4w3p_gq40000gq/T/tmpqh7w12tz.tmp
[download] Got error: HTTP Error 403: Forbidden
  File "/opt/homebrew/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 967, in main
    _exit(*variadic(_real_main(argv)))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 957, in _real_main
    return ydl.download(all_urls)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3369, in download
    self.__download_wrapper(self.extract_info)(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3344, in wrapper
    res = func(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1507, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2727, in process_video_result
    formats_to_download = list(format_selector({
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2336, in final_selector
    return selector_function(ctx_copy)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2248, in selector_function
    picked_formats = list(f(ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2257, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2326, in selector_function
    yield matches[format_idx - 1]
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 2843, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2229, in _check_formats
    yield from self._check_formats(formats)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1999, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/dash.py", line 60, in real_download
    return self.download_and_append_fragments_multiple(*args, is_fatal=lambda idx: idx == 0)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 382, in download_and_append_fragments_multiple
    return self.download_and_append_fragments(*args[0], **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 521, in download_and_append_fragments
    download_fragment(fragment, ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 466, in download_fragment
    for retry in RetryManager(self.params.get('fragment_retries'), error_callback):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 6141, in __iter__
    self.error_callback(self.error, self.attempt, self.retries)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 463, in error_callback
    self.report_retry(err, count, retries, frag_index, fatal)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 389, in report_retry
    RetryManager.report_retry(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 6148, in report_retry
    return error(f'{e}. Giving up after {count - 1} retries') if count > 1 else error(str(e))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 392, in <lambda>
    error=IDENTITY if not fatal else lambda e: self.report_error(f'\r[download] Got error: {e}'),
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1015, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 944, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

ERROR: fragment 1 not found, unable to continue
  File "/opt/homebrew/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 967, in main
    _exit(*variadic(_real_main(argv)))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 957, in _real_main
    return ydl.download(all_urls)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3369, in download
    self.__download_wrapper(self.extract_info)(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3344, in wrapper
    res = func(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1507, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2727, in process_video_result
    formats_to_download = list(format_selector({
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2336, in final_selector
    return selector_function(ctx_copy)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2248, in selector_function
    picked_formats = list(f(ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2257, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2326, in selector_function
    yield matches[format_idx - 1]
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 2843, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2229, in _check_formats
    yield from self._check_formats(formats)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1999, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/dash.py", line 60, in real_download
    return self.download_and_append_fragments_multiple(*args, is_fatal=lambda idx: idx == 0)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 382, in download_and_append_fragments_multiple
    return self.download_and_append_fragments(*args[0], **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 522, in download_and_append_fragments
    result = append_fragment(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 486, in append_fragment
    self.report_error(f'fragment {frag_index} not found, unable to continue')
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1015, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 944, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

[info] Unable to download format 251. Skipping...
[info] Testing format 140
[dashsegments] Total fragments: 1
[download] Destination: /var/folders/dj/m6vp0jsx1r76hcjg4w3p_gq40000gq/T/tmpku1azo7a.tmp
[download] Got error: HTTP Error 403: Forbidden
  File "/opt/homebrew/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 967, in main
    _exit(*variadic(_real_main(argv)))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 957, in _real_main
    return ydl.download(all_urls)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3369, in download
    self.__download_wrapper(self.extract_info)(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3344, in wrapper
    res = func(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1507, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2727, in process_video_result
    formats_to_download = list(format_selector({
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2336, in final_selector
    return selector_function(ctx_copy)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2248, in selector_function
    picked_formats = list(f(ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2257, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2326, in selector_function
    yield matches[format_idx - 1]
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 2843, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2229, in _check_formats
    yield from self._check_formats(formats)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1999, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/dash.py", line 60, in real_download
    return self.download_and_append_fragments_multiple(*args, is_fatal=lambda idx: idx == 0)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 382, in download_and_append_fragments_multiple
    return self.download_and_append_fragments(*args[0], **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 521, in download_and_append_fragments
    download_fragment(fragment, ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 466, in download_fragment
    for retry in RetryManager(self.params.get('fragment_retries'), error_callback):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 6141, in __iter__
    self.error_callback(self.error, self.attempt, self.retries)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 463, in error_callback
    self.report_retry(err, count, retries, frag_index, fatal)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 389, in report_retry
    RetryManager.report_retry(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 6148, in report_retry
    return error(f'{e}. Giving up after {count - 1} retries') if count > 1 else error(str(e))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 392, in <lambda>
    error=IDENTITY if not fatal else lambda e: self.report_error(f'\r[download] Got error: {e}'),
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1015, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 944, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

ERROR: fragment 1 not found, unable to continue
  File "/opt/homebrew/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 967, in main
    _exit(*variadic(_real_main(argv)))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 957, in _real_main
    return ydl.download(all_urls)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3369, in download
    self.__download_wrapper(self.extract_info)(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3344, in wrapper
    res = func(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1507, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2727, in process_video_result
    formats_to_download = list(format_selector({
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2336, in final_selector
    return selector_function(ctx_copy)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2248, in selector_function
    picked_formats = list(f(ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2257, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2326, in selector_function
    yield matches[format_idx - 1]
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 2843, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2229, in _check_formats
    yield from self._check_formats(formats)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1999, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/dash.py", line 60, in real_download
    return self.download_and_append_fragments_multiple(*args, is_fatal=lambda idx: idx == 0)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 382, in download_and_append_fragments_multiple
    return self.download_and_append_fragments(*args[0], **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 522, in download_and_append_fragments
    result = append_fragment(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 486, in append_fragment
    self.report_error(f'fragment {frag_index} not found, unable to continue')
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1015, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 944, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

[info] Unable to download format 140. Skipping...
[info] Testing format 250
[dashsegments] Total fragments: 1
[download] Destination: /var/folders/dj/m6vp0jsx1r76hcjg4w3p_gq40000gq/T/tmprn2n3msg.tmp
[download] Got error: HTTP Error 403: Forbidden
  File "/opt/homebrew/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 967, in main
    _exit(*variadic(_real_main(argv)))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 957, in _real_main
    return ydl.download(all_urls)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3369, in download
    self.__download_wrapper(self.extract_info)(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3344, in wrapper
    res = func(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1507, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2727, in process_video_result
    formats_to_download = list(format_selector({
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2336, in final_selector
    return selector_function(ctx_copy)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2248, in selector_function
    picked_formats = list(f(ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2257, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2326, in selector_function
    yield matches[format_idx - 1]
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 2843, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2229, in _check_formats
    yield from self._check_formats(formats)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1999, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/dash.py", line 60, in real_download
    return self.download_and_append_fragments_multiple(*args, is_fatal=lambda idx: idx == 0)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 382, in download_and_append_fragments_multiple
    return self.download_and_append_fragments(*args[0], **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 521, in download_and_append_fragments
    download_fragment(fragment, ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 466, in download_fragment
    for retry in RetryManager(self.params.get('fragment_retries'), error_callback):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 6141, in __iter__
    self.error_callback(self.error, self.attempt, self.retries)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 463, in error_callback
    self.report_retry(err, count, retries, frag_index, fatal)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 389, in report_retry
    RetryManager.report_retry(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 6148, in report_retry
    return error(f'{e}. Giving up after {count - 1} retries') if count > 1 else error(str(e))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 392, in <lambda>
    error=IDENTITY if not fatal else lambda e: self.report_error(f'\r[download] Got error: {e}'),
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1015, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 944, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

ERROR: fragment 1 not found, unable to continue
  File "/opt/homebrew/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 967, in main
    _exit(*variadic(_real_main(argv)))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 957, in _real_main
    return ydl.download(all_urls)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3369, in download
    self.__download_wrapper(self.extract_info)(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3344, in wrapper
    res = func(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1507, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2727, in process_video_result
    formats_to_download = list(format_selector({
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2336, in final_selector
    return selector_function(ctx_copy)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2248, in selector_function
    picked_formats = list(f(ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2257, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2326, in selector_function
    yield matches[format_idx - 1]
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 2843, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2229, in _check_formats
    yield from self._check_formats(formats)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1999, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/dash.py", line 60, in real_download
    return self.download_and_append_fragments_multiple(*args, is_fatal=lambda idx: idx == 0)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 382, in download_and_append_fragments_multiple
    return self.download_and_append_fragments(*args[0], **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 522, in download_and_append_fragments
    result = append_fragment(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 486, in append_fragment
    self.report_error(f'fragment {frag_index} not found, unable to continue')
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1015, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 944, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

[info] Unable to download format 250. Skipping...
[info] Testing format 249
[dashsegments] Total fragments: 1
[download] Destination: /var/folders/dj/m6vp0jsx1r76hcjg4w3p_gq40000gq/T/tmpntmbzvf4.tmp
[download] Got error: HTTP Error 403: Forbidden
  File "/opt/homebrew/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 967, in main
    _exit(*variadic(_real_main(argv)))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 957, in _real_main
    return ydl.download(all_urls)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3369, in download
    self.__download_wrapper(self.extract_info)(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3344, in wrapper
    res = func(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1507, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2727, in process_video_result
    formats_to_download = list(format_selector({
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2336, in final_selector
    return selector_function(ctx_copy)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2248, in selector_function
    picked_formats = list(f(ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2257, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2326, in selector_function
    yield matches[format_idx - 1]
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 2843, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2229, in _check_formats
    yield from self._check_formats(formats)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1999, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/dash.py", line 60, in real_download
    return self.download_and_append_fragments_multiple(*args, is_fatal=lambda idx: idx == 0)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 382, in download_and_append_fragments_multiple
    return self.download_and_append_fragments(*args[0], **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 521, in download_and_append_fragments
    download_fragment(fragment, ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 466, in download_fragment
    for retry in RetryManager(self.params.get('fragment_retries'), error_callback):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 6141, in __iter__
    self.error_callback(self.error, self.attempt, self.retries)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 463, in error_callback
    self.report_retry(err, count, retries, frag_index, fatal)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 389, in report_retry
    RetryManager.report_retry(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 6148, in report_retry
    return error(f'{e}. Giving up after {count - 1} retries') if count > 1 else error(str(e))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 392, in <lambda>
    error=IDENTITY if not fatal else lambda e: self.report_error(f'\r[download] Got error: {e}'),
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1015, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 944, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

ERROR: fragment 1 not found, unable to continue
  File "/opt/homebrew/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 967, in main
    _exit(*variadic(_real_main(argv)))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 957, in _real_main
    return ydl.download(all_urls)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3369, in download
    self.__download_wrapper(self.extract_info)(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3344, in wrapper
    res = func(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1507, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2727, in process_video_result
    formats_to_download = list(format_selector({
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2336, in final_selector
    return selector_function(ctx_copy)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2248, in selector_function
    picked_formats = list(f(ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2257, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2326, in selector_function
    yield matches[format_idx - 1]
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 2843, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2229, in _check_formats
    yield from self._check_formats(formats)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1999, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/dash.py", line 60, in real_download
    return self.download_and_append_fragments_multiple(*args, is_fatal=lambda idx: idx == 0)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 382, in download_and_append_fragments_multiple
    return self.download_and_append_fragments(*args[0], **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 522, in download_and_append_fragments
    result = append_fragment(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 486, in append_fragment
    self.report_error(f'fragment {frag_index} not found, unable to continue')
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1015, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 944, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

[info] Unable to download format 249. Skipping...
[info] Testing format 139
[dashsegments] Total fragments: 1
[download] Destination: /var/folders/dj/m6vp0jsx1r76hcjg4w3p_gq40000gq/T/tmpmq1bi5k_.tmp
[download] Got error: HTTP Error 403: Forbidden
  File "/opt/homebrew/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 967, in main
    _exit(*variadic(_real_main(argv)))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 957, in _real_main
    return ydl.download(all_urls)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3369, in download
    self.__download_wrapper(self.extract_info)(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3344, in wrapper
    res = func(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1507, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2727, in process_video_result
    formats_to_download = list(format_selector({
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2336, in final_selector
    return selector_function(ctx_copy)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2248, in selector_function
    picked_formats = list(f(ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2257, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2326, in selector_function
    yield matches[format_idx - 1]
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 2843, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2229, in _check_formats
    yield from self._check_formats(formats)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1999, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/dash.py", line 60, in real_download
    return self.download_and_append_fragments_multiple(*args, is_fatal=lambda idx: idx == 0)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 382, in download_and_append_fragments_multiple
    return self.download_and_append_fragments(*args[0], **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 521, in download_and_append_fragments
    download_fragment(fragment, ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 466, in download_fragment
    for retry in RetryManager(self.params.get('fragment_retries'), error_callback):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 6141, in __iter__
    self.error_callback(self.error, self.attempt, self.retries)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 463, in error_callback
    self.report_retry(err, count, retries, frag_index, fatal)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 389, in report_retry
    RetryManager.report_retry(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 6148, in report_retry
    return error(f'{e}. Giving up after {count - 1} retries') if count > 1 else error(str(e))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 392, in <lambda>
    error=IDENTITY if not fatal else lambda e: self.report_error(f'\r[download] Got error: {e}'),
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1015, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 944, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

ERROR: fragment 1 not found, unable to continue
  File "/opt/homebrew/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 967, in main
    _exit(*variadic(_real_main(argv)))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 957, in _real_main
    return ydl.download(all_urls)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3369, in download
    self.__download_wrapper(self.extract_info)(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3344, in wrapper
    res = func(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1507, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2727, in process_video_result
    formats_to_download = list(format_selector({
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2336, in final_selector
    return selector_function(ctx_copy)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2248, in selector_function
    picked_formats = list(f(ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2257, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2326, in selector_function
    yield matches[format_idx - 1]
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 2843, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2229, in _check_formats
    yield from self._check_formats(formats)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1999, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/dash.py", line 60, in real_download
    return self.download_and_append_fragments_multiple(*args, is_fatal=lambda idx: idx == 0)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 382, in download_and_append_fragments_multiple
    return self.download_and_append_fragments(*args[0], **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 522, in download_and_append_fragments
    result = append_fragment(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 486, in append_fragment
    self.report_error(f'fragment {frag_index} not found, unable to continue')
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1015, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 944, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

[info] Unable to download format 139. Skipping...
[info] Testing format 600
[dashsegments] Total fragments: 1
[download] Destination: /var/folders/dj/m6vp0jsx1r76hcjg4w3p_gq40000gq/T/tmpvo6kqdn4.tmp
[download] Got error: HTTP Error 403: Forbidden
  File "/opt/homebrew/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 967, in main
    _exit(*variadic(_real_main(argv)))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 957, in _real_main
    return ydl.download(all_urls)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3369, in download
    self.__download_wrapper(self.extract_info)(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3344, in wrapper
    res = func(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1507, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2727, in process_video_result
    formats_to_download = list(format_selector({
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2336, in final_selector
    return selector_function(ctx_copy)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2248, in selector_function
    picked_formats = list(f(ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2257, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2326, in selector_function
    yield matches[format_idx - 1]
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 2843, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2229, in _check_formats
    yield from self._check_formats(formats)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1999, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/dash.py", line 60, in real_download
    return self.download_and_append_fragments_multiple(*args, is_fatal=lambda idx: idx == 0)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 382, in download_and_append_fragments_multiple
    return self.download_and_append_fragments(*args[0], **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 521, in download_and_append_fragments
    download_fragment(fragment, ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 466, in download_fragment
    for retry in RetryManager(self.params.get('fragment_retries'), error_callback):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 6141, in __iter__
    self.error_callback(self.error, self.attempt, self.retries)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 463, in error_callback
    self.report_retry(err, count, retries, frag_index, fatal)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 389, in report_retry
    RetryManager.report_retry(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 6148, in report_retry
    return error(f'{e}. Giving up after {count - 1} retries') if count > 1 else error(str(e))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 392, in <lambda>
    error=IDENTITY if not fatal else lambda e: self.report_error(f'\r[download] Got error: {e}'),
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1015, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 944, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

ERROR: fragment 1 not found, unable to continue
  File "/opt/homebrew/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 967, in main
    _exit(*variadic(_real_main(argv)))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 957, in _real_main
    return ydl.download(all_urls)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3369, in download
    self.__download_wrapper(self.extract_info)(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3344, in wrapper
    res = func(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1507, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2727, in process_video_result
    formats_to_download = list(format_selector({
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2336, in final_selector
    return selector_function(ctx_copy)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2248, in selector_function
    picked_formats = list(f(ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2257, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2326, in selector_function
    yield matches[format_idx - 1]
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 2843, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2229, in _check_formats
    yield from self._check_formats(formats)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1999, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/dash.py", line 60, in real_download
    return self.download_and_append_fragments_multiple(*args, is_fatal=lambda idx: idx == 0)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 382, in download_and_append_fragments_multiple
    return self.download_and_append_fragments(*args[0], **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 522, in download_and_append_fragments
    result = append_fragment(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 486, in append_fragment
    self.report_error(f'fragment {frag_index} not found, unable to continue')
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1015, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 944, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

[info] Unable to download format 600. Skipping...
[info] Testing format 599
[dashsegments] Total fragments: 1
[download] Destination: /var/folders/dj/m6vp0jsx1r76hcjg4w3p_gq40000gq/T/tmpyfn1myf5.tmp
[download] Got error: HTTP Error 403: Forbidden
  File "/opt/homebrew/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 967, in main
    _exit(*variadic(_real_main(argv)))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 957, in _real_main
    return ydl.download(all_urls)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3369, in download
    self.__download_wrapper(self.extract_info)(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3344, in wrapper
    res = func(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1507, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2727, in process_video_result
    formats_to_download = list(format_selector({
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2336, in final_selector
    return selector_function(ctx_copy)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2248, in selector_function
    picked_formats = list(f(ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2257, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2326, in selector_function
    yield matches[format_idx - 1]
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 2843, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2229, in _check_formats
    yield from self._check_formats(formats)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1999, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/dash.py", line 60, in real_download
    return self.download_and_append_fragments_multiple(*args, is_fatal=lambda idx: idx == 0)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 382, in download_and_append_fragments_multiple
    return self.download_and_append_fragments(*args[0], **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 521, in download_and_append_fragments
    download_fragment(fragment, ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 466, in download_fragment
    for retry in RetryManager(self.params.get('fragment_retries'), error_callback):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 6141, in __iter__
    self.error_callback(self.error, self.attempt, self.retries)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 463, in error_callback
    self.report_retry(err, count, retries, frag_index, fatal)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 389, in report_retry
    RetryManager.report_retry(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 6148, in report_retry
    return error(f'{e}. Giving up after {count - 1} retries') if count > 1 else error(str(e))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 392, in <lambda>
    error=IDENTITY if not fatal else lambda e: self.report_error(f'\r[download] Got error: {e}'),
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1015, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 944, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

ERROR: fragment 1 not found, unable to continue
  File "/opt/homebrew/bin/yt-dlp", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 967, in main
    _exit(*variadic(_real_main(argv)))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/__init__.py", line 957, in _real_main
    return ydl.download(all_urls)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3369, in download
    self.__download_wrapper(self.extract_info)(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3344, in wrapper
    res = func(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1507, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2727, in process_video_result
    formats_to_download = list(format_selector({
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2336, in final_selector
    return selector_function(ctx_copy)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2248, in selector_function
    picked_formats = list(f(ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2257, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2237, in selector_function
    yield from f(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2326, in selector_function
    yield matches[format_idx - 1]
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/utils.py", line 2843, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2229, in _check_formats
    yield from self._check_formats(formats)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1999, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/dash.py", line 60, in real_download
    return self.download_and_append_fragments_multiple(*args, is_fatal=lambda idx: idx == 0)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 382, in download_and_append_fragments_multiple
    return self.download_and_append_fragments(*args[0], **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 522, in download_and_append_fragments
    result = append_fragment(
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/fragment.py", line 486, in append_fragment
    self.report_error(f'fragment {frag_index} not found, unable to continue')
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1015, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 944, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

[info] Unable to download format 599. Skipping...
[info] Testing format 22
[info] Unable to download format 22. Skipping...
[info] Testing format 18
[download] Destination: /var/folders/dj/m6vp0jsx1r76hcjg4w3p_gq40000gq/T/tmpcit3ipmp.tmp
[download] 100% of   10.00KiB in 00:00:00 at 60.89KiB/s
[info] REDACTED: Downloading 1 format(s): 18
[debug] Invoking http downloader on "https://rr3---sn-q0c7rn7d.googlevideo.com/videoplayback?expire=1692218649&ei=ueDcZNmLEMzcvdIPz7yryA4&ip=<IP_ADDRESS>&id=o-ABEE_pt6HRZTKlyCYNaZcpgM5XTuJEBq2NrSTh2A5XSD&itag=18&source=youtube&requiressl=yes&mh=er&mm=31%2C26&mn=sn-q0c7rn7d%2Csn-5hne6n6e&ms=au%2Conr&mv=m&mvi=3&pl=18&gcr=ie&initcwndbps=2355000&spc=UWF9fwTRebDdhi92KrY89MYpQHZZnnb6TfWhSfa7sQ&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=12176174&ratebypass=yes&dur=138.019&lmt=1691958426650565&mt=1692196873&fvip=4&fexp=24007246%2C24363392&beids=24350018&c=ANDROID&txp=5319224&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRQIgfvmcPLu5yJAP5TF38ELrTPxmYNVUzUkDtcOe6RB3ILoCIQCVUTZbIWbSemIZ0pJNtbJg_EHQlwPyVrgVZGtxGnSXgw%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgaeweudkytHCQqn_F7CCVk9XQ6AkAuLgPyezV81Mpno0CIQDKsQUPgANpmjdjPoijrlxawDzxH1tWWnyylyfpV3PQrQ%3D%3D"
ERROR: unable to download video data: HTTP Error 403: Forbidden
Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3247, in process_info
    success, real_download = self.dl(temp_filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/http.py", line 376, in real_download
    establish_connection()
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/downloader/http.py", line 129, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "/opt/homebrew/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3742, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File<EMAIL_ADDRESS>line 525, in open
    response = meth(req, response)
  File<EMAIL_ADDRESS>line 634, in http_response
    response = self.parent.error(
  File<EMAIL_ADDRESS>line 563, in error
    return self._call_chain(*args)
  File<EMAIL_ADDRESS>line 496, in _call_chain
    result = func(*args)
  File<EMAIL_ADDRESS>line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

@ppamorim

[debug] yt-dlp version<EMAIL_ADDRESS>[392389b7d] (pip)

Not the same issue. You need to update yt-dlp, then it will most likely be resolved

@ppamorim

[debug] yt-dlp version<EMAIL_ADDRESS>[392389b] (pip)

Not the same issue. You need to update yt-dlp, then it will most likely be resolved

When I run yt-dlp --version it informs this:
ppamorim@MacBook-Pro-2 Movies % yt-dlp --version
2023.03.04
ppamorim@MacBook-Pro-2 Movies % which yt-dlp
/opt/homebrew/bin/yt-dlp
ppamorim@MacBook-Pro-2 Movies % brew upgrade yt-dlp
==> Downloading https://formulae.brew.sh/api/formula.jws.json
######################################################################### 100.0%
==> Downloading https://formulae.brew.sh/api/cask.jws.json
######################################################################### 100.0%
Warning: yt-dlp 2023.7.6_1 already installed

It's saying it's already updated.

@ppamorim It looks like something has gone wrong with your installation and/or there are multiple versions installed. Uninstall yt-dlp with brew, verify that /opt/homebrew/bin/yt-dlp has been removed, and verify that which yt-dlp does not find anything. Then reinstall with brew

@Kuchizu Does it work in a browser? If yes, can you please test yt-dlp again, so we know it's not just a random issue?

I installed it from binaries on Laptop Arch Linux x86_64 and it works fine. It also worked when I tried with pip.
But when I try using it on Ubuntu server Ubuntu 20.04.5 LTS x86_64 from binaries I'm getting this:
root@vm4240400:~# wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp
--2023-08-16 19:35:13--  https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp
Resolving github.com (github.com)... <IP_ADDRESS>
Connecting to github.com (github.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github.com/yt-dlp/yt-dlp/releases/download/2023.07.06/yt-dlp [following]
--2023-08-16 19:35:13--  https://github.com/yt-dlp/yt-dlp/releases/download/2023.07.06/yt-dlp
Reusing existing connection to github.com:443.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/307260205/f4954b60-9aa1-414d-b7fd-e924f1b4cff9?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230816%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230816T163450Z&X-Amz-Expires=300&X-Amz-Signature=54d34ebfcee7a2d574472c575563129c37b5b3f4eaa7bac24841cd0057a370aa&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=307260205&response-content-disposition=attachment%3B%20filename%3Dyt-dlp&response-content-type=application%2Foctet-stream [following]
--2023-08-16 19:35:13--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/307260205/f4954b60-9aa1-414d-b7fd-e924f1b4cff9?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230816%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230816T163450Z&X-Amz-Expires=300&X-Amz-Signature=54d34ebfcee7a2d574472c575563129c37b5b3f4eaa7bac24841cd0057a370aa&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=307260205&response-content-disposition=attachment%3B%20filename%3Dyt-dlp&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2859383 (2.7M) [application/octet-stream]
Saving to: ‘yt-dlp’

yt-dlp                               100%[===================================================================>]   2.73M  --.-KB/s    in 0.06s

2023-08-16 19:35:13 (46.6 MB/s) - ‘yt-dlp’ saved [2859383/2859383]

root@vm4240400:~# chmod +x ./yt-dlp
root@vm4240400:~# ./yt-dlp -vU https://www.youtube.com/watch?v=-N4jf6rtyuw
[debug] Command-line config: ['-vU', 'https://www.youtube.com/watch?v=-N4jf6rtyuw']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[b532a3481] (zip)
[debug] Python 3.8.10 (CPython x86_64 64bit) - Linux-5.4.0-139-generic-x86_64-with-glibc2.29 (OpenSSL 1.1.1f  31 Mar 2020, glibc 2.31)
[debug] exe versions: ffmpeg 4.2.7, ffprobe 4.2.7, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, pyxattr-0.6.1, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1855 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: cedf44a9cf3c241520a692c1006d276e6f434d4d945727c47cb1a70d32953f4a
yt-dlp is up to date<EMAIL_ADDRESS>[youtube] Extracting URL: https://www.youtube.com/watch?v=-N4jf6rtyuw
[youtube] -N4jf6rtyuw: Downloading webpage
WARNING: [youtube] unable to extract initial player response; 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] -N4jf6rtyuw: Downloading ios player API JSON
WARNING: [youtube] Skipping player response from ios client (got player response for video "M5t4UHllkUM" instead of "-N4jf6rtyuw"); 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] -N4jf6rtyuw: Downloading android player API JSON
WARNING: [youtube] Skipping player response from android client (got player response for video "M5t4UHllkUM" instead of "-N4jf6rtyuw"); 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] -N4jf6rtyuw: Downloading iframe API JS
[youtube] -N4jf6rtyuw: Downloading player da7c2a60
[youtube] -N4jf6rtyuw: Downloading web player API JSON
WARNING: [youtube] Skipping player response from web client (got player response for video "M5t4UHllkUM" instead of "-N4jf6rtyuw"); 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
WARNING: [youtube] unable to extract yt initial data; 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
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
[youtube] -N4jf6rtyuw: Downloading initial data API JSON
WARNING: Extractor failed to obtain "title". Creating a generic title instead
ERROR: [youtube] -N4jf6rtyuw: No video formats found!; 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
Traceback (most recent call last):
  File "./yt-dlp/yt_dlp/YoutubeDL.py", line 1560, in wrapper
    return func(self, *args, **kwargs)
  File "./yt-dlp/yt_dlp/YoutubeDL.py", line 1709, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "./yt-dlp/yt_dlp/YoutubeDL.py", line 1768, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "./yt-dlp/yt_dlp/YoutubeDL.py", line 2732, in process_video_result
    self.raise_no_formats(info_dict)
  File "./yt-dlp/yt_dlp/YoutubeDL.py", line 1073, in raise_no_formats
    raise ExtractorError(msg, video_id=info['id'], ie=info['extractor'],
yt_dlp.utils.ExtractorError: [youtube] -N4jf6rtyuw: No video formats found!; 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

On some videos it just downloads .mhtml file with Video Not Available title. It does same using yt-dlp from PIP.
On different Ubuntu server with different location I'm getting this error:
root@vm3312288:~# ./yt-dlp -vU https://www.youtube.com/watch?v=1uYWYWPc9HU
-bash: ./yt-dlp: Permission denied
root@vm3312288:~# chmod +x ./yt-dlp
root@vm3312288:~# ./yt-dlp -vU https://www.youtube.com/watch?v=1uYWYWPc9HU
[debug] Command-line config: ['-vU', 'https://www.youtube.com/watch?v=1uYWYWPc9HU']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[b532a3481] (zip)
[debug] Python 3.10.12 (CPython x86_64 64bit) - Linux-5.15.0-73-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.2 15 Mar 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2
[debug] Optional libraries: Cryptodome-3.18.0, brotli-1.0.9, certifi-2023.05.07, mutagen-1.46.0, secretstorage-3.3.1, sqlite3-2.6.0, websockets-11.0.3
[debug] Proxy map: {}
[debug] Loaded 1855 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: cedf44a9cf3c241520a692c1006d276e6f434d4d945727c47cb1a70d32953f4a
yt-dlp is up to date<EMAIL_ADDRESS>[youtube] Extracting URL: https://www.youtube.com/watch?v=1uYWYWPc9HU
[youtube] 1uYWYWPc9HU: Downloading webpage
[youtube] 1uYWYWPc9HU: Downloading ios player API JSON
[youtube] 1uYWYWPc9HU: Downloading android player API JSON
[youtube] 1uYWYWPc9HU: Downloading m3u8 information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] Testing format 616
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 52
[download] Destination: /tmp/tmpy1ap6nqn.tmp
[download] Got error: HTTP Error 403: Forbidden
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/root/./yt-dlp/__main__.py", line 17, in <module>
    yt_dlp.main()
  File "/root/./yt-dlp/yt_dlp/__init__.py", line 1008, in main
    _exit(*variadic(_real_main(argv)))
  File "/root/./yt-dlp/yt_dlp/__init__.py", line 998, in _real_main
    return ydl.download(all_urls)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 3485, in download
    self.__download_wrapper(self.extract_info)(
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 3460, in wrapper
    res = func(*args, **kwargs)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 1549, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 1560, in wrapper
    return func(self, *args, **kwargs)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 1709, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 1768, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2846, in process_video_result
    formats_to_download = list(format_selector({
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2338, in selector_function
    yield from f(ctx)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2437, in final_selector
    return selector_function(ctx_copy)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2349, in selector_function
    picked_formats = list(f(ctx))
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2358, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2427, in selector_function
    yield matches[format_idx - 1]
  File "/root/./yt-dlp/yt_dlp/utils/_utils.py", line 2661, in __getitem__
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2328, in _check_formats
    yield from self._check_formats([f])
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2093, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 3084, in dl
    return fd.download(name, new_info, subtitle)
  File "/root/./yt-dlp/yt_dlp/downloader/common.py", line 461, in download
    ret = self.real_download(filename, info_dict)
  File "/root/./yt-dlp/yt_dlp/downloader/hls.py", line 375, in real_download
    return self.download_and_append_fragments(ctx, fragments, info_dict)
  File "/root/./yt-dlp/yt_dlp/downloader/fragment.py", line 529, in download_and_append_fragments
    download_fragment(fragment, ctx)
  File "/root/./yt-dlp/yt_dlp/downloader/fragment.py", line 474, in download_fragment
    for retry in RetryManager(self.params.get('fragment_retries'), error_callback):
  File "/root/./yt-dlp/yt_dlp/utils/_utils.py", line 5634, in __iter__
  File "/root/./yt-dlp/yt_dlp/downloader/fragment.py", line 471, in error_callback
    self.report_retry(err, count, retries, frag_index, fatal)
  File "/root/./yt-dlp/yt_dlp/downloader/common.py", line 402, in report_retry
    RetryManager.report_retry(
  File "/root/./yt-dlp/yt_dlp/utils/_utils.py", line 5641, in report_retry
  File "/root/./yt-dlp/yt_dlp/downloader/common.py", line 405, in <lambda>
    error=IDENTITY if not fatal else lambda e: self.report_error(f'\r[download] Got error: {e}'),
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 1042, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 970, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

ERROR: fragment 1 not found, unable to continue
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/root/./yt-dlp/__main__.py", line 17, in <module>
    yt_dlp.main()
  File "/root/./yt-dlp/yt_dlp/__init__.py", line 1008, in main
    _exit(*variadic(_real_main(argv)))
  File "/root/./yt-dlp/yt_dlp/__init__.py", line 998, in _real_main
    return ydl.download(all_urls)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 3485, in download
    self.__download_wrapper(self.extract_info)(
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 3460, in wrapper
    res = func(*args, **kwargs)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 1549, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 1560, in wrapper
    return func(self, *args, **kwargs)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 1709, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 1768, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2846, in process_video_result
    formats_to_download = list(format_selector({
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2338, in selector_function
    yield from f(ctx)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2437, in final_selector
    return selector_function(ctx_copy)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2349, in selector_function
    picked_formats = list(f(ctx))
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2358, in selector_function
    for pair in itertools.product(selector_1(ctx), selector_2(ctx)):
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2427, in selector_function
    yield matches[format_idx - 1]
  File "/root/./yt-dlp/yt_dlp/utils/_utils.py", line 2661, in __getitem__
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2328, in _check_formats
    yield from self._check_formats([f])
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 2093, in _check_formats
    success, _ = self.dl(temp_file.name, f, test=True)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 3084, in dl
    return fd.download(name, new_info, subtitle)
  File "/root/./yt-dlp/yt_dlp/downloader/common.py", line 461, in download
    ret = self.real_download(filename, info_dict)
  File "/root/./yt-dlp/yt_dlp/downloader/hls.py", line 375, in real_download
    return self.download_and_append_fragments(ctx, fragments, info_dict)
  File "/root/./yt-dlp/yt_dlp/downloader/fragment.py", line 530, in download_and_append_fragments
    result = append_fragment(
  File "/root/./yt-dlp/yt_dlp/downloader/fragment.py", line 494, in append_fragment
    self.report_error(f'fragment {frag_index} not found, unable to continue')
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 1042, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 970, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

[info] Unable to download format 616. Skipping...
[info] 1uYWYWPc9HU: Downloading 1 format(s): 248+251
[debug] Invoking http downloader on "https://rr5---sn-5hnekn7k.googlevideo.com/videoplayback?expire=1692225855&ei=3_zcZPvnOIeM6dsPssWD0A0&ip=<IP_ADDRESS>&id=o-APVfVvjrgExru1z-MFByVxPVWP7vqrw9ZRVgS6G4ngih&itag=248&source=youtube&requiressl=yes&mh=1G&mm=31%2C26&mn=sn-5hnekn7k%2Csn-4g5edndr&ms=au%2Conr&mv=u&mvi=5&pl=24&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=33274565&dur=262.480&lmt=1662013436086700&mt=1692203333&fvip=5&keepalive=yes&fexp=24007246%2C51000024&beids=24350017&c=IOS&txp=453D434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAPjgKccatCivileN5MCHLCCfuOO6DCKeeHqyvMfuqeUbAiAy0vMNrcw8488MSAIA8L_wE6b3UJOZCsz-IvrpO7BDqQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl&lsig=AG3C_xAwRQIgc0-6SquKTcsFvKloSQzFqyoLlIXauUIwzXSHBeYFEFMCIQD8aIOyggmbRMM-hxyOjwmW6NSGCX1A_VTQsinozdjTAg%3D%3D"
ERROR: unable to download video data: HTTP Error 403: Forbidden
Traceback (most recent call last):
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 3345, in process_info
    partial_success, real_download = self.dl(fname, new_info)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 3084, in dl
    return fd.download(name, new_info, subtitle)
  File "/root/./yt-dlp/yt_dlp/downloader/common.py", line 461, in download
    ret = self.real_download(filename, info_dict)
  File "/root/./yt-dlp/yt_dlp/downloader/http.py", line 377, in real_download
    establish_connection()
  File "/root/./yt-dlp/yt_dlp/downloader/http.py", line 129, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 3863, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

Nothing changed after updating to nightly:
root@vm3312288:~# ./yt-dlp --update-to nightly
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: cedf44a9cf3c241520a692c1006d276e6f434d4d945727c47cb1a70d32953f4a
Updating to<EMAIL_ADDRESS>...
Updated yt-dlp to<EMAIL_ADDRESS>root@vm3312288:~# ./yt-dlp -vU https://www.youtube.com/watch?v=yKNxeF4KMsY
[debug] Command-line config: ['-vU', 'https://www.youtube.com/watch?v=yKNxeF4KMsY']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[876b70c8e] (zip)
[debug] Python 3.10.12 (CPython x86_64 64bit) - Linux-5.15.0-73-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.2 15 Mar 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2
[debug] Optional libraries: Cryptodome-3.18.0, brotli-1.0.9, certifi-2023.05.07, mutagen-1.46.0, secretstorage-3.3.1, sqlite3-2.6.0, websockets-11.0.3
[debug] Proxy map: {}
[debug] Loaded 1863 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-nightly-builds/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: d66b5383fd468d11b0400e423e6db8704cc0f5fcfd3db28e06d0e821ceb3a546
yt-dlp is up to date<EMAIL_ADDRESS>[youtube] Extracting URL: https://www.youtube.com/watch?v=yKNxeF4KMsY
[youtube] yKNxeF4KMsY: Downloading webpage
[youtube] yKNxeF4KMsY: Downloading ios player API JSON
[youtube] yKNxeF4KMsY: Downloading android player API JSON
[youtube] yKNxeF4KMsY: Downloading m3u8 information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] yKNxeF4KMsY: Downloading 1 format(s): 313+251
[debug] Invoking http downloader on "https://rr2---sn-5hneknee.googlevideo.com/videoplayback?expire=1692226316&ei=rP7cZLarLdu36dsPmtGKwAk&ip=<IP_ADDRESS>&id=o-AMI6nmqnzbilISZKaexJYpPDShtjDkng5VUTCqSLWvdt&itag=313&source=youtube&requiressl=yes&mh=jv&mm=31%2C26&mn=sn-5hneknee%2Csn-4g5ednsr&ms=au%2Conr&mv=u&mvi=2&pl=24&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=172966003&dur=272.200&lmt=1664022385849948&mt=1692204516&fvip=4&keepalive=yes&fexp=24007246%2C24363391&c=IOS&txp=453C434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRgIhAImq95eduNEW8b6_sx3GnEVGF2o3tcgS_y8ejBo5QiddAiEA7rf5Be0EagXJ1Zs2X9MfUvROUty5YHlL52TZhEaaTa4%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl&lsig=AG3C_xAwRQIgISXZxlhtdogVr-0xrJrbCNZJJpEiFoifqR2OKEQ-jnICIQD9DvTl015UZbSDgGGNLgctY5-uXtiKp8rpIHcFJK92Cw%3D%3D"
ERROR: unable to download video data: HTTP Error 403: Forbidden
Traceback (most recent call last):
  File "/root/./yt-dlp/yt_dlp/networking/_urllib.py", line 438, in _send
    res = opener.open(urllib_req, timeout=float(request.extensions.get('timeout') or self.timeout))
  File "/usr/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 4059, in urlopen
    return self._request_director.send(req)
  File "/root/./yt-dlp/yt_dlp/networking/common.py", line 114, in send
    response = handler.send(request)
  File "/root/./yt-dlp/yt_dlp/networking/_helper.py", line 203, in wrapper
    return func(self, *args, **kwargs)
  File "/root/./yt-dlp/yt_dlp/networking/common.py", line 325, in send
    return self._send(request)
  File "/root/./yt-dlp/yt_dlp/networking/_urllib.py", line 443, in _send
    raise HTTPError(UrllibResponseAdapter(e.fp), redirect_loop='redirect error' in str(e)) from e
yt_dlp.networking.exceptions.HTTPError: HTTP Error 403: Forbidden

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 3377, in process_info
    partial_success, real_download = self.dl(fname, new_info)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 3116, in dl
    return fd.download(name, new_info, subtitle)
  File "/root/./yt-dlp/yt_dlp/downloader/common.py", line 455, in download
    ret = self.real_download(filename, info_dict)
  File "/root/./yt-dlp/yt_dlp/downloader/http.py", line 364, in real_download
    establish_connection()
  File "/root/./yt-dlp/yt_dlp/downloader/http.py", line 120, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "/root/./yt-dlp/yt_dlp/YoutubeDL.py", line 4078, in urlopen
    raise _CompatHTTPError(e) from e
yt_dlp.networking.exceptions._CompatHTTPError: HTTP Error 403: Forbidden

Tried on another `Ubuntu 22.04.2 LTS x86_64' server:
root@1659067-cc46220:~# which yt-dlp
/usr/local/bin/yt-dlp

root@1659067-cc46220:~# pip install -U yt-dlp
Requirement already satisfied: yt-dlp in /usr/local/lib/python3.10/dist-packages (2023.7.6)
Requirement already satisfied: brotli in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (1.0.9)
Requirement already satisfied: websockets in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (11.0.3)
Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (2023.5.7)
Requirement already satisfied: pycryptodomex in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (3.18.0)
Requirement already satisfied: mutagen in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (1.46.0)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

root@1659067-cc46220:~# yt-dlp -vU https://www.youtube.com/watch?v=FvOpPeKSf_4
[debug] Command-line config: ['-vU', 'https://www.youtube.com/watch?v=FvOpPeKSf_4']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[b532a3481] (pip)
[debug] Python 3.10.12 (CPython x86_64 64bit) - Linux-5.15.0-76-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.2 15 Mar 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2
[debug] Optional libraries: Cryptodome-3.18.0, brotli-1.0.9, certifi-2023.05.07, mutagen-1.46.0, secretstorage-3.3.1, sqlite3-2.6.0, websockets-11.0.3
[debug] Proxy map: {}
[debug] Loaded 1855 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>yt-dlp is up to date<EMAIL_ADDRESS>[youtube] Extracting URL: https://www.youtube.com/watch?v=FvOpPeKSf_4
[youtube] FvOpPeKSf_4: Downloading webpage
[youtube] FvOpPeKSf_4: Downloading ios player API JSON
[youtube] FvOpPeKSf_4: Downloading android player API JSON
[youtube] FvOpPeKSf_4: Downloading m3u8 information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto