Repository: yt-dlp
Issue: Tencent video (qq.com) Got error: HTTP Error 564: None
Labels: site-bug,triage

### 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 have **updated yt-dlp to nightly or master** ([update instructions](https://github.com/yt-dlp/yt-dlp#update-channels))
- [X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
- [X] I've checked that all URLs and arguments with special characters are [properly quoted or escaped](https://github.com/yt-dlp/yt-dlp/wiki/FAQ#video-url-contains-an-ampersand--and-im-getting-some-strange-output-1-2839-or-v-is-not-recognized-as-an-internal-or-external-command)
- [X] I've searched [known issues](https://github.com/yt-dlp/yt-dlp/issues/3766) and 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)
- [X] 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

China (But it is accessible from Belgium)

### Provide a description that is worded well enough to be understood

When I try to download any video from v.qq.com, I always have the error code "HTTP 564: None", and it skip all the fragments.

### 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

```shell
[debug] Command-line config: ['-vU', 'https://v.qq.com/x/cover/mzc00200fod41ms/t0047ckd93q.html']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version stable@2023.12.30 from yt-dlp/yt-dlp [f10589e34] (pip)
[debug] Python 3.11.5 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 (OpenSSL 3.0.9 30 May 2023)
[debug] exe versions: ffmpeg 6.0-full_build-www.gyan.dev (setts), ffprobe 6.0-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.19.1, brotli-1.1.0, certifi-2023.11.17, mutagen-1.47.0, requests-2.31.0, sqlite3-3.42.0, urllib3-2.1.0, websockets-12.0
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Loaded 1798 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: stable@2023.12.30 from yt-dlp/yt-dlp
yt-dlp is up to date (stable@2023.12.30 from yt-dlp/yt-dlp)
[vqq:video] Extracting URL: https://v.qq.com/x/cover/mzc00200fod41ms/t0047ckd93q.html
[vqq:video] t0047ckd93q: Downloading webpage
[vqq:video] t0047ckd93q: Downloading webpage
[vqq:video] t0047ckd93q: Downloading webpage
[vqq:video] t0047ckd93q: Downloading m3u8 information
WARNING: [vqq:video] Failed to download m3u8 information: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1006)
[vqq:video] t0047ckd93q: Downloading m3u8 information
WARNING: [vqq:video] Failed to download m3u8 information: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1006)
[vqq:video] t0047ckd93q: Downloading m3u8 information
WARNING: [vqq:video] Failed to download m3u8 information: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1006)
[vqq:video] t0047ckd93q: Downloading m3u8 information
[vqq:video] t0047ckd93q: Downloading m3u8 information
WARNING: [vqq:video] Failed to download m3u8 information: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1006)
[vqq:video] t0047ckd93q: Downloading m3u8 information
WARNING: [vqq:video] Failed to download m3u8 information: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1006)
[vqq:video] t0047ckd93q: Downloading m3u8 information
WARNING: [vqq:video] Failed to download m3u8 information: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1006)
[vqq:video] t0047ckd93q: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, size, br, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] t0047ckd93q: Downloading 1 format(s): shd
[debug] Invoking hlsnative downloader on "https://apd-vlive.apdcdn.tc.qq.com/defaultts.tc.qq.com/B_JxNyiJmktHRgresXhfyMemKBGV0s8OsqORPjtGqTCo9oWlsSqcVkvlEZJFT0DkK8/svp_50112/KETThofcoF8hMG1SaFy_w-LAn8L5F_RCyciYh98jLZQiPujw3INXKW59nwKt_dqPAUd9yUaUrQ5t0EwZ2YJdlQQHqk6egZw9jbOTzAS9iISiLoK_y5X5KcsbmqkCwYlghFDdsHnemuBmPBeWZhblMkLLiKNNyOJ--HPMn6H6IcSmoxkGcn_HyhoPu7cj0_7A/gzc_1000102_0b53duadsaaaxqalrbeodrs4ahodhenqapka.f322063.ts.m3u8?ver=4"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 134
[download] Destination: 大王饶命第2季第02话_动漫_高清完整版视频在线观看 [t0047ckd93q].mp4
[debug] File locking is not supported. Proceeding without locking
[download] Got error: HTTP Error 564: None. Retrying (1/10)...
[download] Got error: HTTP Error 564: None. Retrying (2/10)...
[download] Got error: HTTP Error 564: None. Retrying (3/10)...
[download] Got error: HTTP Error 564: None. Retrying (4/10)...
[download] Got error: HTTP Error 564: None. Retrying (5/10)...
[download] Got error: HTTP Error 564: None. Retrying (6/10)...
[download] Got error: HTTP Error 564: None. Retrying (7/10)...
[download] Got error: HTTP Error 564: None. Retrying (8/10)...
[download] Got error: HTTP Error 564: None. Retrying (9/10)...
[download] Got error: HTTP Error 564: None. Retrying (10/10)...
[download] Got error: HTTP Error 564: None. Giving up after 10 retries
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Scripts\yt-dlp.exe\__main__.py", line 7, in <module>
    sys.exit(main())
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\__init__.py", line 1009, in main

    _exit(*variadic(_real_main(argv)))
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\__init__.py", line 999, in _real_main
    return ydl.download(all_urls)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 3541, in download
    self.__download_wrapper(self.extract_info)(
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 3516, in wrapper
    res = func(*args, **kwargs)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1576, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1587, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1743, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1802, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 2952, in process_video_result
    self.process_info(new_info)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 3418, in process_info
    success, real_download = self.dl(temp_filename, info_dict)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 3139, in dl
    return fd.download(name, new_info, subtitle)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\downloader\common.py", line 455, in download
    ret = self.real_download(filename, info_dict)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\downloader\hls.py", line 375, in real_download
    return self.download_and_append_fragments(ctx, fragments, info_dict)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\downloader\fragment.py", line 514, in download_and_append_fragments
    download_fragment(fragment, ctx)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\downloader\fragment.py", line 463, in download_fragment
    if not self._download_fragment(
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\downloader\fragment.py", line 125, in _download_fragment
    success, _ = ctx['dl'].download(fragment_filename, fragment_info_dict)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\downloader\common.py", line 455, in download
    ret = self.real_download(filename, info_dict)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\downloader\http.py", line 362, in real_download
    for retry in RetryManager(self.params.get('retries'), self.report_retry):
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\utils\_utils.py", line 5046, in __iter__
    self.error_callback(self.error, self.attempt, self.retries)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\downloader\common.py", line 401, in report_retry
    RetryManager.report_retry(
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\utils\_utils.py", line 5053, in report_retry
    return error(f'{e}. Giving up after {count - 1} retries') if count > 1 else error(str(e))
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-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 "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1054, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "C:\Users\cypte\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 982, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

[download] fragment not found; Skipping fragment 1 ...
[download] Got error: HTTP Error 564: None. Retrying (1/10)...

ERROR: Interrupted by user
```