Repository: yt-dlp
Issue: Using aria2c as a downloader when writing to a subdirectory
Labels: bug,cant-reproduce,core:downloader

### Checklist

- [X] I'm reporting a bug unrelated to a specific site
- [X] I've verified that I'm running yt-dlp version **2022.04.08** ([update instructions](https://github.com/yt-dlp/yt-dlp#update)) or later (specify commit)
- [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)

### Description

I think there's a problem passing an output path with a slash in it to aria2c.

`yt-dlp https://www.youtube.com/channel/UCGNPgdt9OqPNeFuUqG9r0Mw/playlists --downloader aria2c --downloader-args aria2c:'-j 16 -s 16 -x 16 -k 1M' -o '%(uploader)s/%(title)s.%(ext)s'`

`ERROR: Unable to open fragment 0; [Errno 2] No such file or directory: 'Didsbury Art Studio/HOW TO MAKE A SUFFOLK PUFF OR (YO YO)  _ Creative Textile Art Technique _ Didsbury Art Studio.f243.webm.part-Frag0'`

If I had to guess, aria2c is expecting yt-dlp to create the path for it. If that's the case, it's a toss-up whether yt-dlp should be creating the directories, or aria2c should be accepting a mkdir-style `--parents` switch.



### Verbose log

```shell
[debug] Command-line config: ['-vU', 'https://www.youtube.com/channel/UCGNPgdt9OqPNeFuUqG9r0Mw/playlists', '--downloader', 'aria2c', '--downloader-args', 'aria2c:-j 16 -s 16 -x 16 -k 1M', '-o', '%(uploader)s/%(title)s.%(ext)s']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, err UTF-8, pref UTF-8
[debug] yt-dlp version 2022.04.08 [7884ade65]
[debug] Python version 3.6.9 (CPython 64bit) - Linux-4.15.0-175-generic-x86_64-with-Ubuntu-18.04-bionic
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 3.4.8, ffprobe 3.4.8, phantomjs ., rtmpdump 2.4
[debug] Optional libraries: brotli, certifi, Cryptodome, secretstorage, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2022.04.08, Current version: 2022.04.08
yt-dlp is up to date (2022.04.08)
[debug] [youtube:tab] Extracting URL: https://www.youtube.com/channel/UCGNPgdt9OqPNeFuUqG9r0Mw/playlists
[youtube:tab] UCGNPgdt9OqPNeFuUqG9r0Mw: Downloading webpage
[debug] [youtube:tab] Final URL: https://www.youtube.com/channel/UCGNPgdt9OqPNeFuUqG9r0Mw/playlists
[download] Downloading playlist: Didsbury Art Studio - Playlists
[youtube:tab] playlist Didsbury Art Studio - Playlists: Downloading 19 videos
[download] Downloading video 1 of 19
[debug] [youtube:tab] Extracting URL: https://www.youtube.com/playlist?list=PLo5nZIU3ojGLYDAgBjtWfBKpfTKBLuiWH
[youtube:tab] PLo5nZIU3ojGLYDAgBjtWfBKpfTKBLuiWH: Downloading webpage
[debug] [youtube:tab] Final URL: https://www.youtube.com/playlist?list=PLo5nZIU3ojGLYDAgBjtWfBKpfTKBLuiWH
[youtube:tab] PLo5nZIU3ojGLYDAgBjtWfBKpfTKBLuiWH: Downloading API JSON with unavailable videos
[download] Downloading playlist: Textile Techniques
[youtube:tab] playlist Textile Techniques: Downloading 9 videos
[download] Downloading video 1 of 9
[debug] [youtube] Extracting URL: https://www.youtube.com/watch?v=wlM6FGPQePU
[youtube] wlM6FGPQePU: Downloading webpage
[youtube] wlM6FGPQePU: Downloading android player API JSON
[youtube] wlM6FGPQePU: Downloading MPD manifest
[youtube] wlM6FGPQePU: Downloading MPD manifest
[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] wlM6FGPQePU: Downloading 1 format(s): 243+251
[debug] Invoking downloader on "https://manifest.googlevideo.com/api/manifest/dash/expire/1649724375/ei/d3dUYs-2AbWjvdIPooy6gAw/ip/81.187.83.139/id/c2533a1463d078f5/source/youtube/requiressl/yes/playback_host/rr1---sn-aigzrnld.googlevideo.com/mh/ZO/mm/31%2C26/mn/sn-aigzrnld%2Csn-5hne6nsy/ms/au%2Conr/mv/m/mvi/1/pl/16/hfr/all/as/fmp4_audio_clear%2Cwebm_audio_clear%2Cwebm2_audio_clear%2Cfmp4_sd_hd_clear%2Cwebm2_sd_hd_clear/initcwndbps/2120000/spc/4ocVC-ai1l16r1YwGeWSTs51iV_c/vprv/1/mt/1649702454/fvip/4/keepalive/yes/fexp/24001373%2C24007246/itag/0/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Chfr%2Cas%2Cspc%2Cvprv%2Citag/sig/AOq0QJ8wRAIgJIQUjuElHFu2ilCsTeF8cLOWSIIOgZdkyjicIyZzk9wCIBKw628wWR2SjH5hPaPZdLpszelw4hAe121WQegKJb1j/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AG3C_xAwRgIhAKJhVUQCNtT8XgulVTzyp43WM3TqSDVxV1FmdZ7We7k5AiEA2wtXD7-txXnRhSAH_2h-cpalvjkcSdJ_o5U6gd2VKFg%3D"
[dashsegments] Total fragments: 168
[dashsegments] Fragment downloads will be delegated to aria2c
[download] Destination: Didsbury Art Studio/HOW TO MAKE A SUFFOLK PUFF OR (YO YO)  _ Creative Textile Art Technique _ Didsbury Art Studio.f243.webm
[debug] aria2c command line: aria2c -c --console-log-level=warn --summary-interval=0 --download-result=hide --http-accept-gzip=true --file-allocation=none -x16 -j16 -s16 --allow-overwrite=true --allow-piece-length-change=true --header 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36' --header 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' --header 'Accept-Language: en-us,en;q=0.5' --header 'Sec-Fetch-Mode: navigate' --check-certificate=true --remote-time=true --show-console-readout=true -j 16 -s 16 -x 16 -k 1M --dir './Didsbury Art Studio/' --auto-file-renaming=false --file-allocation=none --uri-selector=inorder -i 'Didsbury Art Studio/HOW TO MAKE A SUFFOLK PUFF OR (YO YO)  _ Creative Textile Art Technique _ Didsbury Art Studio.f243.webm.part.frag.urls'
No files to download.
ERROR: Unable to open fragment 0; [Errno 2] No such file or directory: 'Didsbury Art Studio/HOW TO MAKE A SUFFOLK PUFF OR (YO YO)  _ Creative Textile Art Technique _ Didsbury Art Studio.f243.webm.part-Frag0'
Traceback (most recent call last):
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/downloader/external.py", line 159, in _call_downloader
    src, _ = self.sanitize_open(fragment_filename, 'rb')
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/downloader/common.py", line 221, in inner
    return func(self, *args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/downloader/common.py", line 238, in sanitize_open
    f, filename = sanitize_open(filename, open_mode)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/utils.py", line 691, in sanitize_open
    stream = locked_file(filename, open_mode, block=False).__enter__()
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/utils.py", line 2239, in __init__
    self.f = os.fdopen(os.open(filename, flags), mode, encoding=encoding)
FileNotFoundError: [Errno 2] No such file or directory: 'Didsbury Art Studio/HOW TO MAKE A SUFFOLK PUFF OR (YO YO)  _ Creative Textile Art Technique _ Didsbury Art Studio.f243.webm.part-Frag0'



ERROR: aria2c exited with code -1
  File "/home/d/.local/bin/yt-dlp", line 11, in <module>
    sys.exit(main())
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/__init__.py", line 869, in main
    _real_main(argv)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/__init__.py", line 859, in _real_main
    retcode = ydl.download(all_urls)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 3265, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 3237, in wrapper
    res = func(*args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1399, in extract_info
    return self.__extract_info(url, self.get_info_extractor(ie_key), download, extra_info, process)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1408, in wrapper
    return func(self, *args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1492, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1613, in process_ie_result
    return self.__process_playlist(ie_result, download)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1812, in __process_playlist
    entry_result = self.__process_iterable_entry(entry, download, extra)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1408, in wrapper
    return func(self, *args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1835, in __process_iterable_entry
    entry, download=download, extra_info=extra_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1570, in process_ie_result
    extra_info=extra_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1399, in extract_info
    return self.__extract_info(url, self.get_info_extractor(ie_key), download, extra_info, process)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1408, in wrapper
    return func(self, *args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1492, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1613, in process_ie_result
    return self.__process_playlist(ie_result, download)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1812, in __process_playlist
    entry_result = self.__process_iterable_entry(entry, download, extra)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1408, in wrapper
    return func(self, *args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1835, in __process_iterable_entry
    entry, download=download, extra_info=extra_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1570, in process_ie_result
    extra_info=extra_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1399, in extract_info
    return self.__extract_info(url, self.get_info_extractor(ie_key), download, extra_info, process)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1408, in wrapper
    return func(self, *args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1492, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1548, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 2648, in process_video_result
    self.process_info(new_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 3120, in process_info
    partial_success, real_download = self.dl(fname, new_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 2846, in dl
    return fd.download(name, new_info, subtitle)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/downloader/common.py", line 457, in download
    ret = self.real_download(filename, info_dict)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/downloader/dash.py", line 52, in real_download
    return fd.real_download(filename, info_dict)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/downloader/external.py", line 70, in real_download
    self.get_basename(), retval))
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/downloader/common.py", line 178, in report_error
    self.ydl.report_error(*args, **kargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 950, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 884, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())


[debug] Invoking downloader on "https://rr1---sn-aigl6nek.googlevideo.com/videoplayback?expire=1649724375&ei=d3dUYozxL9CKvdIPwcqD0AY&ip=81.187.83.139&id=o-AFBu3DugroDcDUg0lnPZ8JZfsAv7rKo66gx65sgkN_aH&itag=251&source=youtube&requiressl=yes&mh=ZO&mm=31%2C26&mn=sn-aigl6nek%2Csn-5hne6nsy&ms=au%2Conr&mv=m&mvi=1&pl=16&pcm2=yes&initcwndbps=2120000&vprv=1&mime=audio%2Fwebm&gir=yes&clen=10877262&otfp=1&dur=890.441&lmt=1636216421000421&mt=1649702454&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=6211224&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cpcm2%2Cvprv%2Cmime%2Cgir%2Cclen%2Cotfp%2Cdur%2Clmt&sig=AOq0QJ8wRQIhALPne3bbrfQbYEqPiddvF3OzmouKnGXkpdpykmc4n-T_AiAI2PsGBDcxsQG-TmmCYIkb8_EmHDK8QntaCPhdthI9lQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgYNVg6SdYpJDPlZD-3ihv1JHxrNfJJcrAzbdxjzfP-IICIE_0tDCDkQ2e_4Nz1s0fksQtcOQbLaC20d8OJlvWe2x7"
[download] Destination: Didsbury Art Studio/HOW TO MAKE A SUFFOLK PUFF OR (YO YO)  _ Creative Textile Art Technique _ Didsbury Art Studio.f251.webm
[debug] aria2c command line: aria2c -c --console-log-level=warn --summary-interval=0 --download-result=hide --http-accept-gzip=true --file-allocation=none -x16 -j16 -s16 --min-split-size 1M --header 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36' --header 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' --header 'Accept-Language: en-us,en;q=0.5' --header 'Sec-Fetch-Mode: navigate' --check-certificate=true --remote-time=true --show-console-readout=true -j 16 -s 16 -x 16 -k 1M --dir './Didsbury Art Studio/' --out './HOW TO MAKE A SUFFOLK PUFF OR (YO YO)  _ Creative Textile Art Technique _ Didsbury Art Studio.f251.webm.part' --auto-file-renaming=false -- 'https://rr1---sn-aigl6nek.googlevideo.com/videoplayback?expire=1649724375&ei=d3dUYozxL9CKvdIPwcqD0AY&ip=81.187.83.139&id=o-AFBu3DugroDcDUg0lnPZ8JZfsAv7rKo66gx65sgkN_aH&itag=251&source=youtube&requiressl=yes&mh=ZO&mm=31%2C26&mn=sn-aigl6nek%2Csn-5hne6nsy&ms=au%2Conr&mv=m&mvi=1&pl=16&pcm2=yes&initcwndbps=2120000&vprv=1&mime=audio%2Fwebm&gir=yes&clen=10877262&otfp=1&dur=890.441&lmt=1636216421000421&mt=1649702454&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=6211224&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cpcm2%2Cvprv%2Cmime%2Cgir%2Cclen%2Cotfp%2Cdur%2Clmt&sig=AOq0QJ8wRQIhALPne3bbrfQbYEqPiddvF3OzmouKnGXkpdpykmc4n-T_AiAI2PsGBDcxsQG-TmmCYIkb8_EmHDK8QntaCPhdthI9lQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgYNVg6SdYpJDPlZD-3ihv1JHxrNfJJcrAzbdxjzfP-IICIE_0tDCDkQ2e_4Nz1s0fksQtcOQbLaC20d8OJlvWe2x7'

04/11 18:46:18 [ERROR] CUID#7 - Download aborted. URI=https://rr1---sn-aigl6nek.googlevideo.com/videoplayback?expire=1649724375&ei=d3dUYozxL9CKvdIPwcqD0AY&ip=81.187.83.139&id=o-AFBu3DugroDcDUg0lnPZ8JZfsAv7rKo66gx65sgkN_aH&itag=251&source=youtube&requiressl=yes&mh=ZO&mm=31%2C26&mn=sn-aigl6nek%2Csn-5hne6nsy&ms=au%2Conr&mv=m&mvi=1&pl=16&pcm2=yes&initcwndbps=2120000&vprv=1&mime=audio%2Fwebm&gir=yes&clen=10877262&otfp=1&dur=890.441&lmt=1636216421000421&mt=1649702454&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=6211224&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cpcm2%2Cvprv%2Cmime%2Cgir%2Cclen%2Cotfp%2Cdur%2Clmt&sig=AOq0QJ8wRQIhALPne3bbrfQbYEqPiddvF3OzmouKnGXkpdpykmc4n-T_AiAI2PsGBDcxsQG-TmmCYIkb8_EmHDK8QntaCPhdthI9lQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgYNVg6SdYpJDPlZD-3ihv1JHxrNfJJcrAzbdxjzfP-IICIE_0tDCDkQ2e_4Nz1s0fksQtcOQbLaC20d8OJlvWe2x7
Exception: [AbstractCommand.cc:403] errorCode=16 URI=https://rr1---sn-aigl6nek.googlevideo.com/videoplayback?expire=1649724375&ei=d3dUYozxL9CKvdIPwcqD0AY&ip=81.187.83.139&id=o-AFBu3DugroDcDUg0lnPZ8JZfsAv7rKo66gx65sgkN_aH&itag=251&source=youtube&requiressl=yes&mh=ZO&mm=31%2C26&mn=sn-aigl6nek%2Csn-5hne6nsy&ms=au%2Conr&mv=m&mvi=1&pl=16&pcm2=yes&initcwndbps=2120000&vprv=1&mime=audio%2Fwebm&gir=yes&clen=10877262&otfp=1&dur=890.441&lmt=1636216421000421&mt=1649702454&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=6211224&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cpcm2%2Cvprv%2Cmime%2Cgir%2Cclen%2Cotfp%2Cdur%2Clmt&sig=AOq0QJ8wRQIhALPne3bbrfQbYEqPiddvF3OzmouKnGXkpdpykmc4n-T_AiAI2PsGBDcxsQG-TmmCYIkb8_EmHDK8QntaCPhdthI9lQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgYNVg6SdYpJDPlZD-3ihv1JHxrNfJJcrAzbdxjzfP-IICIE_0tDCDkQ2e_4Nz1s0fksQtcOQbLaC20d8OJlvWe2x7
  -> [RequestGroup.cc:760] errorCode=16 Download aborted.
  -> [AbstractDiskWriter.cc:224] errNum=13 errorCode=16 Failed to open the file ./Didsbury Art Studio//./HOW TO MAKE A SUFFOLK PUFF OR (YO YO)  _ Creative Textile Art Technique _ Didsbury Art Studio.f251.webm.part, cause: Permission denied

aria2 will resume download if the transfer is restarted.
If there are any errors, then see the log file. See '-l' option in help/man page for details.



ERROR: aria2c exited with code 16
  File "/home/d/.local/bin/yt-dlp", line 11, in <module>
    sys.exit(main())
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/__init__.py", line 869, in main
    _real_main(argv)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/__init__.py", line 859, in _real_main
    retcode = ydl.download(all_urls)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 3265, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 3237, in wrapper
    res = func(*args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1399, in extract_info
    return self.__extract_info(url, self.get_info_extractor(ie_key), download, extra_info, process)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1408, in wrapper
    return func(self, *args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1492, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1613, in process_ie_result
    return self.__process_playlist(ie_result, download)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1812, in __process_playlist
    entry_result = self.__process_iterable_entry(entry, download, extra)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1408, in wrapper
    return func(self, *args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1835, in __process_iterable_entry
    entry, download=download, extra_info=extra_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1570, in process_ie_result
    extra_info=extra_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1399, in extract_info
    return self.__extract_info(url, self.get_info_extractor(ie_key), download, extra_info, process)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1408, in wrapper
    return func(self, *args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1492, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1613, in process_ie_result
    return self.__process_playlist(ie_result, download)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1812, in __process_playlist
    entry_result = self.__process_iterable_entry(entry, download, extra)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1408, in wrapper
    return func(self, *args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1835, in __process_iterable_entry
    entry, download=download, extra_info=extra_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1570, in process_ie_result
    extra_info=extra_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1399, in extract_info
    return self.__extract_info(url, self.get_info_extractor(ie_key), download, extra_info, process)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1408, in wrapper
    return func(self, *args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1492, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1548, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 2648, in process_video_result
    self.process_info(new_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 3120, in process_info
    partial_success, real_download = self.dl(fname, new_info)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 2846, in dl
    return fd.download(name, new_info, subtitle)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/downloader/common.py", line 457, in download
    ret = self.real_download(filename, info_dict)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/downloader/external.py", line 70, in real_download
    self.get_basename(), retval))
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/downloader/common.py", line 178, in report_error
    self.ydl.report_error(*args, **kargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 950, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/home/d/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 884, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())
```