Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Description
I use youtube-dl to archive YouTube channels. I run the same commands over and over to get new videos. The command I run looks like this (bash variables left in there):
youtubedl --sleep-interval 60 -i --user-agent '${useragent}' --cookies /data/cookies.txt --download-archive ${directory}/archive.txt --write-info-json --write-description --write-thumbnail --socket-timeout 30 --restrict-filenames -o "${directory}/%(uploader_id)s_%(upload_date)s_%(title)s.%(ext)s" $channelUrlThere's certain videos that seem to never download, I don't know why. Maybe it's user error. Here are a few examples:
In my error log, I see things like this regularly:
I would like to have an argument that allows writing the names of error files to a specified file.
--error-archiveAny files that fail to download should be written there. I would like for the format of this file to be the same as the
--download-archivefile format, and be acceptable by another new argument:--exclusion-archiveThe way I see this possibly working is - as CRON runs youtube-dl on schedule, error'd videos get written to the error archive file. Because I would specify the exact same file for
--error-archiveand--exclusion-archive, the next time CRON runs, the error'd files would be excluded. This would allow me to not get flagged by YouTube for too many requests, and not waste YouTube API time, and I can figure out what's happening with these videos at a later date instead of youtube-dl trying over and over.