1
0
Fork
You've already forked yt-tools
0
Record things from YouTube
  • C 68%
  • Shell 32%
Find a file
2024年06月01日 08:43:02 +02:00
.gitignore Initial commit 2024年02月28日 15:49:55 +01:00
compile Initial commit 2024年02月28日 15:49:55 +01:00
curl-cat.c Add configuration, log output, use file locking, keep track of seen videos internally. 2024年03月03日 20:20:10 +01:00
LICENSE_0BSD Initial commit 2024年02月28日 15:49:55 +01:00
Readme.md Tweak Readme 2024年06月01日 08:43:02 +02:00
record-live Add comments describing ignored videos to the done file. 2024年06月01日 08:35:05 +02:00
yt-record Add comments describing ignored videos to the done file. 2024年06月01日 08:35:05 +02:00

Scripts to fetch your YouTube feed and automatically download videos and streams. Copy curl-cat and yt-record into your $PATH and run record-live periodically.

Configuration

  • $BROWSER: optional, will be passed to yt-dlp --cookies-from-browser if set
  • $COOKIES: optional, will be passed to yt-dlp --cookies if set
  • $RECORD_DIR: download directory
  • $RECORD_DONE: path to the file where IDs of downloaded or ignored videos will be appended.
  • $RECORD_MATCH: awk pattern for videos that should be downloaded. Variables id, url, chan, and title are set to the video ID, video URL, channel name, and video title, respectively. status is set to the yt-dlp field live_status.
    Default: status == "is_upcoming" || status == "is_live" (all scheduled and live streams)
  • $RECORD_SUBS: path to the file listing subscribed channel IDs, one per line. Default: ~/.yt/subs

You can extract channel IDs from Google takeout data:

	cut -d, -f1 subscriptions.csv | sed 1d >~/.yt/subs

For example, to download all videos (but not streams) with "FNORD" in the title:

	export RECORD_MATCH='status == "not_live" && title ~ /FNORD/'

Dependencies