So I’m slowly learning how to us yt-dlp and I’m trying to set up a default command to check a number of channels for new videos. Currently I have it set to download the first 10 new vids of each channel, and to skip anything past a certain date, but it takes a while to get to the date information I guess, which adds unnecessary time and checks, especially for channels that don’t have any vids that are new enough.

What I’d like it to do is skip the rest of the channel if it encounters a video that was published outside the given date range, but I’m not finding anything so far. Does this functionality exist? Or am I just out of luck?

My current command looks like this:

yt-dlp -t sleep -I1-10 --dateafter 20251031 --sponsorblock-remove sponsor --format "bestvideo*[filesize<3G]+bestaudio/best" --concurrent-fragments 25 --force-write-archive -o '%(uploader)s-%(upload_date)s-%(title)s [%(id)s].%(ext)s' --download-archive "archive.md" --batch-file "subscriptions.md"

    • EchOP
      link
      fedilink
      arrow-up
      1
      ·
      3 days ago

      From what I can make out, that and the recommended argument (–break-match-filters) rely on a filters list, which doesn’t seem to have a date option of their own. For now I’ve just added the problematic videos to my archive file, so they won’t slow it down anymore, but it feels like it should be possible to halt the script like that. Maybe it’s too niche of an edge case.