Record things from YouTube
| .gitignore | Initial commit | |
| compile | Initial commit | |
| curl-cat.c | Add configuration, log output, use file locking, keep track of seen videos internally. | |
| LICENSE_0BSD | Initial commit | |
| Readme.md | Tweak Readme | |
| record-live | Add comments describing ignored videos to the done file. | |
| yt-record | Add comments describing ignored videos to the done file. | |
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 toyt-dlp --cookies-from-browserif set$COOKIES: optional, will be passed toyt-dlp --cookiesif set$RECORD_DIR: download directory$RECORD_DONE: path to the file where IDs of downloaded or ignored videos will be appended.$RECORD_MATCH:awkpattern for videos that should be downloaded. Variablesid,url,chan, andtitleare set to the video ID, video URL, channel name, and video title, respectively.statusis set to theyt-dlpfieldlive_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/'