[x] I've verified that I'm running youtube-dlc version 2020.11.11-2 (built from source code 2020.11.11-3, yet --version gives this)
[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
[x] I've searched the bugtracker for similar bug reports including closed ones
Verbose log
LOG A:
[download] 100% of 34.18MiB in 01:26
[ffmpeg] Adding metadata to 'C:\Users\user_name\Videos\yt-dlc\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\33 - Inkscape for Beginners - Vintage Logo Tutorial.mp4'
[6608] Failed to execute script __main__
Traceback (most recent call last):
File "youtube_dlc\__main__.py", line 19, in <module>
File "youtube_dlc\__init__.py", line 487, in main
File "youtube_dlc\__init__.py", line 477, in _real_main
File "youtube_dlc\YoutubeDL.py", line 2104, in download
File "youtube_dlc\YoutubeDL.py", line 846, in extract_info
File "youtube_dlc\YoutubeDL.py", line 1046, in process_ie_result
File "youtube_dlc\YoutubeDL.py", line 908, in process_ie_result
File "youtube_dlc\YoutubeDL.py", line 846, in extract_info
File "youtube_dlc\YoutubeDL.py", line 901, in process_ie_result
File "youtube_dlc\YoutubeDL.py", line 1696, in process_video_result
File "youtube_dlc\YoutubeDL.py", line 2085, in process_info
File "youtube_dlc\YoutubeDL.py", line 2150, in post_process
File "youtube_dlc\postprocessor\ffmpeg.py", line 536, in run
FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'C:\\Users\\user_name\\Videos\\yt-dlc\\Logos By Nick\\playlists\\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\\33 - Inkscape for Beginners - Vintage Logo Tutorial.temp.mp4' -> 'C:\\Users\\user_name\\Videos\\yt-dlc\\Logos By Nick\\playlists\\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\\33 - Inkscape for Beginners - Vintage Logo Tutorial.mp4'
LOG B:
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '-f', '22', '-r', '0.4M', '--download-archive', 'C:\\Users\\user_name\\Documents\\#yt-dlc-archives\\youtube-archives\\test\\test-archive.txt', '--add-metadata', '-o', 'C:\\Users\\user_name\\Videos\\yt-dlc\\test\\%(uploader)s\\playlists\\%(playlist)s\\%(playlist_index)s - %(title)s.%(ext)s', 'https://www.youtube.com/playlist?list=PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4']
[debug] Loading archive file 'C:\\Users\\user_name\\Documents\\#yt-dlc-archives\\youtube-archives\\test\\test-archive.txt'
[debug] Encodings: locale cp1252, fs utf-8, out cp1252, pref cp1252
[debug] youtube-dlc version 2020.11.11-2
[debug] Python version 3.7.9 (CPython) - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg 4.3.1, ffprobe 4.3.1
[debug] Proxy map: {}
[youtube:playlist] PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4: Downloading webpage
[download] Downloading playlist: PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4
[youtube:playlist] playlist PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4: Downloading 54 videos
[download] Downloading video 1 of 54
[youtube] X1SGxjMWbZs: Downloading webpage
[debug] Invoking downloader on 'https://r3---sn-n5ow05o2g-nw0l.googlevideo.com/videoplayback?expire=1607421478&ei=xvnOX-qeMd_ZzLUPm9iU4A4&ip=74.213.80.223&id=o-ACPngs-zfnVqR6NS0k3HRbHrM75-lHZU_6rsf-Vo9fZW&itag=22&source=youtube&requiressl=yes&mh=TE&mm=31%2C29&mn=sn-n5ow05o2g-nw0l%2Csn-hp57kn6s&ms=au%2Crdu&mv=m&mvi=3&pl=24&initcwndbps=1291250&vprv=1&mime=video%2Fmp4&ns=WAAleEoeZIRpQVe4YB79nNoF&ratebypass=yes&dur=441.202&lmt=1498909794729986&mt=1607399564&fvip=5&c=WEB&n=pondyBgXv7ocN9YD3&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAJX7FNYqb_fR430cibXVu01TDz-VCZpMzheaDT78JvVzAiADrcwxp9AVaK24tb7j88BKMLkB-xP3K0NgQO2PZZTdYg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRgIhAMzWZnekbGSoGvViEx8NCBk2gHY_Bkzsqn4N1_25ua9sAiEAlthabt0dniRU23kzVNUNG5LEoVgmwr2rN_dyhqo7Zhw%3D'
[download] C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\01 - Inkscape Beginner Tutorial - Inner Shadow Effect.mp4 has already been downloaded
[download] 100% of 11.15MiB
[ffmpeg] Adding metadata to 'C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\01 - Inkscape Beginner Tutorial - Inner Shadow Effect.mp4'
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\01 - Inkscape Beginner Tutorial - Inner Shadow Effect.mp4" -map 0 -c copy -metadata "title=Inkscape Beginner Tutorial: Inner Shadow Effect" -metadata "date=20170620" -metadata "description=Create an inner shadow ... [DESCRIPTION EDITED FOR LESS TEXT] ... used with written permission" -metadata "purl=https://www.youtube.com/watch?v=X1SGxjMWbZs" -metadata "artist=Logos By Nick" "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\01 - Inkscape Beginner Tutorial - Inner Shadow Effect.temp.mp4"
[download] Downloading video 2 of 54
[youtube] 7hcxuwDKo6I: Downloading webpage
[debug] Invoking downloader on 'https://r2---sn-n5ow05o2g-nw0l.googlevideo.com/videoplayback?expire=1607421480&ei=yPnOX729H8W7kAT704PADw&ip=74.213.80.223&id=o-ABI1vnXc9ctMyGtUhalLuHRCo8MYGsmY7Gqm9BMsUkAY&itag=22&source=youtube&requiressl=yes&mh=D0&mm=31%2C29&mn=sn-n5ow05o2g-nw0l%2Csn-hp57yne6&ms=au%2Crdu&mv=m&mvi=2&pl=24&initcwndbps=1291250&vprv=1&mime=video%2Fmp4&ns=aD0rkfiWd1sDFerkPwLEN2MF&ratebypass=yes&dur=717.125&lmt=1539465607715490&mt=1607399564&fvip=4&c=WEB&txp=5431432&n=FytoDdG7lDgnjlAko&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRQIgDmu8U8B3SS0PtFJrOaHSYOgvR5QbelDpVunO9KsCQMQCIQCFTJJAOW06qHI8cAGM9pA85c5CL5XUPuUEcsoef7wq_Q%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgOldAymQtyI_wuxbFb5JXpTXAkqd1j8wPEjZs6gb4AK4CIQDUIC00ct2X-ymKwItvNAsGsGRGNRn_8vg38dSf6-58lw%3D%3D'
[download] Destination: C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\02 - Inkscape for Beginners - Vector Abstract Background Tutorial.mp4
[download] 100% of 19.17MiB in 00:49
[ffmpeg] Adding metadata to 'C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\02 - Inkscape for Beginners - Vector Abstract Background Tutorial.mp4'
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\02 - Inkscape for Beginners - Vector Abstract Background Tutorial.mp4" -map 0 -c copy -metadata "title=Inkscape for Beginners: Vector Abstract Background Tutorial" -metadata "date=20170613" -metadata "description=Similar to my low ... [DESCRIPTION EDITED FOR LESS TEXT] ... used with written permission" -metadata "purl=https://www.youtube.com/watch?v=7hcxuwDKo6I" -metadata "artist=Logos By Nick" "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\02 - Inkscape for Beginners - Vector Abstract Background Tutorial.temp.mp4"
[download] Downloading video 3 of 54
[youtube] r9WLZgfr-NQ: Downloading webpage
[debug] Invoking downloader on 'https://r1---sn-n5ow05o2g-nw0l.googlevideo.com/videoplayback?expire=1607421531&ei=-_nOX-v3JKnfkAT8pIn4BQ&ip=74.213.80.223&id=o-AJk39phJdgJdtJvgZvuDmsUMUAl0teWCMyfaEeFnDRK4&itag=22&source=youtube&requiressl=yes&mh=rD&mm=31%2C29&mn=sn-n5ow05o2g-nw0l%2Csn-hp57ynel&ms=au%2Crdu&mv=m&mvi=1&pl=24&initcwndbps=1291250&vprv=1&mime=video%2Fmp4&ns=R-Xrky1FWQY65FE22RNqBCYF&ratebypass=yes&dur=573.254&lmt=1543243737806222&mt=1607399564&fvip=5&c=WEB&txp=5432432&n=nWIjHw06_ynAyqt6T&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAJMfJi0Ge13tWxjGSaCDF_doeSQUtyzlGac0mjSWGzU5AiAQmbhp2BzXL5FLvtfDThSDQ-e7R5ZUHvc1TqaFLUd98g%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgTe2uDNc049RaAQeXlmVH0p-Jf8anpe1AYjDGMireE0gCIQDVvDKV6YWd5ejeQlCc950BD0UzHzwChn-1R28Gjl3Byw%3D%3D'
[download] Destination: C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\03 - Inkscape for Beginners - Infinite Loop Icon.mp4
[download] 100% of 15.35MiB in 00:38
[ffmpeg] Adding metadata to 'C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\03 - Inkscape for Beginners - Infinite Loop Icon.mp4'
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\03 - Inkscape for Beginners - Infinite Loop Icon.mp4" -map 0 -c copy -metadata "title=Inkscape for Beginners: Infinite Loop Icon" -metadata "date=20170516" -metadata "description=Design a vector infinite ... [DESCRIPTION EDITED FOR LESS TEXT] ... used with written permission" -metadata "purl=https://www.youtube.com/watch?v=r9WLZgfr-NQ" -metadata "artist=Logos By Nick" "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\03 - Inkscape for Beginners - Infinite Loop Icon.temp.mp4"
[download] Downloading video 4 of 54
[youtube] pICn4QTf3pQ: Downloading webpage
[debug] Invoking downloader on 'https://r3---sn-n5ow05o2g-nw0l.googlevideo.com/videoplayback?expire=1607421572&ei=JPrOX8nvBquWkAT4n4-ADg&ip=74.213.80.223&id=o-AJYULaPJd3id5DPk-oBzyNDWwe9DUXMwWRaer4TcWcAP&itag=22&source=youtube&requiressl=yes&mh=Nw&mm=31%2C29&mn=sn-n5ow05o2g-nw0l%2Csn-hp57knly&ms=au%2Crdu&mv=m&mvi=3&pl=24&initcwndbps=1290000&vprv=1&mime=video%2Fmp4&ns=pNhKLPvBf4Z4Qjq7k5UW9kgF&ratebypass=yes&dur=866.591&lmt=1490878253204755&mt=1607399793&fvip=3&c=WEB&n=V3u0zZR24ZINw9H-y&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRQIhANTfWt_zz2iHAYpGnwVtHyCdi9o4rCJUvBrWFepBYMR4AiBUsVHTjZ6gW8hBKqYAL35ZWZOXGO7EQi_8yrS4glH8bA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRgIhAPRtItWrV-8X-2hQ6cRH-bNu5R1DmJFqfL7OB6FwLrK3AiEApKVlB6XPuWBNeCtAJEQIAEScjLCsT6BTYXFISa7Ah8Q%3D'
[download] Destination: C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\04 - Inkscape for Beginners - Drone Icon Vector Tutorial.mp4
[download] 100% of 33.89MiB in 01:25
[ffmpeg] Adding metadata to 'C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\04 - Inkscape for Beginners - Drone Icon Vector Tutorial.mp4'
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\04 - Inkscape for Beginners - Drone Icon Vector Tutorial.mp4" -map 0 -c copy -metadata "title=Inkscape for Beginners: Drone Icon Vector Tutorial" -metadata "date=20170328" -metadata "description=In today's tutorial ... [DESCRIPTION EDITED FOR LESS TEXT] ... used with written permission" -metadata "comment=In today's ... [COMMENT EDITED FOR LESS TEXT] ... used with written permission" -metadata "purl=https://www.youtube.com/watch?v=pICn4QTf3pQ" -metadata "artist=Logos By Nick" "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\04 - Inkscape for Beginners - Drone Icon Vector Tutorial.temp.mp4"
[download] Downloading video 5 of 54
[youtube] CDsiumWSc_I: Downloading webpage
[debug] Invoking downloader on 'https://r1---sn-n5ow05o2g-nw0l.googlevideo.com/videoplayback?expire=1607421659&ei=e_rOX7K9IMG-lAOdyrLYDQ&ip=74.213.80.223&id=o-AMNpXeiSptdFDTpAHUgBIejLcHyeggN6Va6tzaWhQsk0&itag=22&source=youtube&requiressl=yes&mh=SK&mm=31%2C29&mn=sn-n5ow05o2g-nw0l%2Csn-hp57ynee&ms=au%2Crdu&mv=m&mvi=1&pl=24&initcwndbps=1290000&vprv=1&mime=video%2Fmp4&ns=7uBhq4BiR0FlZqCGTlFjH4gF&ratebypass=yes&dur=602.650&lmt=1607083559504609&mt=1607399793&fvip=1&c=WEB&txp=5432432&n=ukQ-0G5r0wP5MJrsq&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRgIhAL1qyZWxFXU3WW_pQicuJXjINBUhgliI87nPPQxjgtFzAiEAlZBw_yIsVkwxj7WsHwzpV3yaPM0QxT-OEM93yWma9mA%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgWPZLsK_dxgr1N08wJLS1ULENinDZu4jk8aNTHq-YKToCIC_LFAFYEXggX0mraHYAHUx_mKtHY-_xq2h3U6dGZMYZ'
[download] Destination: C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\05 - Inkscape for Beginners - Text Styling Tutorial.mp4
[download] 100% of 14.19MiB in 00:36
[ffmpeg] Adding metadata to 'C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\05 - Inkscape for Beginners - Text Styling Tutorial.mp4'
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\05 - Inkscape for Beginners - Text Styling Tutorial.mp4" -map 0 -c copy -metadata "title=Inkscape for Beginners: Text Styling Tutorial" -metadata "date=20170314" -metadata "description=Sansita One font: ... [DESCRIPTION EDITED FOR LESS TEXT] ... used with written permission" -metadata "comment=Sansita One ... [COMMENT EDITED FOR LESS TEXT] ... used with written permission" -metadata "purl=https://www.youtube.com/watch?v=CDsiumWSc_I" -metadata "artist=Logos By Nick" "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\05 - Inkscape for Beginners - Text Styling Tutorial.temp.mp4"
[download] Downloading video 6 of 54
[youtube] JVAk_1qv_tA: Downloading webpage
[debug] Invoking downloader on 'https://r1---sn-n5ow05o2g-nw0l.googlevideo.com/videoplayback?expire=1607421697&ei=ofrOX5ybDozM4QSFtbawAQ&ip=74.213.80.223&id=o-ACiOFIAU3JIp3OmA3e9HVFuDJ4UYYP87zrUUvIxroS4l&itag=22&source=youtube&requiressl=yes&mh=bK&mm=31%2C29&mn=sn-n5ow05o2g-nw0l%2Csn-hp57kn6s&ms=au%2Crdu&mv=m&mvi=1&pcm2cms=yes&pl=24&initcwndbps=1290000&vprv=1&mime=video%2Fmp4&ns=KFwWqVI1hOvDBwCFy_dcCugF&ratebypass=yes&dur=845.461&lmt=1487999546022349&mt=1607399793&fvip=1&c=WEB&n=n5ILbhBDwhN6jRtg0&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRQIgDxa3ud3N1eMHSy-KSxGXsIPRWjimsRq-2R9_0HVPGVsCIQDZHSKnu3RzWZBwlSefHw2meco6S9NwFj75DgPFZWy4zg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgVWdGH8Nwf1K5LqekP8E69od7H-saCZLsnOuWJYtBNR8CIF2zMj134XUZPHgfxa0_0GiL_WuEVsf4c5zmhZqEEAgQ'
[download] Destination: C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\06 - Inkscape Tutorial - Low Poly Portrait.mp4
[download] 100% of 50.85MiB in 02:08
[ffmpeg] Adding metadata to 'C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\06 - Inkscape Tutorial - Low Poly Portrait.mp4'
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\06 - Inkscape Tutorial - Low Poly Portrait.mp4" -map 0 -c copy -metadata "title=Inkscape Tutorial: Low Poly Portrait" -metadata "date=20170221" -metadata "description=Design a vector low poly ... [DESCRIPTION EDITED FOR LESS TEXT] ... used with written permission" -metadata "comment=Design a vector low poly ... [COMMENT EDITED FOR LESS TEXT] ... used with written permission" -metadata "purl=https://www.youtube.com/watch?v=JVAk_1qv_tA" -metadata "artist=Logos By Nick" "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\06 - Inkscape Tutorial - Low Poly Portrait.temp.mp4"
[download] Downloading video 7 of 54
[youtube] 8Cl6IF3_n_U: Downloading webpage
[debug] Invoking downloader on 'https://r1---sn-n5ow05o2g-nw0l.googlevideo.com/videoplayback?expire=1607421827&ei=I_vOX5O0DPuAzLUP3oyP-Ak&ip=74.213.80.223&id=o-AINpWjpExQCbVh5vUfKQbxdJ-tbmerogVgeaP_gieM8X&itag=22&source=youtube&requiressl=yes&mh=Nq&mm=31%2C29&mn=sn-n5ow05o2g-nw0l%2Csn-hp57knzz&ms=au%2Crdu&mv=m&mvi=1&pl=24&initcwndbps=1290000&vprv=1&mime=video%2Fmp4&ns=lqjUcdadGcrp16uIz_-DNOwF&ratebypass=yes&dur=778.727&lmt=1542326451214413&mt=1607399793&fvip=1&c=WEB&txp=5431432&n=qsOKgE9z8dffUd-Or&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRgIhAIjQ1spmXHOBdoO03uNCqfgLGxqxUII91QEuslcwh_BEAiEA4hBZLKx2GVIahhv5CjwD9zJMCn-1JsCUA3rZx2MoQTo%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgUlFTHGQCsl-HtY3z5QRfqYTlCxos5eazR7hp-jnWgmoCIQDxK6-suzN4TrAjpqRW3BZ3CUCofAlTVcjAAujdUPiLQQ%3D%3D'
[download] Destination: C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\07 - Inkscape for Beginners - Heartbeat design Vector Tutorial.mp4
[download] 100% of 23.43MiB in 00:59
[ffmpeg] Adding metadata to 'C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\07 - Inkscape for Beginners - Heartbeat design Vector Tutorial.mp4'
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\07 - Inkscape for Beginners - Heartbeat design Vector Tutorial.mp4" -map 0 -c copy -metadata "title=Inkscape for Beginners: Heartbeat design Vector Tutorial" -metadata "date=20170131" -metadata "description=Today I'll be demonstrating ... [DESCRIPTION EDITED FOR LESS TEXT] ... used with written permission" -metadata "comment=Today I'll be demonstrating ... [COMMENT EDITED FOR LESS TEXT] ... used with written permission" -metadata "purl=https://www.youtube.com/watch?v=8Cl6IF3_n_U" -metadata "artist=Logos By Nick" "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\07 - Inkscape for Beginners - Heartbeat design Vector Tutorial.temp.mp4"
[download] Downloading video 8 of 54
[youtube] 62msKgMVirQ: Downloading webpage
[debug] Invoking downloader on 'https://r2---sn-n5ow05o2g-nw0l.googlevideo.com/videoplayback?expire=1607421888&ei=YPvOX6z3D6_Oj-8Py9u70A0&ip=74.213.80.223&id=o-AOLjX40aHB8Q9l-yDlwqAQ1fFE3ltIPC3TheQU-T-bNV&itag=22&source=youtube&requiressl=yes&mh=4D&mm=31%2C29&mn=sn-n5ow05o2g-nw0l%2Csn-hp57kn6s&ms=au%2Crdu&mv=m&mvi=2&pl=24&initcwndbps=1351250&vprv=1&mime=video%2Fmp4&ns=2HND1-zr-x9UGHkdotpLaOMF&ratebypass=yes&dur=989.448&lmt=1484801200753962&mt=1607400039&fvip=2&c=WEB&n=gx3UEyaHp3iELMJ8E&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRAIgR8sFmO3pM8C_rlZt_3QFNRHrNdnyJ763xGbHT6fO-BwCIECXCUUeEw4vN8UsXJHqANjCJdLoOugqSxRSy9X4SxWy&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwQwIfGyE_DUO4INodcYJYc6mc0xBlkozrUlMFtZLn37DnbgIgdj7uYlMWozlzzByTN_fHSHP-JqDonqViInHQ9t7KYiU%3D'
[download] Destination: C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\08 - Inkscape for Beginners - Retro Style Text Tutorial.mp4
[download] 100% of 73.05MiB in 03:03
[ffmpeg] Adding metadata to 'C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\08 - Inkscape for Beginners - Retro Style Text Tutorial.mp4'
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\08 - Inkscape for Beginners - Retro Style Text Tutorial.mp4" -map 0 -c copy -metadata "title=Inkscape for Beginners: Retro Style Text Tutorial" -metadata "date=20170117" -metadata "description=In today's tutorial I'll be ... [DESCRIPTION EDITED FOR LESS TEXT] ... used with written permission" -metadata "comment=In today's tutorial .... [COMMENT EDITED FOR LESS TEXT] .... used with written permission" -metadata "purl=https://www.youtube.com/watch?v=62msKgMVirQ" -metadata "artist=Logos By Nick" "file:C:\Users\user_name\Videos\yt-dlc\test\Logos By Nick\playlists\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\08 - Inkscape for Beginners - Retro Style Text Tutorial.temp.mp4"
[9244] Failed to execute script __main__
Traceback (most recent call last):
File "youtube_dlc\__main__.py", line 19, in <module>
File "youtube_dlc\__init__.py", line 487, in main
File "youtube_dlc\__init__.py", line 477, in _real_main
File "youtube_dlc\YoutubeDL.py", line 2104, in download
File "youtube_dlc\YoutubeDL.py", line 846, in extract_info
File "youtube_dlc\YoutubeDL.py", line 1046, in process_ie_result
File "youtube_dlc\YoutubeDL.py", line 908, in process_ie_result
File "youtube_dlc\YoutubeDL.py", line 846, in extract_info
File "youtube_dlc\YoutubeDL.py", line 901, in process_ie_result
File "youtube_dlc\YoutubeDL.py", line 1696, in process_video_result
File "youtube_dlc\YoutubeDL.py", line 2085, in process_info
File "youtube_dlc\YoutubeDL.py", line 2150, in post_process
File "youtube_dlc\postprocessor\ffmpeg.py", line 536, in run
FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'C:\\Users\\user_name\\Videos\\yt-dlc\\test\\Logos By Nick\\playlists\\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\\08 - Inkscape for Beginners - Retro Style Text Tutorial.temp.mp4' -> 'C:\\Users\\user_name\\Videos\\yt-dlc\\test\\Logos By Nick\\playlists\\PLynG8gQD-n8BMplEVZVsoYlaRgqzG1qc4\\08 - Inkscape for Beginners - Retro Style Text Tutorial.mp4'
Username was edited, replaced with 'user_name'.
Descriptions and Comments in metadata shortened (unnecessary text).
LOG A an example of output I got.
LOG B has debug info.
Description
As far as I know, this happens only when downloading a PL playlist. Have not tried other forms of downloading, such as multiple single videos. Still it is possible to happen in any download that uses ffmpeg.pyProblem:
When downloading a complete playlist from youtube, I would get the error seen in LOG A and LOG B. It happens randomly. It would download 2-5 videos, then on the 5th video the error occurred.
FileExistsError: [WinError 183]
Repeated tries gets the same error at the same video. I would delete the 5th video (the one just downloaded when error triggered), and retry. With luck, download continues normally until on the 16th video the same error occurs.
Rinse and repeat.
What seems to happen:
From what I saw, this is what youtube-dlc does:
From the playlist, video1.mp4.part is created.
When download is complete, video1.mp4.part becomes video1.mp4. (Not sure if what happens is copy-delete, or rename for final mp4 file.)
Then, ffmpeg is asked to add the metadata. ffmpeg takes video1.mp4 as input, process the mp4 file and creates video1.temp.mp4 as temp-output.
Then video1.mp4 is deleted, and video1.temp.mp4 is renamed as the new video1.mp4.
Where the problem occurrs:
In the step 4 that I just listed is where the error occurrs.
Looking at traceback of the error, at ffmpeg.py, line 536 (os.rename) is the culprit.
What I believe is happening (on step 4 I just listed above):
On line 535 of ffmpeg.py is os.remove.
It begins to remove the video1.mp4 file.
However, while the remove command was received by Windows, and execution has begun, next line is being interpreted by Python.
Next line is 536, os.rename, which will rename video1.temp.mp4 to video1.mp4.
However, when rename command is given to Windows, the remove command is still executing, meaning video1.mp4 still exists.
As such, rename command begin executing, but sees that video1.mp4 already exists, and cancel the renaming raising the FileExistsError.
Thus for os.rename, os.remove is too slow to complete, and for os.remove, os.rename is too fast to execute.
A quick search of os.remove in ffmpeg.py reveals that the same thing could happen in several classes where os.remove is in line n and os.rename is in line n+1.
My fix:
Because it seems to be a delay in the execution of a command when another command is asked to execute, I just added a time.sleep between the os.remove and os.rename.
535 os.remove
536 time.sleep(3)
537 os.rename
Adding that line solved my problem.
Used pyinstaller to get executable.
Downloaded the complete playlist without a problem.
Unique problem? Unique circumstances?
While I think that if it happened to me, it could happen to anyone else too, it could be because of the environment.
My computer is 10 years old. Old hardware tend to get slow over time.
Running processes could also affect, as I had browser open with multiple tabs and was watching a stream.
When deleting an error-causing downloaded video, at the confirmation dialog I saw another dialog behind that seemed to be processing a regular delete-a-file command (I use SHIFT+DEL for deleting) that never completed. Which is why I think os.remove is too slow and os.rename is too quick.
My sugestions to solve the bug:
Add a time.sleep, just like I did, between os.remove and os.rename.
(May be considered a dirt workaround? Still not understanding well that wording.)
Add a removal check. This removal check will verify that the file has been removed/deleted before os.rename is called.
While the file still exists, os.rename will not be interpreted/executed/read/called.
It can't hurt to verify that an action has been completed (if possible at all) before proceeding with a potential conflict.
I did searched on github for similar problems. I found one addressing os.rename in ffmpeg.py, but it was not this problem I found.
My understanding of Python is basic (have coded only few simple scripts for learning the basic concepts.)
Working on a solution myself is currently not possible.
I hope this help in creating a solution.
As far as I know, os.remove is a synchronous operation and should return only after the file is actually deleted. I suspect there is something else going on that is causing the issue
Checklist
Verbose log
LOG A:
LOG B:
Username was edited, replaced with 'user_name'. Descriptions and Comments in metadata shortened (unnecessary text). LOG A an example of output I got. LOG B has debug info.
Description
As far as I know, this happens only when downloading a PL playlist. Have not tried other forms of downloading, such as multiple single videos. Still it is possible to happen in any download that uses ffmpeg.py Problem: When downloading a complete playlist from youtube, I would get the error seen in LOG A and LOG B. It happens randomly. It would download 2-5 videos, then on the 5th video the error occurred. FileExistsError: [WinError 183] Repeated tries gets the same error at the same video. I would delete the 5th video (the one just downloaded when error triggered), and retry. With luck, download continues normally until on the 16th video the same error occurs. Rinse and repeat.
What seems to happen: From what I saw, this is what youtube-dlc does:
Where the problem occurrs: In the step 4 that I just listed is where the error occurrs. Looking at traceback of the error, at ffmpeg.py, line 536 (os.rename) is the culprit.
What I believe is happening (on step 4 I just listed above): On line 535 of ffmpeg.py is os.remove. It begins to remove the video1.mp4 file. However, while the remove command was received by Windows, and execution has begun, next line is being interpreted by Python. Next line is 536, os.rename, which will rename video1.temp.mp4 to video1.mp4. However, when rename command is given to Windows, the remove command is still executing, meaning video1.mp4 still exists. As such, rename command begin executing, but sees that video1.mp4 already exists, and cancel the renaming raising the FileExistsError.
Thus for os.rename, os.remove is too slow to complete, and for os.remove, os.rename is too fast to execute.
A quick search of os.remove in ffmpeg.py reveals that the same thing could happen in several classes where os.remove is in line n and os.rename is in line n+1.
My fix: Because it seems to be a delay in the execution of a command when another command is asked to execute, I just added a time.sleep between the os.remove and os.rename.
Adding that line solved my problem. Used pyinstaller to get executable. Downloaded the complete playlist without a problem.
Unique problem? Unique circumstances? While I think that if it happened to me, it could happen to anyone else too, it could be because of the environment. My computer is 10 years old. Old hardware tend to get slow over time. Running processes could also affect, as I had browser open with multiple tabs and was watching a stream. When deleting an error-causing downloaded video, at the confirmation dialog I saw another dialog behind that seemed to be processing a regular delete-a-file command (I use SHIFT+DEL for deleting) that never completed. Which is why I think os.remove is too slow and os.rename is too quick.
My sugestions to solve the bug:
I did searched on github for similar problems. I found one addressing os.rename in ffmpeg.py, but it was not this problem I found. My understanding of Python is basic (have coded only few simple scripts for learning the basic concepts.) Working on a solution myself is currently not possible. I hope this help in creating a solution.