Download new videos from YouTube channels with youtube-dl
Tidy up unnecessary borrows etc
Add known issues/missing features to README
Clarify function of timeout configuration


browse  log 



You can also use your local clone with git send-email.


spektilo is a utility for downloading new videos from YouTube channels with youtube-dl.


Install by running cargo install --path . from a source checkout. The project will be uploaded to crates.io when it is ready for a release. As well as the Rust dependencies handled by Cargo, you will need to have youtube-dl installed and available on your $PATH.


You will need to set up a configuration file. By default this is located at $XDG_CONFIG_DIR/spektilo.toml (usually $HOME/.config/spektilo.toml), but this can be overriden with the -c/--config option. A sample configuration file looks like this; both of the global options (base_dir and timeout) are required.

base_dir = "/home/josh/yt" # must be absolute
# timeout only specifies the timeout (in seconds) for fetching
# the Atom feeds from YouTube, not the actual fetching of videos
# use youtube-dl configuration to control that
timeout = 5

rust = "UCaYhcUwRBNscFNUKTjgPFiA"
MozillaDeveloper = "UCh5UlGiu9d6LegIeUCW4N1w"

For each item name = "id" in the subs table, spektilo will create a directory called name under base_dir to download new videos into using youtube-dl. On the first run, it will download all videos referenced in the Atom feed (this is probably not what you want and will be fixed Real Soon Now), but on each run it updates a file (in the base_dir) called .spektilo.state to keep track of successfully downloaded videos.


Send patches[^patches-how], bug reports, thanks, suggestions, and any other feedback directly to me at josh@inv.alid.pw.

[^patches-how]: using git send-email

#Known issues

  • the première feature breaks everything

#Missing features

  • initial run setup
  • skip this video
  • pass custom options through to youtube-dl