id = "yle-dl" name = "yle-dl" homepage = "https://github.com/aajanki/yle-dl" description = "Download videos from Yle servers" executables = ["yle-dl"] [dotfiles] # The project's official README names both default user configuration files; # --config is an explicit override and is not a default dotfile location. # https://github.com/aajanki/yle-dl/blob/master/README.md paths = ["~/.yledl.conf", "~/.config/yledl.conf"] secret = [] side_effect = false [commands] format = 1 label = "Download from Yle" description = "Download an Areena or Elava arkisto stream, or print its URL or title. Config-file, proxy, post-processing and live-stream seek options are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false } [[commands.source]] id = "readme" kind = "help" url = "https://raw.githubusercontent.com/aajanki/yle-dl/HEAD/README.md" revision = "2026-10-27" evidence = """ yle-dl [options] URL * `-o filename` Save stream to the named file * `--latestepisode` Download the latest episodes * `--showurl` Print the URL of the stream, don't download * `--showtitle` Print stream title, don't download * `--sublang lang` Disable subtitles if lang is "none" * `--subtitles-only` Download only subtitle file, skip video and audio * `--resolution res` Maximum vertical resolution in pixels * `--maxbitrate br` Maximum bitrate stream to download, integer in kB/s or "best" or "worst". Not all streams support limited bitrates. * `--destdir dir` Save files to dir * `--pipe` Dump stream to stdout for piping to media player. E.g. `yle-dl --pipe URL | vlc -`. * `-V, --verbose` Show verbose debug output """ [[commands.field]] id = "url" label = "Areena or Elava arkisto URL" type = "url" position = 0 sources = ["readme"] [[commands.field]] id = "output" label = "Output file" type = "path" path = { kind = "file", role = "output" } option = ["-o"] effect = "overwrite" sources = ["readme"] [[commands.field]] id = "destdir" label = "Destination directory" type = "path" path = { kind = "directory", role = "output" } option = ["--destdir"] sources = ["readme"] [[commands.field]] id = "latest" label = "Latest episode only" type = "boolean" option = ["--latestepisode"] sources = ["readme"] [[commands.field]] id = "resolution" label = "Max vertical resolution (pixels)" type = "integer" option = ["--resolution"] sources = ["readme"] [[commands.field]] id = "maxbitrate" label = "Max bitrate (kB/s, best or worst)" type = "string" option = ["--maxbitrate"] suggestions = [{ value = "best", label = "Best" }, { value = "worst", label = "Worst" }] sources = ["readme"] [[commands.field]] id = "sublang" label = "Subtitle language (none disables)" type = "string" option = ["--sublang"] sources = ["readme"] [[commands.field]] id = "subtitles_only" label = "Subtitles only" type = "boolean" option = ["--subtitles-only"] sources = ["readme"] [[commands.field]] id = "showurl" label = "Print stream URL, do not download" type = "boolean" option = ["--showurl"] sources = ["readme"] [[commands.field]] id = "showtitle" label = "Print title, do not download" type = "boolean" option = ["--showtitle"] sources = ["readme"] [[commands.field]] id = "verbose" label = "Verbose output" type = "boolean" option = ["--verbose", "-V"] sources = ["readme"] [[commands.task]] id = "download" label = "Download a stream" fields = ["url", "output", "destdir", "resolution", "latest"] required = ["url"] [[commands.task]] id = "show_url" label = "Show stream URL" fields = ["url", "showurl"] required = ["url", "showurl"] set = { showurl = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["url", "output", "destdir", "latest", "showurl", "showtitle"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["resolution", "maxbitrate", "sublang", "subtitles_only", "verbose"]