Repository: yt-dlp
Issue: [youtube] yt-dlp fails to fall back if primary video server is unavailable
Labels: enhancement,site-enhancement

### Checklist

- [X] I'm reporting a broken site
- [X] I've verified that I'm running yt-dlp version **2021.12.01**. ([update instructions](https://github.com/yt-dlp/yt-dlp#update))
- [X] I've checked that all provided URLs are alive and playable in a browser
- [X] I've checked that all URLs and arguments with special characters are [properly quoted or escaped](https://github.com/ytdl-org/youtube-dl#video-url-contains-an-ampersand-and-im-getting-some-strange-output-1-2839-or-v-is-not-recognized-as-an-internal-or-external-command)
- [X] I've searched the [bugtracker](https://github.com/yt-dlp/yt-dlp/issues?q=) for similar issues including closed ones. DO NOT post duplicates
- [X] I've read the [guidelines for opening an issue](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#opening-an-issue)
- [ ] I've read about [sharing account credentials](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#are-you-willing-to-share-account-details-if-needed) and I'm willing to share it if required

### Region

_No response_

### Description

For whatever reason, the server `r1---sn-u2oxu-3g3s.googlevideo.com` is unreachable for me. Despite this, videos with this server as the primary video server continue to play in the browser.
Youtube provides a fallback server in the `mn` query field of the `/videoplayback` link, and the browser uses that after the first connection fails or times out.
After failing the request:
```
https://r1---sn-u2oxu-3g3s.googlevideo.com/videoplayback?expire=1639406888&ei=xwi3YeyCOZSA7QTo5Z-wCg&ip=178.43.248.254&id=o-AKG06qiQ7vVcraci8eURvYya_hNC2r5YzHhgH1hJFr28&itag=302&aitags=133%2C134%2C135%2C136%2C160%2C242%2C243%2C244%2C247%2C278%2C298%2C299%2C302%2C303&source=youtube&requiressl=yes&mh=n1&mm=31%2C29&mn=sn-u2oxu-3g3s%2Csn-u2oxu-f5fed&ms=au%2Crdu&mv=m&mvi=1&pl=24&initcwndbps=633750&vprv=1&mime=video%2Fwebm&ns=AM7JhiAAIf0Niwbk_kwe69UG&gir=yes&clen=582421497&dur=2826.466&lmt=1636443049858752&mt=1639384385&fvip=1&keepalive=yes&fexp=24001373%2C24007246&c=WEB&txp=4416222&n=OgjuvMhKmfSAVw&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgMrl5MAOeIg7hHI8uzdzab9fRpq6jjVuUSDU3iI3hVDECIFVoJW994O5iR7BhsOS2-r370X2u4u6-e1gVk520kROV&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgExNob_C59kCKVgvdiQk80aGK_uF6hi1r9MtKsYdAzk0CIQCN4FlPvS589owvqUHTZdQwAtWNbho9-HJQTwZQjYRiig%3D%3D&alr=yes&cpn=dcP_Z2Q6nf8BHN8C&cver=2.20211210.01.00&range=0-917412&rn=1&rbuf=0
```
the browser connects to
```
https://r1---sn-u2oxu-f5fed.googlevideo.com/videoplayback?expire=1639406888&ei=xwi3YeyCOZSA7QTo5Z-wCg&ip=178.43.248.254&id=o-AKG06qiQ7vVcraci8eURvYya_hNC2r5YzHhgH1hJFr28&itag=302&aitags=133%2C134%2C135%2C136%2C160%2C242%2C243%2C244%2C247%2C278%2C298%2C299%2C302%2C303&source=youtube&requiressl=yes&mh=n1&mm=31%2C29&mn=sn-u2oxu-3g3s%2Csn-u2oxu-f5fed&ms=au%2Crdu&mv=m&mvi=1&pl=24&initcwndbps=633750&vprv=1&mime=video%2Fwebm&ns=AM7JhiAAIf0Niwbk_kwe69UG&gir=yes&clen=582421497&dur=2826.466&lmt=1636443049858752&mt=1639384385&fvip=1&keepalive=yes&fexp=24001373%2C24007246&c=WEB&txp=4416222&n=OgjuvMhKmfSAVw&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgMrl5MAOeIg7hHI8uzdzab9fRpq6jjVuUSDU3iI3hVDECIFVoJW994O5iR7BhsOS2-r370X2u4u6-e1gVk520kROV&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgExNob_C59kCKVgvdiQk80aGK_uF6hi1r9MtKsYdAzk0CIQCN4FlPvS589owvqUHTZdQwAtWNbho9-HJQTwZQjYRiig%3D%3D&alr=yes&cpn=dcP_Z2Q6nf8BHN8C&cver=2.20211210.01.00&fallback_count=1&range=0-10377&rn=3&rbuf=0
```
which succeeds.

yt-dlp should use that server as a fallback if connection to the primary one fails before it gives up.

NOTE:
I believe the debug log fails with 'Network is unreachable' because it tries to connect over broken ipv6 after the ipv4 connection fails.

NOTE 2:
In the browser, the first connection times out significantly quicker than in yt-dlp. In Firefox devtools, the first connection to `sn-u2oxu-3g3s` gets queued at 1.43s, and the connection to `sn-u2oxu-f5fed` starts at 2.50s.
yt-dlp with the `-4` flag takes so long to retry all the connections 10 times that I've managed to capture a Firefox network trace of the relevant youtube page and write most of this report while waiting for the command to finally finish.

### Verbose log

```shell
$ yt-dlp -v STdtpAZYJIM
[debug] Command-line config: ['-v', 'STdtpAZYJIM']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
[debug] yt-dlp version 2021.12.01 [91f071af6]
[debug] Python version 3.9.6 (CPython 64bit) - Linux-5.10.72-x86_64-with-glibc2.33
[debug] exe versions: ffmpeg 4.4.1 (setts), ffprobe 4.4.1, rtmpdump 2.4
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
[debug] [youtube] Extracting URL: STdtpAZYJIM
[youtube] STdtpAZYJIM: Downloading webpage
[youtube] STdtpAZYJIM: Downloading android player API JSON
[debug] Loading youtube-nsig.dc05ba20 from cache
[debug] [youtube] Decrypted nsig -vj6PE4UV1_lq4 => FcmX9ogR9qhaKg
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, codec:vp9.2, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] STdtpAZYJIM: Downloading 1 format(s): 303+251
[debug] Invoking downloader on "https://r1---sn-u2oxu-3g3s.googlevideo.com/videoplayback?expire=1639411230&ei=vhm3YY3wH8eOv_IPqZ6J8A8&ip=178.43.249.1&id=o-AKiRQ4mZunaZUs3P2_ybYCNP5yAqRNKyYfAczEhF_dKb&itag=303&source=youtube&requiressl=yes&mh=n1&mm=31%2C29&mn=sn-u2oxu-3g3s%2Csn-u2oxu-f5fed&ms=au%2Crdu&mv=m&mvi=1&pl=24&initcwndbps=918750&vprv=1&mime=video%2Fwebm&gir=yes&clen=905762974&dur=2826.466&lmt=1636443049869271&mt=1639389179&fvip=1&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4416222&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAO-qTRC6QBM-gDzUBlgCXYequFm_YGPc8BVwPnviYLkWAiBGO-y3A8j_6hcCPUV06pXfbkiSMFjYrsDMvw5zQYN2Kg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIhAMnqW4U3ykkrB7cUurpBM8YIHytniPVCwhFt-3XPanY7AiA_3_yxrLZVZltmXUdrsCWhXRU_1mvpJjJeU9jpkOcibg%3D%3D"
ERROR: unable to download video data: <urlopen error [Errno 101] Network is unreachable>
Traceback (most recent call last):
  File "/nix/store/k0z9n599k02hab8qjjp3ljw065iwjcvg-python3-3.9.6/lib/python3.9/urllib/request.py", line 1346, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/nix/store/k0z9n599k02hab8qjjp3ljw065iwjcvg-python3-3.9.6/lib/python3.9/http/client.py", line 1257, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/nix/store/k0z9n599k02hab8qjjp3ljw065iwjcvg-python3-3.9.6/lib/python3.9/http/client.py", line 1303, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/nix/store/k0z9n599k02hab8qjjp3ljw065iwjcvg-python3-3.9.6/lib/python3.9/http/client.py", line 1252, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/nix/store/k0z9n599k02hab8qjjp3ljw065iwjcvg-python3-3.9.6/lib/python3.9/http/client.py", line 1012, in _send_output
    self.send(msg)
  File "/nix/store/k0z9n599k02hab8qjjp3ljw065iwjcvg-python3-3.9.6/lib/python3.9/http/client.py", line 952, in send
    self.connect()
  File "/nix/store/k0z9n599k02hab8qjjp3ljw065iwjcvg-python3-3.9.6/lib/python3.9/http/client.py", line 1419, in connect
    super().connect()
  File "/nix/store/k0z9n599k02hab8qjjp3ljw065iwjcvg-python3-3.9.6/lib/python3.9/http/client.py", line 923, in connect
    self.sock = self._create_connection(
  File "/nix/store/k0z9n599k02hab8qjjp3ljw065iwjcvg-python3-3.9.6/lib/python3.9/socket.py", line 843, in create_connection
    raise err
  File "/nix/store/k0z9n599k02hab8qjjp3ljw065iwjcvg-python3-3.9.6/lib/python3.9/socket.py", line 831, in create_connection
    sock.connect(sa)
OSError: [Errno 101] Network is unreachable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 2916, in process_info
    partial_success, real_download = self.dl(fname, new_info)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 2654, in dl
    return fd.download(name, new_info, subtitle)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/downloader/common.py", line 421, in download
    ret = self.real_download(filename, info_dict)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/downloader/http.py", line 372, in real_download
    establish_connection()
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/downloader/http.py", line 120, in establish_connection
    raise err
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/downloader/http.py", line 114, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 3385, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/nix/store/k0z9n599k02hab8qjjp3ljw065iwjcvg-python3-3.9.6/lib/python3.9/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/nix/store/k0z9n599k02hab8qjjp3ljw065iwjcvg-python3-3.9.6/lib/python3.9/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/nix/store/k0z9n599k02hab8qjjp3ljw065iwjcvg-python3-3.9.6/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/utils.py", line 2929, in https_open
    return self.do_open(functools.partial(
  File "/nix/store/k0z9n599k02hab8qjjp3ljw065iwjcvg-python3-3.9.6/lib/python3.9/urllib/request.py", line 1349, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 101] Network is unreachable>


$ yt-dlp -v4 STdtpAZYJIM
[debug] Command-line config: ['-v4', 'STdtpAZYJIM']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
[debug] yt-dlp version 2021.12.01 [91f071af6]
[debug] Python version 3.9.6 (CPython 64bit) - Linux-5.10.72-x86_64-with-glibc2.33
[debug] exe versions: ffmpeg 4.4.1 (setts), ffprobe 4.4.1, rtmpdump 2.4
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
[debug] [youtube] Extracting URL: STdtpAZYJIM
[youtube] STdtpAZYJIM: Downloading webpage
[youtube] STdtpAZYJIM: Downloading android player API JSON
[debug] Loading youtube-nsig.dc05ba20 from cache
[debug] [youtube] Decrypted nsig jwg05Lwi-RC_tk => jPq9WfH26SzAEw
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, codec:vp9.2, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] STdtpAZYJIM: Downloading 1 format(s): 303+251
[debug] Invoking downloader on "https://r1---sn-u2oxu-3g3s.googlevideo.com/videoplayback?expire=1639411321&ei=GRq3YY2SLb6F0u8Pq9WY4A8&ip=178.43.249.1&id=o-AC9Xt8_glXUZKScHy2at3wCPr_0nQf5hkqq92Dfiab5n&itag=303&source=youtube&requiressl=yes&mh=n1&mm=31%2C29&mn=sn-u2oxu-3g3s%2Csn-u2oxu-f5fed&ms=au%2Crdu&mv=m&mvi=1&pl=24&initcwndbps=932500&vprv=1&mime=video%2Fwebm&gir=yes&clen=905762974&dur=2826.466&lmt=1636443049869271&mt=1639389417&fvip=1&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4416222&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgbeFlZoT5XfiWOzZVWbE6i42txmZfx8V0_6_w6Q6vGqkCIDwMk65b9jH5wqWMOMLiBYXow9vA-shC59jlrQT6OViv&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgLg3hew_uOaXC7PzLHIuQon-AyhcxAL8tJKPe7F1-ScYCIBSEgcE7VvkRCpLZtQIEminRUSWCCCnn52_rwu5X9gAZ"
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 1 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 2 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 3 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 4 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 5 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 6 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 7 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 8 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 9 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 10 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>
ERROR: giving up after 10 retries
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/bin/.yt-dlp-wrapped", line 9, in <module>
    sys.exit(main())
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/__init__.py", line 823, in main
    _real_main(argv)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/__init__.py", line 813, in _real_main
    retcode = ydl.download(all_urls)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 3050, in download
    self.__download_wrapper(self.extract_info)(
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 3023, in wrapper
    res = func(*args, **kwargs)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 1321, in extract_info
    return self.__extract_info(url, self.get_info_extractor(ie_key), download, extra_info, process)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 1329, in wrapper
    return func(self, *args, **kwargs)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 1412, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 1462, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 2506, in process_video_result
    self.process_info(new_info)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 2916, in process_info
    partial_success, real_download = self.dl(fname, new_info)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 2654, in dl
    return fd.download(name, new_info, subtitle)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/downloader/common.py", line 421, in download
    ret = self.real_download(filename, info_dict)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/downloader/http.py", line 386, in real_download
    self.report_error('giving up after %s retries' % retries)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/downloader/common.py", line 174, in report_error
    self.ydl.report_error(*args, **kargs)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 902, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', tb)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 834, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())


[debug] Invoking downloader on "https://r1---sn-u2oxu-3g3s.googlevideo.com/videoplayback?expire=1639411321&ei=GRq3YY2SLb6F0u8Pq9WY4A8&ip=178.43.249.1&id=o-AC9Xt8_glXUZKScHy2at3wCPr_0nQf5hkqq92Dfiab5n&itag=251&source=youtube&requiressl=yes&mh=n1&mm=31%2C29&mn=sn-u2oxu-3g3s%2Csn-u2oxu-f5fed&ms=au%2Crdu&mv=m&mvi=1&pl=24&initcwndbps=932500&vprv=1&mime=audio%2Fwebm&gir=yes&clen=42415125&dur=2826.501&lmt=1636442952291937&mt=1639389417&fvip=1&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4411222&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgR9FR_v8gURHyR_rFe7oQ7-FfF0bJvvWQuI7m4wYhJbACIEMMnxZK9Nt6EFA4bH68MoWE910VqU-f_FLidbtj5twg&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgLg3hew_uOaXC7PzLHIuQon-AyhcxAL8tJKPe7F1-ScYCIBSEgcE7VvkRCpLZtQIEminRUSWCCCnn52_rwu5X9gAZ"
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 1 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 2 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 3 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 4 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 5 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 6 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 7 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 8 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 9 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>. Retrying (attempt 10 of 10) ...
[download] Got server HTTP error: <urlopen error timed out>
ERROR: giving up after 10 retries
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/bin/.yt-dlp-wrapped", line 9, in <module>
    sys.exit(main())
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/__init__.py", line 823, in main
    _real_main(argv)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/__init__.py", line 813, in _real_main
    retcode = ydl.download(all_urls)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 3050, in download
    self.__download_wrapper(self.extract_info)(
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 3023, in wrapper
    res = func(*args, **kwargs)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 1321, in extract_info
    return self.__extract_info(url, self.get_info_extractor(ie_key), download, extra_info, process)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 1329, in wrapper
    return func(self, *args, **kwargs)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 1412, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 1462, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 2506, in process_video_result
    self.process_info(new_info)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 2916, in process_info
    partial_success, real_download = self.dl(fname, new_info)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 2654, in dl
    return fd.download(name, new_info, subtitle)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/downloader/common.py", line 421, in download
    ret = self.real_download(filename, info_dict)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/downloader/http.py", line 386, in real_download
    self.report_error('giving up after %s retries' % retries)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/downloader/common.py", line 174, in report_error
    self.ydl.report_error(*args, **kargs)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 902, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', tb)
  File "/nix/store/f32z0h1x4a2f2c53sa9s369v7fvrsgqr-python3.9-yt-dlp-2021.12.1/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 834, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())
```